Microsoft TechDays Сергей Звездин
Microsoft TechDays
Именование в распределенных системах Широкомасштабное распространение событий Прохождение через границы NAT/Firewall Интегрированные аутентификация и авторизация
Microsoft TechDays Архитектурный подход, при котором существует центральный сервер, который обеспечивает: Firewall-friendly обмен сообщениями Масштабируемый pub/sub механизм Безопасность, ориентированную на стандарты Обнаружение сервисов Workflow
Microsoft TechDays ISB … … … sb://.../foo
Microsoft TechDays BizTalk Services – реализация идеи Internet Service Bus Расширения для.NET Framework Расширения для Window Communication Foundation Расширения для Windows Workflow Foundation Интеграция с CardSpace и ADFS Доступно в виде CTP (BizTalk Services)
Microsoft TechDays BizTalk Services – реализация идеи Internet Service Bus
Microsoft TechDays Enterprise Services ESB… Hosted Services Web-services, … Desktop applications Web applications …
Microsoft TechDays Enterprise Services ESB… Hosted Services Web-services, … Desktop applications Web applications … Identity Federation and Authorization NamingNaming Service Registry Messaging Fabric
Microsoft TechDays Create an Account Указываем username / password для BizTalk Services Ассоциируем карты CardSpace с учетной записью BizTalk Service Загружаем и устанавливаем BizTalk Services SDK WCF binding, helper classes, samples.NET Fx 3.0 and 3.5 compatible
[ServiceContract(CallbackContract=typeof(ICallbackContract))] interface ISomeContract { [OperationContract(IsOneWay=true)] void SomeOperation(String input); } interface ICallbackContract { [OperationContract(IsOneWay=true)] void CallbackOperation(String input); }
RelayBinding rb = new RelayBinding(); TransportClientEndpointBehavior behavior = new TransportClientEndpointBehavior(); behavior.CredentialType = TransportClientCredentialType.CardSpace; string userName = behavior.Credentials.CardSpace.GetUserName(); Uri address = new Uri(sb://connect.biztalk.net/services/sergun/service1); ServiceHost sh = new ServiceHost(typeof(SomeContract)); ServiceEndpoint ep = sh.AddServiceEndpoint(typeof(ISomeContract), rb, address); ep.Behaviors.Add(behavior); sh.Open();
SomeCallbackContract cbo = new SomeCallbackContract(); DuplexChannelFactory factory = new DuplexChannelFactory (cbo); ISomeContract proxy = factory.CreateChannel(); proxy.SomeOperation(Hello BizTalk Services"); Console.WriteLine("Sent message to bus");
Microsoft TechDays BizTalk Services 101
Microsoft TechDays Pub/Sub через URIs ISB … … … sb://.../foo
Microsoft TechDays Направленная передача сообщений через URIs ISB … … … sb://.../foo/bar sb://.../foo
Microsoft TechDays Прямое подключение ISB … … …
Microsoft TechDays Direct mode messaging
Microsoft TechDays Обнаружение BizTalk Services (Cloud) … … … sb://.../foo sb://.../bar/baz
Microsoft TechDays Root Domain Name
Microsoft TechDays Root Domai n Scope Domai n B B C C P P Q Q R R A A sb://{scope} /B/P sb://{scope}/B/Qsb://{scope}/B/Q sb://{scope}/Asb://{scope}/A
Microsoft TechDays BizTalk Services поддерживает WS-Addressing From, To, RelatesTo, FaultTo, ReplyTo,... Адреса содержаться в сообщениях В «классическом» WCF поле «To» обычно эквивалентно транспортному адресу В BizTalk Services, To != транспортный адрес Транспортный адрес == net.tcp:// … To == sb://connect.biztalk.net/services/…
Microsoft TechDays В.NET 3.5 в WCF появилась мощная поддержка REST RelayBinding не может работать с REST непосредственно и использует SOAP BizTalk Services могут «тунеллировать» HTTP GET внутри SOAP сообщений
Microsoft TechDays ISB REST – Picture Sharing ISB … … … ClientPicture Store
Microsoft TechDays BizTalk Services & REST File Sharing
Microsoft TechDays Identity & access control Interoperable (WS-Trust) Интегрированная HTTP аутентификация Управление через web-страницу или API Гибкий провайдер проверки подлинности: CardSpace, LiveID, Username/Password Опции проверки подлинности устанавливаются через IEndpointBehavior CardSpaceTokenProvider UsernameTokenProvider
Microsoft TechDays ISB Security Concepts
Microsoft TechDays
Microsoft TechDays © 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.