Разделы презентаций


Знакомство с Windows Communication Foundation

Содержание

Содержание Проектирование приложений в стиле SOAОбзор архитектуры WCFИспользование интерфейсов как сервисных контрактов.Реализация простого WCF сервиса в Visual Studio 2008Реализация простого WCF клиента в Visual Studio 2008Лабораторная работа: Создание простого WCF сервиса.

Слайды и текст этой презентации

Слайд 1Модуль 1: Знакомство с Windows Communication Foundation

{Спицын Александр Геннадьевич}
Ведущий разработчик

отдела разработки ПО ФТС, MCPD(EA)
{e-mail: sag@acs-it.ru}


Модуль 1:  Знакомство с Windows Communication Foundation{Спицын Александр Геннадьевич}Ведущий разработчик отдела разработки ПО ФТС, MCPD(EA){e-mail: sag@acs-it.ru}

Слайд 2Содержание
Проектирование приложений в стиле SOA
Обзор архитектуры WCF
Использование интерфейсов как

сервисных контрактов.
Реализация простого WCF сервиса в Visual Studio 2008
Реализация простого

WCF клиента в Visual Studio 2008
Лабораторная работа: Создание простого WCF сервиса.
Содержание Проектирование приложений в стиле SOAОбзор архитектуры WCFИспользование интерфейсов как сервисных контрактов.Реализация простого WCF сервиса в Visual

Слайд 3Урок 1: Разработка приложений в стиле СОА
Преимущества сервис ориентированной архитектуры
Разработка

SOA приложений
WCF и SOA
WCF в контексте SOA

Урок 1: Разработка приложений в стиле СОАПреимущества сервис ориентированной архитектурыРазработка SOA приложенийWCF и SOAWCF в контексте SOA

Слайд 4История развития методологий
Функциональный подход
Объектно-ориентированное программирование
Компонентно-ориентированное программирование
Служебно-ориентированное программирование

История развития методологийФункциональный подходОбъектно-ориентированное программированиеКомпонентно-ориентированное программированиеСлужебно-ориентированное программирование

Слайд 5Служебно-ориентированные приложения
Приложение
Служба
Служба
Служба



Объекты, компоненты

Служебно-ориентированные приложенияПриложениеСлужбаСлужбаСлужбаОбъекты, компоненты

Слайд 6Преимущества сервис ориентированной архитектуры
Взаимодействие базируется на межотраслевых стандартах.
Служебно-ориентированные программы более

устойчивы к ошибкам.
Избавляют разработчика от возни с вторичным кодом и

позволяет сосредоточиться на бизнес-логике.

Межтехнологическая совместимость. При написании обычно не нужно думать на какой платформе написан клиент.

Беспроблемный переход через границы( границы безопасности, географические, организационные, временные, транзакционные …) благодаря стандарту, основанному на базе обмена сообщениями

Преимущества сервис ориентированной архитектурыВзаимодействие базируется на межотраслевых стандартах.Служебно-ориентированные программы более устойчивы к ошибкам.Избавляют разработчика от возни с

Слайд 7WCF & SOA
WCF поддерживает SOA:
Разработчикам нет необходимости изучать WSDL
Множества

функционала реализует среда выполнения
Существуют приложения облегчающие создание сервисов и клиентов.
Однако:
То,

что вы лишь предоставляете функционал службы через Web сервис не означает, что вы создаете приложение в стиле SOA
SOA помогает проектировать сервисы, а WCF предоставляет возможность реализовывать данные сервисы.
WCF & SOAWCF поддерживает SOA:Разработчикам нет необходимости изучать WSDL Множества функционала реализует среда выполненияСуществуют приложения облегчающие создание

Слайд 8Каноны и принципы
Четкие границы служб.
Автономность служб.
Службы предоставляют контракты операций и

схемы данных, а не метаданные, специфические для конкретных типов технологий.
Совместимость

служб определяется политикой.

Каноны и принципыЧеткие границы служб.Автономность служб.Службы предоставляют контракты операций и схемы данных, а не метаданные, специфические для

Слайд 9Практические принципы
Службы должны быть безопасными.
Службы должны оставлять систему в стабильном

состоянии.
Службы должны быть потоково-безопасными.
Службы должны быть надежными.
Службы должны быть устойчивы

к ошибкам.

Практические принципыСлужбы должны быть безопасными.Службы должны оставлять систему в стабильном состоянии.Службы должны быть потоково-безопасными.Службы должны быть надежными.Службы

Слайд 10Необязательные принципы
Службы должны быть совместимы
Службы должны быть масштабно-инвариантны.
Службы должны быть

доступны.
Службы должны обладать доступным временем отклика.
Службы должны работать в нормальных

временных рамках.
Необязательные принципыСлужбы должны быть совместимыСлужбы должны быть масштабно-инвариантны.Службы должны быть доступны.Службы должны обладать доступным временем отклика.Службы должны

Слайд 11WCF в контексте SOA
Пример: приложение для абстрактного заказчика
Уровень языка:
Объекты заказчика,

хранимые в базе данных
Бизнес правила (например хранимые процедуры)
Workflow
Стандартные типы .NET

Framework

Уровень языка:

Объекты заказчика, хранимые в базе данных
Бизнес правила (например хранимые процедуры)
Workflow
Стандартные типы .NET Framework

Уровень службы:

Напоминает бизнес фасад с иными, более дружественными к сервисам типами
Методы службы больше похожи на определенные бизнес функции и скрывают обращение к нескольким функциям уровня языка

WCF в контексте SOAПример: приложение для абстрактного заказчикаУровень языка:Объекты заказчика, хранимые в базе данныхБизнес правила (например хранимые

Слайд 12Урок 2: Обзор архитектуры WCF
Разработка сервисно-ориентированных приложений с помощью WCF
Отправка

сообщений WCF
ABC конечных точек
Структура сервиса
Единая программная модель
Взаимодействие с не WCF

приложениями
Урок 2: Обзор архитектуры WCFРазработка сервисно-ориентированных приложений с помощью WCFОтправка сообщений WCFABC конечных точекСтруктура сервисаЕдиная программная модельВзаимодействие

Слайд 13Разработка WCF сервис-ориентированных приложений
WCF позволяет создавать сервисы единообразно, вне зависимости

от сетевого протокола взаимодействия
Клиент обращается к сервису для получения определенного

функционала
Клиенты и сервисы взаимодействуют посредством обмена сообщениями
Предназначение клиентов и сервисов – не предоставлять друг другу единое адресное пространство
Сервис-ориентированная архитектура – концепция и стиль проектирования сервисов
Разработка WCF сервис-ориентированных приложенийWCF позволяет создавать сервисы единообразно, вне зависимости от сетевого протокола взаимодействияКлиент обращается к сервису

Слайд 14Организация взаимодействия в WCF

Организация взаимодействия в WCF

Слайд 15Архитектура

Архитектура

Слайд 16Компонентная архитектура
Поведение
Каналы

Компонентная архитектураПоведениеКаналы

Слайд 17Взаимодействия клиента и сервиса
Client
Service

Взаимодействия клиента и сервисаClientService

Слайд 18Конечные точки Endpoints
Client
Service
Endpoint
Endpoint
Endpoint
Endpoint

Конечные точки EndpointsClientServiceEndpointEndpointEndpointEndpoint

Слайд 19Адрес, привязка, контракт
Service

Client
Address

Где?
Contract

Что?
Binding

Как?
Endpoint

Адрес, привязка, контрактServiceClientAddressГде?ContractЧто?BindingКак?Endpoint

Слайд 20ABC конечных точек (Endpoints)
A
B
C
По какому адресу искать сервис
Пример:
Пример:
Пример:
Как взаимодействовать с

сервисом
Что сервис может сделать для меня

ABC конечных точек (Endpoints)ABCПо какому адресу искать сервисПример:Пример:Пример:Как взаимодействовать с сервисомЧто сервис может сделать для меня

Слайд 21Создание точек взаимодействия
Client
Service








ServiceHost



ClientChannel

Создание точек взаимодействияClientServiceServiceHostClientChannel

Слайд 22Структура сервиса

Структура сервиса

Слайд 23Единая программная модель

Множество технологий разработки распределенных приложений
Едина программная модель

Единая программная модельМножество технологий разработки распределенных приложенийЕдина программная модель

Слайд 24Взаимодействие с не WCF приложениями

Web сервисы
Старые Web сервисы такие как

ASP.NET ASMX сервисы
Другие Web сервисы, поддерживающие протоколы WS-*
POX (plain old

xml) сервисы
Взаимодействие с не WCF приложениямиWeb сервисыСтарые Web сервисы такие как ASP.NET ASMX сервисыДругие Web сервисы, поддерживающие протоколы

Слайд 25Урок 2: Использование интерфейсов как сервисных контрактов
Пример простого контракта
Атрибут ServiceContract
Атрибут

OperationContract
Данные и сообщения
Контракты, метаданные и артефакты

Урок 2: Использование интерфейсов как сервисных контрактовПример простого контрактаАтрибут ServiceContractАтрибут OperationContractДанные и сообщенияКонтракты, метаданные и артефакты

Слайд 26Пример контракта

Пример контракта

Слайд 27Атрибут ServiceContract

Атрибут ServiceContract

Слайд 28Атрибут OperationContract

Атрибут OperationContract

Слайд 29Данные и сообщения
CLR типы преобразуются к инфонабору XML при сериализации
WCF

позволяет определить собственный способ сериализации
Состав и структура сообщения должна быть

понятна клиенту и серверу
Контракты данных и контракты сообщений предназначены для контроля утверждений
Данные и сообщенияCLR типы преобразуются к инфонабору XML при сериализацииWCF позволяет определить собственный способ сериализацииСостав и структура

Слайд 30Контракты, метаданные и артефакты

Контракты, метаданные и артефакты

Слайд 31


Proxy.cs
Описываем точки взаимодействия



app/web.config
Client
Service
GetMetadata
WSDL

Proxy.csОписываем точки взаимодействияapp/web.configClientServiceGetMetadataWSDL

Слайд 32Урок 4: Создание простого WCF сервиса
Определение сервисного контракта и его

реализация в классе
Хостинг сервиса
Конфигурация сервиса
Демонстрация: создание простого WCF сервиса

Урок 4: Создание простого WCF сервисаОпределение сервисного контракта и его реализация в классеХостинг сервисаКонфигурация сервисаДемонстрация: создание простого

Слайд 33Создание сервиса

Создание сервиса

Слайд 34Хостинг сервиса

Хостинг сервиса

Слайд 35Виды хостинг сервиса
class HelloHost
{
static void Main(string[] args)
{

ServiceHost host =
new ServiceHost(typeof(HelloService));
host.Open();

// Wait until done accepting connections
Console.ReadLine();
host.Close();
}
}


<%@ Service Language=“C#” Class=“HelloService” %>

http://localhost/HelloService/HelloService.svc

Внутри процесса

В IIS

Виды хостинг сервисаclass HelloHost{ static void Main(string[] args) {  ServiceHost host =    new

Слайд 36Конфигурация сервиса

Конфигурация сервиса

Слайд 37Демонстрация
Создание простого WCF сервиса

ДемонстрацияСоздание простого WCF сервиса

Слайд 38Занятие 5: Создание простого WCF клиента
Импорт метаданных
Вызов сервиса используя прокси
Демонстрация:

вызов простого WCF сервиса

Занятие 5: Создание простого WCF клиентаИмпорт метаданныхВызов сервиса используя проксиДемонстрация: вызов простого WCF сервиса

Слайд 39Импорт метаданных

Импорт метаданных

Слайд 40Вызов сервиса посредством прокси

Вызов сервиса посредством прокси

Слайд 41Реализация клиента
class Client
{
static void Main()
{

IHello proxy = ChannelFactory.
CreateChannel(“HelloEndpoint”);

string r = proxy.Hello(“Beat”);
Console.WriteLine(r);
}
}



address="http://localhost/HelloService"
binding="basicHttpBinding"
contract="IHello" />


Реализация клиентаclass Client{  static void Main()  {    IHello proxy = ChannelFactory.

Слайд 42Демонстрация
Вызов WCF сервиса

ДемонстрацияВызов WCF сервиса

Слайд 43Контракты*
Контракты сервисов и операций
Дуплексные, С сохранением сессии
Однонаправленные, Запрос/Ответ, Открытие/Закрытие, Сбои
Версионность

протокола
Контракты сообщений и данных
Схема сообщения
Версионность схемы
Тонкое управление
Действие, Направление, Заголовки, Тело

сообщения, Обертки, Кодировка
Контракты*Контракты сервисов и операцийДуплексные, С сохранением сессииОднонаправленные, Запрос/Ответ, Открытие/Закрытие, СбоиВерсионность протоколаКонтракты сообщений и данныхСхема сообщенияВерсионность схемыТонкое управлениеДействие,

Слайд 44Связывание: вид изнутри*
Transport






IPC
MSMQ
Custom
TCP
HTTP
Protocol






Encoders






Binary
Text
Custom
.NET
TX
Custom
Security
RM



Связывание: вид изнутри*TransportIPCMSMQCustomTCPHTTPProtocolEncodersBinaryTextCustom.NETTXCustomSecurityRM

Слайд 45Стандартные наборы
T = Transport Security | S = WS-Security |

O = One-Way Only

Стандартные наборыT = Transport Security | S = WS-Security | O = One-Way Only

Слайд 46Связывание: взгляд снаружи
BasicHttpBinding
WsHttpBinding
WsDualHttpBinding
NetTcpBinding
NetNamedPipeBinding
NetMsmqBinding
NetPeerTcpBinding
Интеграция
WCF к WCF


Связывание: взгляд снаружиBasicHttpBindingWsHttpBindingWsDualHttpBindingNetTcpBindingNetNamedPipeBindingNetMsmqBindingNetPeerTcpBindingИнтеграцияWCF к WCF

Слайд 47Возможности связывания
Кодировка
Text, Binary, Custom
Транспорт
TCP, HTTP, Named Pipes, P2P, MSMQ, Свой

собственный
Безопасность
Шифрование, подпись
Аутентификация: X509, User/Pwd, Kerberos, SAML, InfoCard, Свой
Гарантированная доставка
Вне зависимости

от выбранного транспорта (по порядку, ровно 1 раз)
Надежная и незаметная проверка доступности
Транзакции
Общие транзакции для “синхронных” операций
Очереди транзакций для “асинхронных” операций
Возможности связыванияКодировкаText, Binary, CustomТранспортTCP, HTTP, Named Pipes, P2P, MSMQ, Свой собственныйБезопасностьШифрование, подписьАутентификация: X509, User/Pwd, Kerberos, SAML, InfoCard,

Слайд 48Подведение итогов
В этом модуле рассмотрели:

Проектирование приложений в стиле SOA
Архитектура WCF
Использование

интерфейсов как сервисных контрактов.
Реализация простого WCF сервиса в Visual Studio

2008
Реализация простого WCF клиента в Visual Studio 2008
Подведение итоговВ этом модуле рассмотрели:Проектирование приложений в стиле SOAАрхитектура WCFИспользование интерфейсов как сервисных контрактов.Реализация простого WCF сервиса

Слайд 49Лабораторная работа
Написать простой сервис единственный метод которого возвращает клиенту строку

HelloWorld
Разместить сервис в консольном приложении
Предусмотреть возможность получения метаданных сервиса
Реализовать клиента

сервиса
Лабораторная работаНаписать простой сервис единственный метод которого возвращает клиенту строку HelloWorldРазместить сервис в консольном приложенииПредусмотреть возможность получения

Слайд 50Спасибо за внимание
ЗАО «Эй-Си-Эс»

адрес:620014
Екатеринбург
Радищева, 12
тел: +7 (343) 253-53-00

{ Спицын Александр

Геннадьевич
e-mail: sag@acs-it.ru,
http://www.acs-it.ru}




Спасибо за вниманиеЗАО «Эй-Си-Эс»адрес:620014 	Екатеринбург	Радищева, 12тел:	+7 (343) 253-53-00{ Спицын Александр Геннадьевич e-mail: sag@acs-it.ru, http://www.acs-it.ru}

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика