Download presentation
Presentation is loading. Please wait.
1
Justin Smith http://blogs.msdn.com/justinjsmith
3
How do I expose a service broadly? Callbacks on the client, across organizational boundaries, etc. How do I keep from building identity and access control silos? Within a service itself, or within an organization How do I interop in a heterogeneous environment? Multiple vendors and/or REST How do I orchestrate many service calls?
4
Services hosted by Microsoft for: Firewall friendly messaging Scalable pub/sub engine for the internet Standards-based security HTTP/REST transformations Discoverability Workflow over services (coming soon) Currently in CTP (BizTalk Services) Available at http://biztalk.net http://biztalk.net
7
BizTalk Services Clients … … … Fabrikam Services Northwind Services Contoso Services
8
1. Go to http://labs.biztalk.net http://labs.biztalk.net 2. Click “Create an Account” Enter username / password for BizTalk Services Associate CardSpace cards with account 3. Download and install BizTalk Services SDK WCF binding, helper classes, samples.NET Fx 3.0 and 3.5 compatible
9
Build a WCF contract One-way, duplex, Request-reply, simple or complex data types, session settings, etc. [ServiceContract(CallbackContract=typeof(ICallbackContract))] interface ISomeContract { [OperationContract(IsOneWay=true)] void SomeOperation(String input); } // assume SomeContract implements ISomeContract interface ICallbackContract { [OperationContract(IsOneWay=true)] void CallbackOperation(String input); } // assume SomeCallbackContract implements ICallbackContract
10
Connect to BizTalk Services as per WCF model Security options via IEndpointBehavior RelayBinding rb = new RelayBinding(); CardSpaceTokenProvider csp = new CardSpaceTokenProvider(); String rootName = csp.GetUserName(); Uri address = new Uri(“sb://connect.biztalk.net/services/justin/foo”); ServiceHost sh = new ServiceHost(typeof(SomeContract)); ServiceEndpoint ep = sh.AddServiceEndpoint(typeof(ISomeContract), rb, address); ep.Behaviors.Add(csp); sh.Open();
11
Connect to BizTalk Services as per WCF model Security options via IEndpointBehavior SomeCallbackContract cbo = new SomeCallbackContract(); DuplexChannelFactory factory = new DuplexChannelFactory (cbo); ISomeContract proxy = factory.CreateChannel(); proxy.SomeOperation(“Hello BizTalk Services"); Console.WriteLine("Sent message to bus");
13
Evolution toward “Software + Services” Integral in Microsoft’s vision Composite applications that span systems Feedback from customers and partners Cross enterprise or non-addressable clients Simplify federating security To open the door for new applications Connectivity currently domain specific Similar work replicated across domains
14
Messaging (http://connect.biztalk.net) Applications create public addresses Identity provides simple access control Identity (http://identity.biztalk.net) Delegate identity and access control Federated identity (CardSpace, ADFS) Username and password Workflow (coming soon) Pre-defined activities, very early stage development
15
ISB … … … sb://.../foo
16
ISB … … … sb://.../foo/bar sb://.../foo
17
ISB … … …
18
Services can opt-in to discoverable syndication URI-centric design natural for relationships BizTalk Services (Cloud) … … … sb://.../foo sb://.../bar/baz http://.../services
19
BizTalk Services embraces WS-Addressing From, To, RelatesTo, FaultTo, ReplyTo, etc. Addresses persisted in the Message In WCF, To often equals the transport address In BizTalk Services, To != transport address Transport Address == net.tcp:// … To == sb://connect.biztalk.net/services/… Enables rich one way messaging patterns
20
Simple REST definition Embrace the URI, HTTP GET is special, ContentType is the data model WCF in.NET Fx 3.5 has cool REST capabilities RelayBinding is not directly interoperable and uses SOAP BizTalk Services can tunnel HTTP GET over SOAP messages to a running service.NET Fx 3.5 OM compatibility in later version
21
ISB … … … ClientPicture Store
24
Delegate identity & access control Claims transformation engine (claims in / out) Interoperable (WS-Trust) Federated HTTP Authentication Manage through web page and/or API Flexible identity provider: CardSpace, LiveID, Username/Password Identity options set by an IEndpointBehavior CardSpaceTokenProviderUsernameTokenProvider
26
Remote Contractor Contoso Factory Factory Workers Host and Robot Authorization Service (Internet Service Bus)
28
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.