Presentation is loading. Please wait.

Presentation is loading. Please wait.

Justin Smith

Similar presentations


Presentation on theme: "Justin Smith"— Presentation transcript:

1 Justin Smith http://blogs.msdn.com/justinjsmith

2

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

5

6

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");

12

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

22

23

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

25

26 Remote Contractor Contoso Factory Factory Workers Host and Robot Authorization Service (Internet Service Bus)

27

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.


Download ppt "Justin Smith"

Similar presentations


Ads by Google