SlideShare a Scribd company logo
WCF
Module 1
SOA (Service oriented architecture)
 SOA - архітектурний шаблон програмного забезпечення,
модульний підхід до розробки програмного забезпечення,
заснований на використанні розподілених, слабко пов'язаних
замінних компонентів, оснащених стандартизованими
інтерфейсами для взаємодії за стандартизованими
протоколами.
Andrey Gladky
KspDevelop@gmail.com 2
SOA (Service oriented architecture)
SOA характеризують такі основні принципи, дотримання яких
дозволяє сказати чи є інформаційна система сервіс-орієнтованої чи ні:
 сервіси як компоненти інформаційної системи, які публікують свої
інтерфейси (контракти). Ці контракти є незалежними від
платформи, мови програмування, операційної системи і інших
технічних особливостей реалізації, сервіси взаємодіють між собою
і допоміжними службами за допомогою відкритих, широко
використовуваних стандартів.
 кожен, що становить інформаційну систему, сервіс реалізує окрему
бізнес-функцію, яка є логічно відокремленою, що повторюється
завданням, що є складовою частиною бізнес-процесу
підприємства.
 низька зв'язаність (слабкий зв'язок). Сервіси в системах,
побудованих на SOA можуть бути реалізовані в незалежності від
інших служб системи, необхідно тільки знання інтерфейсу
використовуваних сервісів.
Відмінною рисою побудованої на SOA системи є одночасне
застосування всіх зазначених принципах.
Andrey Gladky
KspDevelop@gmail.com 3
SOA (Service oriented architecture)
Сервісом називається незалежний програмний компонент, що
виконує певне завдання, таке як наприклад «перевірити кредитну
картку», яка не потребує для використання клієнтами якоїсь
певної програмної технології.
Використання відкритих стандартів є важливою характерною
особливістю SOA. Це значно зменшує час підключення нового
бізнес-сервісу до існуючої системи, так само як і при
впровадженні SOA, немає необхідності переписувати або просто
відмовлятися від перевірених роками і діючих рішень.
Коли ж говорять те, що інформаційна система дотримується
принципів SOA, то сервіс, реалізований, наприклад, на мові Java і
повинен бути застосовний для використання клієнтами,
реалізованими в Windows середовищі і навпаки.
Andrey Gladky
KspDevelop@gmail.com 4
WCF (Windows Communication
Foundation)
В версії .NET 3.0 був представлений API-інтерфейс,
спеціально призначений для побудови розподілених
систем - Windows Communication Foundation WCF). На
відміну від інших розподілених API-інтерфейсів, які,
можливо, приходилось застосовувати в минулому
(наприклад, DCOM, .NET Remoting, веб-служби XML,
черги повідомлень), WCF пропонує єдину, уніфіковану і
розширювану об’єктну модель для програмування, яка
може використовуватися для взаємодії з безліччю раніше
розрізнених розподілених технологій.
Andrey Gladky
KspDevelop@gmail.com 5
WCF (Windows Communication
Foundation)
Інфраструктура WCF - це інструментальний набір
розподілених обчислень, який інтегрує всі ці раніше
незалежні технології розподіленої обробки в один
узгоджений API-інтерфейс, представлений в першу чергу
простором імен System. ServiceModel. За допомогою
WCF можна відкривати ці служби викликаючим
компонентам, застосовуючи для цього широке розмаїття
прийомів.
Andrey Gladky
KspDevelop@gmail.com 6
WCF (Windows Communication
Foundation)
При створенні внутрішнього застосування, де всі
підключені машини працюють під управлінням Windows,
можна використовувати різні протоколи TCP для
досягнення максимально можливої продуктивності. Ті ж
самі служби також можуть бути представлені з
застосуванням протоколів НТTP і SOAP, щоб дозволити
зовнішнім клієнтам користуватися їх функціональністю,
незалежно від мови програмування або операційної
системи.
Andrey Gladky
KspDevelop@gmail.com 7
Andrey Gladky
KspDevelop@gmail.com 8
Andrey Gladky
KspDevelop@gmail.com 9
Функціональні можливості WCF
Можливість взаємодії і інтеграція різних API-інтерфейсів
- це тільки два важливих аспекти WCF. Головні засоби
WCF.
 Підтримка як строго типізованих, так і не типізованих
повідомлень. Цей підхід дозволяє додаткам .NET
ефективно спільно використовувати типи, в той час як
програмне забезпечення, створене за допомогою інших
платформ (Таких як Java), може використовувати потоки
слабо типізованого XML.
 Підтримка декількох прив’язок (наприклад,
низькорівневий HTTP, TCP, MSMQ і іменовані канали),
що дозволяє вибирати найбільш підходящий механізм
для транспортування даних повідомлень.Andrey Gladky
KspDevelop@gmail.com 10
Функціональні можливості WCF
 Підтримка останніх специфікацій веб-служб WS- *)
 Повністю інтегрована модель безпеки, що охоплює як
вбудовані протоколи безпеки Windows/.NET, так і
численні нейтральні технології захисту, побудовані на
стандартах веб-служб.
 Підтримка технологій сеансового управління станом, а
також підтримка односпрямованих повідомлень без
стану.
Andrey Gladky
KspDevelop@gmail.com 11
Основні принципи WCF
Принцип 1: межі встановлені явно
Цей принцип підкреслює той факт, що функціональність
служби WCF виражається через чітко визначені
інтерфейси. Єдиний спосіб, яким зовнішній клієнт може
звернутися до служби WCF - через інтерфейс.
Принцип 2: служби взаємодіють через контракт, а не
реалізацію
Цей принцип полягає в тому, що реалізація деталей
служби WCF не стосується зовнішнього компонента, що
викликає її. Клієнти WCF взаємодіють зі службами
виключно через їх відкриті інтерфейси.
Andrey Gladky
KspDevelop@gmail.com 12
Основні принципи WCF
Принцип 3: служби є автономними
Коли про службах кажуть як про автономні сутності,
мають на увазі той факт, що кожна служба WCF є
(наскільки можливо) окремим "островом". Автономна
служба повинна бути незалежною від аспектів, що
стосуються версії, розгортання і установки. Щоб
допомогти в просуванні цього принципу, ми знову
повертаємося до ключового аспекту програмування на
основі інтерфейсів. Як тільки інтерфейс впроваджений у
виробництво, він ніколи не повинен змінюватися (або ви
ризикуєте зруйнувати існуючі клієнти). Коли ви бажаєте
покращити функціональність служби WCF, просто
напишіть новий інтерфейс, який моделює бажану
функціональність.
Andrey Gladky
KspDevelop@gmail.com 13
Основні принципи WCF
Принцип 4: сумісність служб заснована на політиці
Оскільки інтерфейси CLR надають строго типізовані
контракти всім клієнтам WCF (і також можуть бути
використані для генерації відповідного документа WSDL
(Web Services Description Language) на основі обраної
прив'язки), важливо розуміти, що інтерфейси і WSDL
самі по собі недостатньо виразні, щоб деталізувати
аспекти того, що здатна робити служба. З огляду на це,
SOA дозволяє визначати політики, які додатково
проясняють семантику служби (наприклад, очікувані
вимоги безпеки, які застосовуються для спілкування зі
службою). Використовуючи ці політики, можна
відокремлювати низькорівневі синтаксичні описи служби
(відкриті інтерфейси) від семантичних деталей їх роботи і
способів їх виклику.
Andrey Gladky
KspDevelop@gmail.com 14
Архітектура WCF
Andrey Gladky
KspDevelop@gmail.com 15
Архітектура WCF
Кінцеві точки (Service Endpoint).
Хости і клієнти взаємодіють один з одним, погоджуючи
так звані ABC - умовне найменування для
запам'ятовування основних будівельних блоків додатків
WCF, таких як адреса, прив'язка і контракт (address,
binding, contract - ABC).
 Адреса кінцевої точки (Endpoint Address) - описує
розташування служби. У коді є суб'єктом System.Uri,
проте його значення зазвичай зберігається в файлах *.
config.
Andrey Gladky
KspDevelop@gmail.com 16
Архітектура WCF
Кінцеві точки (Service Endpoint).
 Прив'язка кінцевої точки (Binding) - інфраструктура
WCF поставляється з безліччю різних прив'язок, які
вказують мережеві протоколи, механізми кодування і
транспортний рівень.
 Contract Description - надає опис кожного відкритого
методу, зі служби WCF.
 Абревіатура ABC не має на увазі, що розробник
зобов'язаний визначити спочатку адреса, за ним
прив'язку і тільки потім - контракт. У багатьох випадках
розробник WCF починає з визначення контракту для
служби, а за ним адреси і прівязки.
Andrey Gladky
KspDevelop@gmail.com 17
Контракти
 Поняття контракту є ключовим при побудові служби
WCF.
 Більшість додатків WCF будуть починатися з
визначення набору інтерфейсних типів .NET,
використовуваних для подання набору членів, які буде
підтримувати задана служба WCF.
 Зокрема, інтерфейси, які представляють контракт WCF,
називаються контрактами служб. Класи (або
структури), які реалізують їх, звуться типи служб.
Andrey Gladky
KspDevelop@gmail.com 18
Атрибути
 Контракти служб WCF оснащуються різноманітними атрибутами,
причому самі часто використовувані з них визначені в просторі
імен System.ServiceModel. Коли члени контракту служби (методи в
інтерфейсі) містять тільки прості типи даних (такі як числові,
булевскі і строкові), завершену службу WCF можна побудувати,
використовуючи одні тільки атрибути [ServiceContract],
[OperationContract] і [DataContract], [DataMember].
 Однак якщо члени відкривають спеціальні типи, швидше за все,
будуть застосовуватися різні типи з простору імен
System.Runtime.Serialization. Тут доступні додаткові атрибути (на
зразок [DataMember] і [DataContract]), для тонкого налаштування
процесу визначення того, як складові типи будуть серіалізовані і
десеріалізовані з XML при передачі в і з операцій служби.
Andrey Gladky
KspDevelop@gmail.com 19
Andrey Gladky
KspDevelop@gmail.com 20
Демонстрація

More Related Content

What's hot

Rpc
RpcRpc
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2
eleksdev
 
Windows service
Windows serviceWindows service
Windows service
eleksdev
 
Web service lecture
Web service lectureWeb service lecture
Web service lecture
eleksdev
 
Wcf module 3.6
Wcf module 3.6Wcf module 3.6
Wcf module 3.6
Andrii Hladkyi
 
07 Database Access
07 Database Access07 Database Access
07 Database Accesseleksdev
 
Version control
Version controlVersion control
Version control
eleksdev
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net eleksdev
 
DAL
DALDAL

What's hot (9)

Rpc
RpcRpc
Rpc
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2
 
Windows service
Windows serviceWindows service
Windows service
 
Web service lecture
Web service lectureWeb service lecture
Web service lecture
 
Wcf module 3.6
Wcf module 3.6Wcf module 3.6
Wcf module 3.6
 
07 Database Access
07 Database Access07 Database Access
07 Database Access
 
Version control
Version controlVersion control
Version control
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net
 
DAL
DALDAL
DAL
 

Viewers also liked

Eva rc module 4_assessment
Eva rc module 4_assessmentEva rc module 4_assessment
Eva rc module 4_assessment
Eva R
 
Certificates#1
Certificates#1Certificates#1
Certificates#1
robert escobedo
 
Tecnologías de la Educación
Tecnologías de la EducaciónTecnologías de la Educación
Tecnologías de la Educación
Horacio Rene Armas
 
20161211 주일예배, 습03장01 20절, 천하만민 중에 영광을 얻으리라 -...
20161211 주일예배, 습03장01 20절, 천하만민 중에 영광을 얻으리라 -...20161211 주일예배, 습03장01 20절, 천하만민 중에 영광을 얻으리라 -...
20161211 주일예배, 습03장01 20절, 천하만민 중에 영광을 얻으리라 -...
Myoung-Ryun Mission Presbyterian Church
 
IMPACT 2015 SEM 1 MASTER_EDITED_print
IMPACT 2015 SEM 1 MASTER_EDITED_printIMPACT 2015 SEM 1 MASTER_EDITED_print
IMPACT 2015 SEM 1 MASTER_EDITED_printMartina Browne
 
コラムーおごるな自民党
コラムーおごるな自民党コラムーおごるな自民党
コラムーおごるな自民党
徹 長谷川
 
1608 - How farmers in Uttarakhand reworked the System of Rice Intensification...
1608 - How farmers in Uttarakhand reworked the System of Rice Intensification...1608 - How farmers in Uttarakhand reworked the System of Rice Intensification...
1608 - How farmers in Uttarakhand reworked the System of Rice Intensification...
SRI-Rice, Dept. of Global Development, CALS, Cornell University
 
1609 - Experiences Introducing the System of Rice Intensification (SRI) to Re...
1609 - Experiences Introducing the System of Rice Intensification (SRI) to Re...1609 - Experiences Introducing the System of Rice Intensification (SRI) to Re...
1609 - Experiences Introducing the System of Rice Intensification (SRI) to Re...
SRI-Rice, Dept. of Global Development, CALS, Cornell University
 
海軍の遺産・沼津水源地
海軍の遺産・沼津水源地海軍の遺産・沼津水源地
海軍の遺産・沼津水源地
徹 長谷川
 
Clil unit plan
Clil unit planClil unit plan
Edson filipe Elite_cv_ 2015 EN
Edson filipe Elite_cv_ 2015 ENEdson filipe Elite_cv_ 2015 EN
Edson filipe Elite_cv_ 2015 ENedson Filipe
 

Viewers also liked (11)

Eva rc module 4_assessment
Eva rc module 4_assessmentEva rc module 4_assessment
Eva rc module 4_assessment
 
Certificates#1
Certificates#1Certificates#1
Certificates#1
 
Tecnologías de la Educación
Tecnologías de la EducaciónTecnologías de la Educación
Tecnologías de la Educación
 
20161211 주일예배, 습03장01 20절, 천하만민 중에 영광을 얻으리라 -...
20161211 주일예배, 습03장01 20절, 천하만민 중에 영광을 얻으리라 -...20161211 주일예배, 습03장01 20절, 천하만민 중에 영광을 얻으리라 -...
20161211 주일예배, 습03장01 20절, 천하만민 중에 영광을 얻으리라 -...
 
IMPACT 2015 SEM 1 MASTER_EDITED_print
IMPACT 2015 SEM 1 MASTER_EDITED_printIMPACT 2015 SEM 1 MASTER_EDITED_print
IMPACT 2015 SEM 1 MASTER_EDITED_print
 
コラムーおごるな自民党
コラムーおごるな自民党コラムーおごるな自民党
コラムーおごるな自民党
 
1608 - How farmers in Uttarakhand reworked the System of Rice Intensification...
1608 - How farmers in Uttarakhand reworked the System of Rice Intensification...1608 - How farmers in Uttarakhand reworked the System of Rice Intensification...
1608 - How farmers in Uttarakhand reworked the System of Rice Intensification...
 
1609 - Experiences Introducing the System of Rice Intensification (SRI) to Re...
1609 - Experiences Introducing the System of Rice Intensification (SRI) to Re...1609 - Experiences Introducing the System of Rice Intensification (SRI) to Re...
1609 - Experiences Introducing the System of Rice Intensification (SRI) to Re...
 
海軍の遺産・沼津水源地
海軍の遺産・沼津水源地海軍の遺産・沼津水源地
海軍の遺産・沼津水源地
 
Clil unit plan
Clil unit planClil unit plan
Clil unit plan
 
Edson filipe Elite_cv_ 2015 EN
Edson filipe Elite_cv_ 2015 ENEdson filipe Elite_cv_ 2015 EN
Edson filipe Elite_cv_ 2015 EN
 

Similar to Wcf module 1

Aspnet core
Aspnet coreAspnet core
Aspnet core
eleksdev
 
ASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptxASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptx
Ihor34
 
Технологія Web 2.0
Технологія Web 2.0Технологія Web 2.0
Технологія Web 2.0
Юлія Артюх
 
Caliburn Micro Overview
Caliburn Micro OverviewCaliburn Micro Overview
Caliburn Micro Overview
Kiev ALT.NET
 
Ado.net module 1
Ado.net module 1Ado.net module 1
Ado.net module 1
Andrii Hladkyi
 
Хмарні сервіси
Хмарні сервісиХмарні сервіси
Хмарні сервіси
Oleh
 
What's new in Visual Studio 2010.
What's new in Visual Studio 2010.What's new in Visual Studio 2010.
What's new in Visual Studio 2010.
akrakovetsky
 
08_Конструктори сайт 01.06.pptx
08_Конструктори сайт 01.06.pptx08_Конструктори сайт 01.06.pptx
08_Конструктори сайт 01.06.pptx
DOMDepartmentofMarke
 
1 3 osi рівні
1 3 osi рівні 1 3 osi рівні
1 3 osi рівні
Пупена Александр
 
урок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережаурок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережаHelen Pata
 
[Knowledge Sharing] - Microservices Step-by-Step
[Knowledge Sharing] - Microservices Step-by-Step[Knowledge Sharing] - Microservices Step-by-Step
[Knowledge Sharing] - Microservices Step-by-Step
Exoft LLC
 
DrupalTour. Khmelnytskyi — Ember (Timur Bolotyuh, stfalcon.com)
DrupalTour. Khmelnytskyi — Ember (Timur Bolotyuh, stfalcon.com)DrupalTour. Khmelnytskyi — Ember (Timur Bolotyuh, stfalcon.com)
DrupalTour. Khmelnytskyi — Ember (Timur Bolotyuh, stfalcon.com)
Drupaltour
 
Ember.js. Init...
Ember.js. Init...Ember.js. Init...
Ember.js. Init...
Stfalcon Meetups
 
.NET Platform. C# Basics
.NET Platform. C# Basics.NET Platform. C# Basics
.NET Platform. C# Basics
eleksdev
 
Web 2
Web 2Web 2
основи програмування 1
основи програмування  1основи програмування  1
основи програмування 1
CDN_IF
 

Similar to Wcf module 1 (20)

Aspnet core
Aspnet coreAspnet core
Aspnet core
 
ASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptxASP.NET Core лекція 02.pptx
ASP.NET Core лекція 02.pptx
 
Технологія Web 2.0
Технологія Web 2.0Технологія Web 2.0
Технологія Web 2.0
 
Caliburn Micro Overview
Caliburn Micro OverviewCaliburn Micro Overview
Caliburn Micro Overview
 
Ado.net module 1
Ado.net module 1Ado.net module 1
Ado.net module 1
 
Хмарні сервіси
Хмарні сервісиХмарні сервіси
Хмарні сервіси
 
What's new in Visual Studio 2010.
What's new in Visual Studio 2010.What's new in Visual Studio 2010.
What's new in Visual Studio 2010.
 
08_Конструктори сайт 01.06.pptx
08_Конструктори сайт 01.06.pptx08_Конструктори сайт 01.06.pptx
08_Конструктори сайт 01.06.pptx
 
Web 2 0
Web 2 0Web 2 0
Web 2 0
 
Web 2 0
Web 2 0Web 2 0
Web 2 0
 
Web 2 0
Web 2 0Web 2 0
Web 2 0
 
1 3 osi рівні
1 3 osi рівні 1 3 osi рівні
1 3 osi рівні
 
вашенюк
вашенюквашенюк
вашенюк
 
урок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережаурок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережа
 
[Knowledge Sharing] - Microservices Step-by-Step
[Knowledge Sharing] - Microservices Step-by-Step[Knowledge Sharing] - Microservices Step-by-Step
[Knowledge Sharing] - Microservices Step-by-Step
 
DrupalTour. Khmelnytskyi — Ember (Timur Bolotyuh, stfalcon.com)
DrupalTour. Khmelnytskyi — Ember (Timur Bolotyuh, stfalcon.com)DrupalTour. Khmelnytskyi — Ember (Timur Bolotyuh, stfalcon.com)
DrupalTour. Khmelnytskyi — Ember (Timur Bolotyuh, stfalcon.com)
 
Ember.js. Init...
Ember.js. Init...Ember.js. Init...
Ember.js. Init...
 
.NET Platform. C# Basics
.NET Platform. C# Basics.NET Platform. C# Basics
.NET Platform. C# Basics
 
Web 2
Web 2Web 2
Web 2
 
основи програмування 1
основи програмування  1основи програмування  1
основи програмування 1
 

More from Andrii Hladkyi

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. Serialization
Andrii Hladkyi
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, Abstractions
Andrii Hladkyi
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage Collector
Andrii Hladkyi
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
Andrii Hladkyi
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
Andrii Hladkyi
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. Generics
Andrii Hladkyi
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, Events
Andrii Hladkyi
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. Interfaces
Andrii Hladkyi
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOP
Andrii Hladkyi
 
Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Net Framework and c# Lesson 1
Net Framework and c# Lesson 1
Andrii Hladkyi
 
Wpf module 2
Wpf module 2Wpf module 2
Wpf module 2
Andrii Hladkyi
 
Wpf module 1
Wpf module 1Wpf module 1
Wpf module 1
Andrii Hladkyi
 
Msp module 3
Msp module 3Msp module 3
Msp module 3
Andrii Hladkyi
 
Msp module 2
Msp module 2Msp module 2
Msp module 2
Andrii Hladkyi
 
Msp module 1
Msp module 1Msp module 1
Msp module 1
Andrii Hladkyi
 
Ado.net module 2
Ado.net module 2Ado.net module 2
Ado.net module 2
Andrii Hladkyi
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1
Andrii Hladkyi
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+
Andrii Hladkyi
 
Win api module_1.1_ok
Win api module_1.1_okWin api module_1.1_ok
Win api module_1.1_ok
Andrii Hladkyi
 
Win api module_6.2
Win api module_6.2Win api module_6.2
Win api module_6.2
Andrii Hladkyi
 

More from Andrii Hladkyi (20)

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. Serialization
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, Abstractions
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage Collector
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. Generics
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, Events
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. Interfaces
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOP
 
Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Net Framework and c# Lesson 1
Net Framework and c# Lesson 1
 
Wpf module 2
Wpf module 2Wpf module 2
Wpf module 2
 
Wpf module 1
Wpf module 1Wpf module 1
Wpf module 1
 
Msp module 3
Msp module 3Msp module 3
Msp module 3
 
Msp module 2
Msp module 2Msp module 2
Msp module 2
 
Msp module 1
Msp module 1Msp module 1
Msp module 1
 
Ado.net module 2
Ado.net module 2Ado.net module 2
Ado.net module 2
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+
 
Win api module_1.1_ok
Win api module_1.1_okWin api module_1.1_ok
Win api module_1.1_ok
 
Win api module_6.2
Win api module_6.2Win api module_6.2
Win api module_6.2
 

Wcf module 1

  • 2. SOA (Service oriented architecture)  SOA - архітектурний шаблон програмного забезпечення, модульний підхід до розробки програмного забезпечення, заснований на використанні розподілених, слабко пов'язаних замінних компонентів, оснащених стандартизованими інтерфейсами для взаємодії за стандартизованими протоколами. Andrey Gladky KspDevelop@gmail.com 2
  • 3. SOA (Service oriented architecture) SOA характеризують такі основні принципи, дотримання яких дозволяє сказати чи є інформаційна система сервіс-орієнтованої чи ні:  сервіси як компоненти інформаційної системи, які публікують свої інтерфейси (контракти). Ці контракти є незалежними від платформи, мови програмування, операційної системи і інших технічних особливостей реалізації, сервіси взаємодіють між собою і допоміжними службами за допомогою відкритих, широко використовуваних стандартів.  кожен, що становить інформаційну систему, сервіс реалізує окрему бізнес-функцію, яка є логічно відокремленою, що повторюється завданням, що є складовою частиною бізнес-процесу підприємства.  низька зв'язаність (слабкий зв'язок). Сервіси в системах, побудованих на SOA можуть бути реалізовані в незалежності від інших служб системи, необхідно тільки знання інтерфейсу використовуваних сервісів. Відмінною рисою побудованої на SOA системи є одночасне застосування всіх зазначених принципах. Andrey Gladky KspDevelop@gmail.com 3
  • 4. SOA (Service oriented architecture) Сервісом називається незалежний програмний компонент, що виконує певне завдання, таке як наприклад «перевірити кредитну картку», яка не потребує для використання клієнтами якоїсь певної програмної технології. Використання відкритих стандартів є важливою характерною особливістю SOA. Це значно зменшує час підключення нового бізнес-сервісу до існуючої системи, так само як і при впровадженні SOA, немає необхідності переписувати або просто відмовлятися від перевірених роками і діючих рішень. Коли ж говорять те, що інформаційна система дотримується принципів SOA, то сервіс, реалізований, наприклад, на мові Java і повинен бути застосовний для використання клієнтами, реалізованими в Windows середовищі і навпаки. Andrey Gladky KspDevelop@gmail.com 4
  • 5. WCF (Windows Communication Foundation) В версії .NET 3.0 був представлений API-інтерфейс, спеціально призначений для побудови розподілених систем - Windows Communication Foundation WCF). На відміну від інших розподілених API-інтерфейсів, які, можливо, приходилось застосовувати в минулому (наприклад, DCOM, .NET Remoting, веб-служби XML, черги повідомлень), WCF пропонує єдину, уніфіковану і розширювану об’єктну модель для програмування, яка може використовуватися для взаємодії з безліччю раніше розрізнених розподілених технологій. Andrey Gladky KspDevelop@gmail.com 5
  • 6. WCF (Windows Communication Foundation) Інфраструктура WCF - це інструментальний набір розподілених обчислень, який інтегрує всі ці раніше незалежні технології розподіленої обробки в один узгоджений API-інтерфейс, представлений в першу чергу простором імен System. ServiceModel. За допомогою WCF можна відкривати ці служби викликаючим компонентам, застосовуючи для цього широке розмаїття прийомів. Andrey Gladky KspDevelop@gmail.com 6
  • 7. WCF (Windows Communication Foundation) При створенні внутрішнього застосування, де всі підключені машини працюють під управлінням Windows, можна використовувати різні протоколи TCP для досягнення максимально можливої продуктивності. Ті ж самі служби також можуть бути представлені з застосуванням протоколів НТTP і SOAP, щоб дозволити зовнішнім клієнтам користуватися їх функціональністю, незалежно від мови програмування або операційної системи. Andrey Gladky KspDevelop@gmail.com 7
  • 10. Функціональні можливості WCF Можливість взаємодії і інтеграція різних API-інтерфейсів - це тільки два важливих аспекти WCF. Головні засоби WCF.  Підтримка як строго типізованих, так і не типізованих повідомлень. Цей підхід дозволяє додаткам .NET ефективно спільно використовувати типи, в той час як програмне забезпечення, створене за допомогою інших платформ (Таких як Java), може використовувати потоки слабо типізованого XML.  Підтримка декількох прив’язок (наприклад, низькорівневий HTTP, TCP, MSMQ і іменовані канали), що дозволяє вибирати найбільш підходящий механізм для транспортування даних повідомлень.Andrey Gladky KspDevelop@gmail.com 10
  • 11. Функціональні можливості WCF  Підтримка останніх специфікацій веб-служб WS- *)  Повністю інтегрована модель безпеки, що охоплює як вбудовані протоколи безпеки Windows/.NET, так і численні нейтральні технології захисту, побудовані на стандартах веб-служб.  Підтримка технологій сеансового управління станом, а також підтримка односпрямованих повідомлень без стану. Andrey Gladky KspDevelop@gmail.com 11
  • 12. Основні принципи WCF Принцип 1: межі встановлені явно Цей принцип підкреслює той факт, що функціональність служби WCF виражається через чітко визначені інтерфейси. Єдиний спосіб, яким зовнішній клієнт може звернутися до служби WCF - через інтерфейс. Принцип 2: служби взаємодіють через контракт, а не реалізацію Цей принцип полягає в тому, що реалізація деталей служби WCF не стосується зовнішнього компонента, що викликає її. Клієнти WCF взаємодіють зі службами виключно через їх відкриті інтерфейси. Andrey Gladky KspDevelop@gmail.com 12
  • 13. Основні принципи WCF Принцип 3: служби є автономними Коли про службах кажуть як про автономні сутності, мають на увазі той факт, що кожна служба WCF є (наскільки можливо) окремим "островом". Автономна служба повинна бути незалежною від аспектів, що стосуються версії, розгортання і установки. Щоб допомогти в просуванні цього принципу, ми знову повертаємося до ключового аспекту програмування на основі інтерфейсів. Як тільки інтерфейс впроваджений у виробництво, він ніколи не повинен змінюватися (або ви ризикуєте зруйнувати існуючі клієнти). Коли ви бажаєте покращити функціональність служби WCF, просто напишіть новий інтерфейс, який моделює бажану функціональність. Andrey Gladky KspDevelop@gmail.com 13
  • 14. Основні принципи WCF Принцип 4: сумісність служб заснована на політиці Оскільки інтерфейси CLR надають строго типізовані контракти всім клієнтам WCF (і також можуть бути використані для генерації відповідного документа WSDL (Web Services Description Language) на основі обраної прив'язки), важливо розуміти, що інтерфейси і WSDL самі по собі недостатньо виразні, щоб деталізувати аспекти того, що здатна робити служба. З огляду на це, SOA дозволяє визначати політики, які додатково проясняють семантику служби (наприклад, очікувані вимоги безпеки, які застосовуються для спілкування зі службою). Використовуючи ці політики, можна відокремлювати низькорівневі синтаксичні описи служби (відкриті інтерфейси) від семантичних деталей їх роботи і способів їх виклику. Andrey Gladky KspDevelop@gmail.com 14
  • 16. Архітектура WCF Кінцеві точки (Service Endpoint). Хости і клієнти взаємодіють один з одним, погоджуючи так звані ABC - умовне найменування для запам'ятовування основних будівельних блоків додатків WCF, таких як адреса, прив'язка і контракт (address, binding, contract - ABC).  Адреса кінцевої точки (Endpoint Address) - описує розташування служби. У коді є суб'єктом System.Uri, проте його значення зазвичай зберігається в файлах *. config. Andrey Gladky KspDevelop@gmail.com 16
  • 17. Архітектура WCF Кінцеві точки (Service Endpoint).  Прив'язка кінцевої точки (Binding) - інфраструктура WCF поставляється з безліччю різних прив'язок, які вказують мережеві протоколи, механізми кодування і транспортний рівень.  Contract Description - надає опис кожного відкритого методу, зі служби WCF.  Абревіатура ABC не має на увазі, що розробник зобов'язаний визначити спочатку адреса, за ним прив'язку і тільки потім - контракт. У багатьох випадках розробник WCF починає з визначення контракту для служби, а за ним адреси і прівязки. Andrey Gladky KspDevelop@gmail.com 17
  • 18. Контракти  Поняття контракту є ключовим при побудові служби WCF.  Більшість додатків WCF будуть починатися з визначення набору інтерфейсних типів .NET, використовуваних для подання набору членів, які буде підтримувати задана служба WCF.  Зокрема, інтерфейси, які представляють контракт WCF, називаються контрактами служб. Класи (або структури), які реалізують їх, звуться типи служб. Andrey Gladky KspDevelop@gmail.com 18
  • 19. Атрибути  Контракти служб WCF оснащуються різноманітними атрибутами, причому самі часто використовувані з них визначені в просторі імен System.ServiceModel. Коли члени контракту служби (методи в інтерфейсі) містять тільки прості типи даних (такі як числові, булевскі і строкові), завершену службу WCF можна побудувати, використовуючи одні тільки атрибути [ServiceContract], [OperationContract] і [DataContract], [DataMember].  Однак якщо члени відкривають спеціальні типи, швидше за все, будуть застосовуватися різні типи з простору імен System.Runtime.Serialization. Тут доступні додаткові атрибути (на зразок [DataMember] і [DataContract]), для тонкого налаштування процесу визначення того, як складові типи будуть серіалізовані і десеріалізовані з XML при передачі в і з операцій служби. Andrey Gladky KspDevelop@gmail.com 19