Upload
mia-goreham
View
213
Download
0
Embed Size (px)
Citation preview
Microsoft TechDays
BizTalk Services – реализация идеи Internet Serivce BusСергей Звездин[email protected]://blogs.gotdotnet.ru/personal/sergun/
Microsoft TechDays
Что такое сервис?
Microsoft TechDays
Архитектурные проблемы
Именование в распределенных системахШирокомасштабное распространение событийПрохождение через границы NAT/FirewallИнтегрированные аутентификация и авторизация
Microsoft TechDays
Internet Service Bus
Архитектурный подход, при котором существует центральный сервер, который обеспечивает:
Firewall-friendly обмен сообщениямиМасштабируемый pub/sub механизмБезопасность, ориентированную на стандартыОбнаружение сервисовWorkflow
Microsoft TechDays
Internet Service Bus
ISB
………
sb://.../foo
sb://.../foo
Microsoft TechDays
BizTalk Services
BizTalk Services – реализация идеи Internet Service BusРасширения для .NET Framework
Расширения для Window Communication FoundationРасширения для Windows Workflow FoundationИнтеграция с CardSpace и ADFS
Доступно в виде CTP (BizTalk Services) http://labs.biztalk.net
Microsoft TechDays
BizTalk Services != BizTalk Server
BizTalk Services – реализация идеи Internet Service Bus
Microsoft TechDays
BizTalk ServicesB
izTa
lkS
erv
ices
Кл
иент
ы
… ……
Enterprise Services
ESB …
Hosted Services
Web-services, …
Desktop applications Web applications…
Microsoft TechDays
BizTalk ServicesB
izTa
lkS
erv
ices
Кл
иент
ы
………
Enterprise Services
ESB …
Hosted Services
Web-services, …
Desktop applications Web applications…
Identity Federation and Authorization
Naming
Service Registry
Messaging Fabric
Microsoft TechDays
Quick start
http://labs.biztalk.net“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
Contract Setup
[ServiceContract(CallbackContract=typeof(ICallbackContract))]interface ISomeContract { [OperationContract(IsOneWay=true)] void SomeOperation(String input);}
interface ICallbackContract { [OperationContract(IsOneWay=true)] void CallbackOperation(String input);}
Host Service
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();
Connect a Client
SomeCallbackContract cbo = new SomeCallbackContract();
DuplexChannelFactory<ISomeContract> factory = new DuplexChannelFactory<ISomeContract>(cbo);
ISomeContract proxy = factory.CreateChannel();
proxy.SomeOperation(“Hello BizTalk Services");
Console.WriteLine("Sent message to bus");
Microsoft TechDays
BizTalk Services 101
Демонстрация
Microsoft TechDays
BizTalk Services messaging
Pub/Sub через URIs
ISB
………
sb://.../foo
sb://.../foo
sb://.../foo
Microsoft TechDays
BizTalk Services messaging
Направленная передача сообщений через URIs
ISB
………
sb://.../foo/bar
sb://.../foo/bar
sb://.../foo
Microsoft TechDays
BizTalk Services messaging
Прямое подключение
ISB
………
Microsoft TechDays
Direct mode messaging
Демонстрация
Microsoft TechDays
BizTalk Services messaging
Обнаружение
BizTalk Services(Cloud)
………
sb://.../foo
sb://.../bar/baz
http://.../services
Microsoft TechDays
Naming
Root
Domain
Domain
Domain
Name
Name
Name
Name
Name
Name
Microsoft TechDays
Naming
Root
Domain
Scope
Domain
B
C
P
Q
R
A
sb://{scope} /B/Psb://{scope}/B/Qsb://{scope}/A
Microsoft TechDays
WS-Addressing
BizTalk Services поддерживает WS-Addressing
From, To, RelatesTo, FaultTo, ReplyTo, ...Адреса содержаться в сообщениях
В «классическом» WCF поле «To» обычно эквивалентно транспортному адресуВ BizTalk Services, To != транспортный адрес
Транспортный адрес == net.tcp://<cloud address>…To == sb://connect.biztalk.net/services/…
Microsoft TechDays
REST & BizTalk Services
В .NET 3.5 в WCF появилась мощная поддержка RESTRelayBinding не может работать с REST непосредственно и использует SOAPBizTalk Services могут «тунеллировать» HTTP GET внутри SOAP сообщений
Microsoft TechDays
Технологии
ISB REST – Picture Sharing
ISB
………
ClientPicture Store
Microsoft TechDays
BizTalk Services & RESTFile Sharing
Демонстрация
Microsoft TechDays
Identity & Access Control
Identity & access controlInteroperable (WS-Trust)Интегрированная HTTP аутентификацияУправление через web-страницу или API
Гибкий провайдер проверки подлинности:
CardSpace, LiveID, Username/PasswordОпции проверки подлинности устанавливаются через IEndpointBehavior
CardSpaceTokenProviderUsernameTokenProvider
Microsoft TechDays
Ресурсы
http://labs.biztalk.net/http://labs.biztalk.net/DownloadSDK.aspxhttp://www.identityblog.com/
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.