Microsoft TechDays Марат Бакиров Эксперт по разработке ПО Microsoft Rus, Ekaterinburg
Microsoft TechDays КлиентСервер Сеть организации Клиент Сервер Интернет Сервер Баз данных Другойсервер Другойсервер Другой сервер
Microsoft TechDays POST /AccountAccess/Accounts.svc Host: SOAPAction: GetBalance …
Microsoft TechDays Server GetBalance(int AccountId) Server Client Proxy GetBalance(int AccountId) Client Proxy GetBalance(int AccountId) Client App POST /AccountAccess/Accounts.svc Host: SOAPAction: GetBalance …
Microsoft TechDays КлиентСервис Сообщение ABCABC ABC AddressBindingContract (Где) (Как) (Что)
Microsoft TechDays WCF Service WCF Client HTTP, TCP, MSMQ, etc. Transport Channel КОД КОДИРОВКА EXTRA КОД КОДИРОВКА EXTRA WCF основан на слоях Стандартные слои Код, сообщения (кодировки),транспортный
Microsoft TechDays Один раз пишем код логики, используем (одновременно) разные транспорты. Можно с помощью конфигурации менять порты, адреса, etc. Можно один раз писать код сервиса, и выдавать несколько точек входа (endpoints) Можно обойтись без IIS (консольное приложение или сервис) Много стандартных настроек совместимых с ws-*, MSMQ и т.п.
Microsoft TechDays [ServiceContract] public interface IBalancer { [OperationContract] Double GetBalance (int AccountId); [OperationContract] CusttomerDesc GetCustomer (int AccountId); }
Microsoft TechDays Сервер GET Account 1 Account 2 Account 3 Клиент ZAO MMM Mavrodi ZAO MMM Mavrodi
Microsoft TechDays [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 ServerCustomersOrders….ServerCustomersOrders…. Client Proxy Customers*Orders*….. Customers*Orders*….. Client App From Accounts where AccountId=2 select Account ZAO MMM Mavrodi ZAO MMM Mavrodi Account ZAO MMM MAvrodi Account ZAO MMM MAvrodi
Microsoft TechDays Syndication (почти готовые шаблоны для RSS/Atom) Поддержка JSON и XML JSON = {firstnamename:vasya,lastname:pupkin} VS 2008: Поддержка для генерации прокси для JavaScript
Microsoft TechDays Help HTTP Accept Request Header Декларативное кеширование HttpClient Шаблоны Atom Feed WCF Service REST Singleton WCF Service REST Collection WCF Service Atom Publishing Protocol WCF Service HTTP Plain XML WCF Service
Microsoft TechDays
Упрощенная конфигурация (можно не писать половину того что мы пишем в app.config) Хостинг в IIS без SVC. UDP обнаружение Router (декларативные и императивные фильтры) Улучшенная поддержка REST Улучшенная интеграция с Workflow
Microsoft TechDays
Архитектура WCF не претерпевает существенных изменений. Что означает, что она удачна. Ссылки