30
Microsoft TechDays

Microsoft TechDays Сергей Звездин [email protected]

Embed Size (px)

Citation preview

Page 1: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com
Page 2: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

BizTalk Services – реализация идеи Internet Serivce BusСергей Звездин[email protected]://blogs.gotdotnet.ru/personal/sergun/

Page 3: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

Что такое сервис?

Page 4: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

Архитектурные проблемы

Именование в распределенных системахШирокомасштабное распространение событийПрохождение через границы NAT/FirewallИнтегрированные аутентификация и авторизация

Page 5: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

Internet Service Bus

Архитектурный подход, при котором существует центральный сервер, который обеспечивает:

Firewall-friendly обмен сообщениямиМасштабируемый pub/sub механизмБезопасность, ориентированную на стандартыОбнаружение сервисовWorkflow

Page 6: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

Internet Service Bus

ISB

………

sb://.../foo

sb://.../foo

Page 7: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

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

Page 8: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

BizTalk Services != BizTalk Server

BizTalk Services – реализация идеи Internet Service Bus

Page 9: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

BizTalk ServicesB

izTa

lkS

erv

ices

Кл

иент

ы

… ……

Enterprise Services

ESB …

Hosted Services

Web-services, …

Desktop applications Web applications…

Page 10: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

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

Page 11: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

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

Page 12: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Contract Setup

[ServiceContract(CallbackContract=typeof(ICallbackContract))]interface ISomeContract { [OperationContract(IsOneWay=true)] void SomeOperation(String input);}

interface ICallbackContract { [OperationContract(IsOneWay=true)] void CallbackOperation(String input);}

Page 13: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

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

Page 14: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

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

Page 15: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

BizTalk Services 101

Демонстрация

Page 16: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

BizTalk Services messaging

Pub/Sub через URIs

ISB

………

sb://.../foo

sb://.../foo

sb://.../foo

Page 17: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

BizTalk Services messaging

Направленная передача сообщений через URIs

ISB

………

sb://.../foo/bar

sb://.../foo/bar

sb://.../foo

Page 18: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

BizTalk Services messaging

Прямое подключение

ISB

………

Page 19: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

Direct mode messaging

Демонстрация

Page 20: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

BizTalk Services messaging

Обнаружение

BizTalk Services(Cloud)

………

sb://.../foo

sb://.../bar/baz

http://.../services

Page 21: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

Naming

Root

Domain

Domain

Domain

Name

Name

Name

Name

Name

Name

Page 22: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

Naming

Root

Domain

Scope

Domain

B

C

P

Q

R

A

sb://{scope} /B/Psb://{scope}/B/Qsb://{scope}/A

Page 23: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

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/…

Page 24: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

REST & BizTalk Services

В .NET 3.5 в WCF появилась мощная поддержка RESTRelayBinding не может работать с REST непосредственно и использует SOAPBizTalk Services могут «тунеллировать» HTTP GET внутри SOAP сообщений

Page 25: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

Технологии

ISB REST – Picture Sharing

ISB

………

ClientPicture Store

Page 26: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

BizTalk Services & RESTFile Sharing

Демонстрация

Page 27: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

Identity & Access Control

Identity & access controlInteroperable (WS-Trust)Интегрированная HTTP аутентификацияУправление через web-страницу или API

Гибкий провайдер проверки подлинности:

CardSpace, LiveID, Username/PasswordОпции проверки подлинности устанавливаются через IEndpointBehavior

CardSpaceTokenProviderUsernameTokenProvider

Page 28: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Microsoft TechDays

Ресурсы

http://labs.biztalk.net/http://labs.biztalk.net/DownloadSDK.aspxhttp://www.identityblog.com/

Page 29: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.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.

Page 30: Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com