windows communication foundation – путь к версии 4

21

Upload: kadeem-cooke

Post on 30-Dec-2015

52 views

Category:

Documents


2 download

DESCRIPTION

Windows Communication Foundation – путь к версии 4. Марат Бакиров Эксперт по разработке ПО Microsoft Rus , Ekaterinburg http://blogs.msdn.com/mbakirov. Распределенные приложения. Сеть организации. Сервер Баз данных. Клиент. Сервер. Другой сервер. Интернет. Другой сервер. Сервер. - PowerPoint PPT Presentation

TRANSCRIPT

Microsoft TechDays

Windows Communication Foundation – путь к версии 4Марат БакировЭксперт по разработке ПОMicrosoft Rus, Ekaterinburghttp://blogs.msdn.com/mbakirov

Microsoft TechDays

Распределенные приложения

Клиент

Сервер

Сеть организации

Клиент

Сервер

Интернет

СерверБаз

данных

Другойсервер

Другойсервер

Другой сервер

Microsoft TechDays

POST /AccountAccess/Accounts.svcHost: www.quickbank.comSOAPAction: GetBalance…<soap:Envelope xmlns:soap= … <soap:Body> <GetBalance xmlns= … <Account>100</Account> </GetBalance> </soap:Body></soap:Envelope>

Клиент Сервис

Account 1

Account 2

Account 3

Подход SOAP

WSDL

Microsoft TechDays

Подход к программированию.

Server

GetBalance(int AccountId)

Client Proxy

GetBalance(int AccountId)

Client App

POST /AccountAccess/Accounts.svcHost: www.quickbank.comSOAPAction: GetBalance…<soap:Envelope xmlns:soap= … <soap:Body> <GetBalance xmlns= … <Account>2</Account> </GetBalance> </soap:Body></soap:Envelope>

GetBalance(2)

. . . <Balance> 100 </Balance>. . .

100$

Microsoft TechDays

Address, Binding, Contract Адрес, Связывание, Контракт

Клиент Сервис

СообщениеABC A B C

A B C

Address Binding Contract

(Где) (Как) (Что)

Microsoft TechDays

WCF Service

WCF Client

HTTP, TCP, MSMQ, etc.

Transport Channel

Transport Channel

КОД

КОДИРОВКА

EXTRA

КОД

КОДИРОВКА

EXTRA

WCF (Windows Communication Foundation) - реализация

WCF основан на слоях Стандартные слои

Код, сообщения (кодировки),транспортный

Microsoft TechDays

Cool

Один раз пишем код логики, используем (одновременно) разные транспорты.Можно с помощью конфигурации менять порты, адреса, etc.Можно один раз писать код сервиса, и выдавать несколько точек входа (endpoints)Можно обойтись без IIS (консольное приложение или сервис)Много стандартных настроек совместимых с ws-*, MSMQ и т.п.

Microsoft TechDays

Контракт сервиса (WCF 3.0)[ServiceContract]public interface IBalancer{ [OperationContract] Double GetBalance (int AccountId);

[OperationContract] CusttomerDesc GetCustomer (int AccountId);

}

Microsoft TechDays

Сервер

GET www.quickbank.com/Accounts/2

Account 1

Account 2

Account 3

Подход REST

Клиент

<Account> <Name>ZAO MMM</Name> <Owner>Mavrodi</Owner></Account>

Microsoft TechDays

Контракт сервиса (WCF 3.5)[ServiceContract]public interface IBalancer{ [OperationContract] [WebGet(UriTemplate = "Accounts/{AccountId})")] Acccount GetAccount (string AccountId);

[OperationContract] [WebGet(UriTemplate = "Accounts")] Double[] GetCustomers();

[OperationContract] // это для силверлайта [WebGet(UriTemplate = "/clientacccesspolicy.xml")] Stream GetClientPolicy();}

Microsoft TechDays

Astoria.

Server

Customers Orders

….

Client Proxy

Customers*Orders*

…..

Client App

http://service/Accounts?q=....

From Accounts where AccountId=2 select Account

<Account> <Name>ZAO MMM</Name> <Owner>Mavrodi</Owner></Account>

Account ZAO MMM MAvrodi

Microsoft TechDays

Cool

Syndication (почти готовые шаблоны для RSS/Atom)Поддержка JSON и XML

JSON = {“firstnamename”:”vasya”,”lastname”:”pupkin”}

VS 2008: Поддержка для генерации прокси для JavaScript

Microsoft TechDays

WCF REST Starter Kit

HelpHTTP Accept Request HeaderДекларативное кешированиеHttpClientШаблоны

Atom Feed WCF Service REST Singleton WCF ServiceREST Collection WCF Service Atom Publishing Protocol WCF Service HTTP Plain XML WCF Service

Microsoft TechDays

Microsoft TechDays

Microsoft TechDays

WCF 4.0

Упрощенная конфигурация (можно не писать половину того что мы пишем в app.config)Хостинг в IIS без SVC.UDP обнаружениеRouter (декларативные и императивные фильтры)Улучшенная поддержка RESTУлучшенная интеграция с Workflow

Microsoft TechDays

Конфигурация .NET3.5

Microsoft TechDays

Конфигурация - .NET4

Microsoft TechDays

Итоги + ссылки

Архитектура WCF не претерпевает существенных изменений.Что означает, что она удачна.

Ссылкиhttp://msdn.microsoft.com/wcfhttp://msdn.microsoft.com/wcf/rest