X Код для використання на сайті:
Ширина px

Скопіюйте цей код і вставте його на свій сайт

X Для завантаження презентації, скористайтесь соціальною кнопкою для рекомендації сервісу SvitPPT Завантажити собі цю презентацію

Презентація на тему:
Windows Communication Foundation

Завантажити презентацію

Windows Communication Foundation

Завантажити презентацію

Презентація по слайдам:

Слайд 1

Windows Communication Foundation (від Microsoft) 2010-2011 WCF

Слайд 2

Windows Communication Foundation (WCF) WCF

Слайд 3

WCF як технологія, пов'язана зі службами: створенням, розгортанням, використанням служб, їх безпекою, транзакційністю, надійністю доставки повідомлень тощо. Розвиток WCF відбувається на засадах підтримки стандартів служб (зокрема, “розширених” служб – служб узгоджених зі стандартом ws-*) та забезпеченням інтероперабельності. Windows Communication Foundation (WCF) Служби складають основу сучасної глобальної розподіленої мережі, а WCF вважають найпростішим засобом їх надання та використання на платформі Microsoft. Відповідна простота досягається за рахунок інкапсуляції технології (проте не приховуванням!) у різноманітних інструментальних засобах, зокрема у MS Visual Studio. WCF

Слайд 4

WCF-сервіс публікує колекцію кінцевих точок (Endpoints). Кожну кінцеву точку можна розглядати як портал для спілкування із клієнтськими програмами. WCF-клієнт може звертатись до однієї чи декількох кінцевих точок і також може публікувати власні кінцеві точки для прийому повідомлень від WCF-сервісів. Кінцева точка визначається наданням “алфавітної трійки ABC”: Основи архітектури WCF Address (адреса); Binding (прив'язка); Contract (контракт). WCF

Слайд 5

Адреса кінцевої точки (Address) – це звичайна мережна адреса, де розташований відповідний портал. Прив'язка (Binding) кінцевої точки визначає, як реалізується обмін повідомленнями, зокрема, який обрано транспортний протокол (TCP, HTTP тощо), яке використовується кодування (text, binary тощо), чи використовуються засоби безпеки та ін. Контракт (Contract) кінцевої точки визначає, що складає предмет спілкування, тобто які, наприклад, можливі запити до WCF-сервісу і які можливі відповіді. Можуть використовуватись різні базові шаблони обміну повідомленнями (basic Message Exchange Patterns), наприклад, запит/відповідь, симплекс, дуплекс. (“Функціональний інтерфейс”) Кінцеві точки WCF (1/2) Кінцева точка визначається наданням адреси (Address), прив'язки (Binding) та контракту (Contract). WCF

Слайд 6

Можна задавати декілька кінцевих точок навіть з одним і тим самим контрактом, надаючи (через прив’язки) різні можливості щодо його використання. Наприклад, щоб забезпечити “максимально відкритий доступ” клієнтів до сервісу, можна скористатись (стандартною) прив’язкою binding=“basicHttpBinding” (ця прив’язка відповідає відомій специфікації: Web Services Interop Basic Profile 1.1 – WS-I BP1.1), а щоб досягти максимальної продуктивності міжмашинної взаємодії у корпоративній мережі на платформі .Net доцільно скористатись (стандартною) прив’язкою binding=“netTcpBinding” (ця прив’язка базується на використанні, по-перше, транспортного протоколу tcp та, по-друге, двійкового кодування). Кінцеві точки WCF (2/2) Кінцева точка визначається наданням адреси (Address), прив'язки (Binding) та контракту (Contract). WCF

Слайд 7

... можна скористатись (стандартною) прив’язкою binding=“basicHttpBinding” (ця прив’язка відповідає відомій специфікації: Web Services Interop Basic Profile 1.1 – WS-I BP1.1) До специфікації веб-сервісів Web-service Interoperability Organization (http://www.ws-i.org). До складу зазначеної організації входять: Microsoft, IBM, Sun, Oracle, Bea Systems, HP etc. Загалом розроблено вже більше 50 специфікацій так званих розширених веб-сервісів (ws-*). WCF

Слайд 8

Прив’язки Прив'язка (Binding) описує комунікаційні деталі, що пов'язані з використанням служби. Поняття прив'язки можна розглядати як деякий аналог поняття стеку каналів, тобто деякої конфігурації (послідовної комбінації) каналів. (Прив'язка складається відповідно з набору елементів прив'язки.) Важливо усвідомлювати, що повідомлення служб обробляються послідовно кожним із каналів стеку. Використовуються канали двох видів: транспортні (єдиний транспортний канал розташовується “внизу” стека: при відправленні повідомлення він використовується останнім, а при прийнятті – першим) та протокольні (зокрема, вони можуть забезпечувати шифрування повідомлень, стискання, кодування тощо). WCF

Слайд 9

Прив’язки. Варіанти транспортних каналів Можливі варіанти транспортних каналів (протоколів): HTTP; TCP; MSMQ (канал черг повідомлень згідно до технології Microsoft Message Queue; специфіка: “незв'язаний” клієнт, обмін даними односторонній); NamedPipes (іменовані канали; такий варіант забезпечує високу продуктивність для локальних комунікацій, тобто між процесами чи доменами на одній машині); Ілюстрація до пірінгової моделі PerChannel (пірінговий канал, у пірінговій архітектурі peer-to-peer – P2P кожен вузол “має рівні права”: виступає по відношенню до інших вузлів як у ролі клієнта, так і у ролі сервера). (Порівняйте з архітектурою клієнт-сервер.) WCF

Слайд 10

Прив'язки на замовлення. Приклади (1/2) CustomBinding customBinding = new CustomBinding( new OneWayBindingElement(), //канальна форма new TextMessageEncodingBindingElement(), new HttpTransportBindingElement() ); CustomBinding custBinding = new CustomBinding(); custBinding.Elements.Add( new BinaryMessageEncodingBindingElement()); custBinding.Elements.Add( new UdpTransportBindingElement()); Приклад 1. Приклад 2. Поняття прив'язки можна розглядати як деякий аналог поняття стеку каналів... WCF

Слайд 11

. . . Приклад файлового конфігурування прив'язки Приклад програмного конфігурування прив'язки (приклад 2 з попереднього слайду). Прив'язки. Конфігурування CustomBinding custBinding = new CustomBinding(); custBinding.Elements.Add( new BinaryMessageEncodingBindingElement()); custBinding.Elements.Add( new UdpTransportBindingElement()); WCF

Слайд 12

Стандартні прив’язки Можна використовувати стандартні (“готові)” прив'язки. Наведемо приклади найбільш уживаних стандартних прив'язок: basicHttpBinding; wsHttpBinding; ws2007HttpBinding; webHttpBinding; netTcpBinding; netNamedPipeBinding (забезпечує високу продуктивність для локальних комунікацій, тобто між процесами чи доменами на одній машині). WCF

Слайд 13

Прив’язка basicHttpBinding: є сумісною зі службами ASMX та загалом зі службами WS-I BP1.1, забезпечуючи інтероперабельність гетерогенних систем; WS-I BP1.1 – cпецифікація Web Services Interop Basic Profile 1.1 (проте, загалом, не стандарт!) 2004 року, яка є результатом співпраці відомих фірм (Microsoft, IBM, BEA, ORACLE etc) та спирається на стандарти SOAP 1.1, WSDL 1.1, Message Security 1.0 ); зокрема, містить уже згадуваний раніше елемент прив'язки HttpTransportBindingElement; за замовчуванням не є безпечною. (Найпростіший варіант зробити прив'язку безпечною – просто задіяти протокол https: у такому випадку для даних відбувається шифрування згідно з протоколом SSL/TLS. Для протоколу http за замовчуванням використовується порт 80, а для протоколу https – порт 443. Формати адресації для протоколів http та https відповідно: http://[:]/ ; https://[:]/ .); використовує загалом біля двох десятків властивостей, які можна встановлювати конфігуруванням. WCF

Слайд 14

Прив’язка basicHttpBinding. Приклад конфігурування властивостей такої прив’язки

Слайд 15

Прив’язка wsHttpBinding: є сумісною із так званими “розширеними” службами, що відповідають стандартам веб-служб ws-* (чим забезпечується, зрозуміло, інтероперабельність); прив'язкою підтримується стандарт SOAP 1.2 та підтримуються багато інших стандартів, безпосередньо пов'язаних зі специфікацією розширених служб ws-*. Зокрема, підтримуються такі канали (протоколи) інфраструктурного рівня, що забезпечують транзакційність повідомлень (стандарт WS-Atomic Transactions), надійність доставки повідомлень (стандарт WS-ReliableMessaging), підтримку безпеки повідомлень (із безпекою пов'язано півдесятка стандартів ws-*). Загальні зауваження: 1. Окрім wsHttpBinding є й інші стандартні прив'язки, що відповідають стандартам ws-* , наприклад, wsDualHttpBinding. 2. У WCF імена усіх прив'язок, призначених для реалізації інтероперабельності на основі веб-служб, мають префікс ws. WCF

Слайд 16

Прив’язка ws2007HttpBinding: з'явилася у версії .Net Framework 3.5; є аналогічною прив'язці wsHttpBinding, проте підтримує стандарти ws-* на час виходу версії .Net Framework 3.5 – 2007 рік. WCF

Слайд 17

Прив’язка webHttpBinding: є сумісною із RESTful-службами. Презентація “WCF REST (RESTful -служби із використанням WCF)” WCF

Слайд 18

Прив’язка webHttpBinding та RESTful-служби. Приклад db table HTTP Get. UriTemplate WCF

Слайд 19

Прив’язка netTcpBinding: призначена для міжмашинної взаємодії .Net додатків (тільки на платформі .Net !). використовує елемент прив'язки TcpTransportBindingElement; формат адресації: net.tcp://[:]/ (порт за замовчуванням – 808); як і для інших прив'язок, визначено властивості (загалом їх 17), які можна встановлювати конфігуруванням. Наприклад, maxConnection визначає максимальну кількість одночасних підключень із кінцевою точкою (за замовчуванням – 10), closeTimeOut – максимальне очікування закриття з'єднання (за замовчуванням – 00:01:00). WCF

Слайд 20

Генерація (із використанням шаблону) WCF-проекту у MS Visual Studio 2008 WCF