Использование Windows Communication Foundation на предприятии

-1

No comments posted yet

Comments

Slide 10

End points have 3 parts: Address, Binding, and Контракт. Address, URI Binding: transport, encoding, protocols used Контракт: What endpoint does, what actions it understands what schemas are expected

Slide 12

WCF применяет компонентую архитектуру. У нас имеются транспортный слой, слой кодирования (binary/text), слой безопасности и дополнительные слои. Фактически, binding – это набор компонентов. Например, мы могли бы выбрать http транспорт , добавить туда безопасность (https/ssl), или взять tcp транспорт или даже произвольный канал. Я видел даже протоколы взаимодействия по pop3/smtp! После чего мы выбираем необходимое нам поведение сервиса – например. Необходимость подключения распределенных транзакций, режим создания обьектов сервиса (instancecontextmode - session mode – percall, single, persession)

Slide 13

Байндинг – ключевой в понимании взаимодействия.

Slide 14

А что будет с существующими технологиями? Что интересует TDM и разработчиков? Стоимость и сроки разработки внедрения – универсальность.

Slide 31

MSMQ Transport Channel Поддержка очередей между приложениями WCF SOAP сообщение внутри сообщения MSMQ Поддерживает новую схему адресации MSMQ Integration Channel Взаимодействие между приложениями MSMQ и WCF Классическое сообщение MSMQ Поддерживает все схемы адресации MSMQ

Slide 32

WCF Клиентs can communicate with existing MSMQ applications without receiver modification SOAP messages are converted to MSMQ messages by the channel Places classic MSMQ message on the wire

Slide 1

Инструкции для докладчика Должны быть заполнены свойства файла pptx (автор, название, тема, поле комментарии должно содержать аннотацию В презентации нужно избегать излишней анимации, т.к. это помешает успешной трансляции через LiveMeeting Файл презентации должен называться, как код доклада (например IS-D206.pptx

Slide 5

Использование Windows Communication Foundation на предприятии Марат Бакиров Майкрософт

Slide 6

Содержание Введение Обзор текущих технологий Обзор WCF Взаимодействие Управление и трассировка

Slide 7

Введение

Slide 8

Свои плюсы и минусы Заказчики хотят универсальную технологию Reliable Services Interoperable Transactions Services Interoperable ASP.NET Integration Objects Extensible CLR Integration Components Transactions COM+ Integration Queuing Reliable Msg MSMQ Integration Современные технологии

Slide 9

WCF это дальнейшая эволюция

Slide 10

Обзор WCF – ABC (Address, Binding, Contract) Сервис C B A C B A Клиент A B C Address Где? Контракт Что умеет? Binding Как? Endpoint C B A

Slide 11

Receiver Channels Архитектура: Слои,слои, слои Sender Proxy Sender Application Dispatcher Receiver Application Channel Layer ServiceModel Layer Channels

Slide 12

Модель сервиса Модель сообщений Поведение Каналы Компонентная архитектура слоя каналов

Slide 13

Стандартные привязки (Bindings) T = Transport Security | S = WS-Security

Slide 14

Web сервисами Взаимодействие с

Slide 15

Слои совместимости Протоколы приложений Определен в WCF контрактах Взаимодействие определяется с помощью WSDL Протоколы инфраструктуры Определяется с помощью bindings Элементы привязки – Security, Reliability, Transactions, Encoding WS-*, WS-Policy

Slide 16

Протоколы приложений Используйте контракты ServiceContract,OperationContract, DataContract, MessageContract, Для соответствия WS-I Basic Profile 1 Style = document, use = literal, wrap messages Избегайте несовместимых вещей Duplex Сессии можно (WS-*) Явно прописывать namespace, в том числе и в реализации сервиса

Slide 17

Примеры [ServiceContract(Namespace="http://platforma2008.ru/D-DT205")] [DataContractFormat(Style=OperationFormatStyle.Document)] public interface IService1 { [OperationContract] int Calc(int a, int b, Person p); } [DataContract(Namespace = "http://platforma2008.ru/D-DT205")] public class Person { [DataMember] public string Name { get; set; } [DataMember] public string LastName { get; set; } }

Slide 18

Примеры <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> … </s:Header> <s:Body> <Calc xmlns="http://platforma2008.ru/D-DT205"> <a>11</a> <b>12</b> <p xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <LastName>Pupkin</LastName> <Name>vasya</Name> </p> </Calc> </s:Body> </s:Envelope>

Slide 19

[DataContractFormat(Style=Rpc)] <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> … </s:Header> <s:Body> <Calc xmlns="http://platforma2008.ru/D-DT205"> <a xmlns="">11</a> <b xmlns="">12</b> <p xmlns="" xmlns:a="http://platforma2008.ru/D-DT205" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <a:LastName>Pupkin</a:LastName> <a:Name>vasya</a:Name> </p> </Calc> </s:Body> </s:Envelope>

Slide 20

[[XmlSerializerFormat(Style =Rpc, Use =Encoded)])] <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> … </s:Header> <s:Body s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <q1:Calc xmlns:q1="http://platforma2008.ru/D-DT205"> <a xsi:type="xsd:int">11</a> <b xsi:type="xsd:int">12</b> <p href="#id1" /> </q1:Calc> <q2:Person id="id1" xsi:type="q2:Person" xmlns:q2="http://platforma2008.ru/D-DT205/encoded"> <Name xsi:type="xsd:string">vasya</Name> <LastName xsi:type="xsd:string">Pupkin</LastName> </q2:Person> </s:Body> </s:Envelope>

Slide 21

Протоколы и нфраструктуры basicHttpBinding wsHttpBinding WSE 2.0 – не совместимо WSE 3.0 – совместимо Использует WS-* стандарты

Slide 22

Демонстрация Взаимодействие с J2EE

Slide 23

Взаимодействие с COM+

Slide 24

Взаимодействие с COM+/ES Приложения COM+ превращаются в WCF сервисы Можно обеспечить доступ новых клиентов Только конфигурация! Без кодирования! COM proxy & Service moniker for WCF Services Старые клиентs могут добраться до старых сервисов

Slide 25

Приложение COM+ App в качестве сервиса WCF IIS Три модели хостинга Com+ hosted Web hosted (сервис – в IIS, компоненты – в выделенном COM+ ) WCF умеет генерировать Сервис для приложений COM+ ComSvcConfig COM+ Integration Wizard ComSvcConfig.exe /install /application:BookSample /Контракт:BookLogic.Finance,IFinance /hosting:was /mex

Slide 26

Использование сервисов в COM Типизированный клиент: Генерируем с помошью SvcUtil сборку, видимую в COM+ Используем COM “service” moniker для указания адреса и привязки(binding) Динамический клиент: Все через “service” moniker , вкоторм указываем WSDL или используем Metadata Exchange

Slide 27

Использование сервисов в COM Типизированный клиент Генерируем cs клиент: SvcUtil.exe http://myServer/RetailService/ Предоставляем COM видимость: [assembly: ComVisible(true)] Регистрируем типы в COM: regasm.exe /tlb:RetailClient.tlb RetailClient.dll Dim monikerClient As IRetailProxy set monikerClient = GetObject( "service:address=http://myServer/RetailService/, binding=wsHttpBinding") currStock = monikerClient.GetStockLevel("ID:223")

Slide 28

Использование сервисов в COM динамический клиент Без специальной регистрации Client assembly built on the fly Suitable for document and script scenarios Dim monikerClient As Object wsdlStr = "<?xml ... " Set monikerClient = GetObject( "service:address=http://myServer/RetailService/, wsdl='" & wsdlStr & "', binding=wsHttpBinding, contract=IWarehouse") currStock = monikerClient.GetStockLevel("ID:223")

Slide 29

Демонстрация Взаимодействие с COM+

Slide 30

MSMQ Взаимодействие с

Slide 31

Поддержка очередей в WCF MSMQ Transport Channel Поддержка очередей между приложениями WCF SOAP сообщение внутри сообщения MSMQ MSMQ Integration Channel Взаимодействие между приложениями MSMQ и WCF Классическое сообщение MSMQ Использует MsmqMessage<T>

Slide 32

WCF Клиент MSMQ Сервис Store WCF Клиент Store Queue Manager MSMQ Сервис Queue Manager Integration Channel QM to QM transfer App .config

Slide 33

MSMQ Клиент WCF Сервис Store WCF Сервис Store Queue Manager MSMQ Клиент Queue Manager Integration Channel QM to QM transfer App .config

Slide 34

Демонстрация Взаимодействие с MSMQ

Slide 35

УПРАВЛЕНИЕ Конфигурируемость Трассировка WMI Счетчики производительности

Slide 36

Демонстрация Управление

Slide 37

Демонстрация Name of the demo

Slide 38

ВИДЕО Name of the video

Slide 39

Итог Введение Обзор текущих технологий Обзор WCF Взаимодействие WebServices COM+ MSMQ Управление и трассировка WCF можно пробовать на работе, плавно мигрируя на новую технологию

Slide 40

Дополнительная информация http://Wcf.netfx3.com http://www.thatindigogirl.com http://blogs.msdn.com/motleyqueue/ http://blogs.msdn.com/justinjsmith/

Slide 41

Вопросы? Марат Бакиров ООО Майкрософт Рус i-maratb@microsoft.com http://blogs.gotdotnet.ru/personal/mbakirov 14-15, стенд «спроси Эксперта», зона «Средства Разработки»

Slide 42

© 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.

Summary: Марат Бакиров, Платформа 2008, https://platforma2008.ru

Tags: development tools platform 2008 conference

URL: