Wиндоwс Цоммуницатион Фоундатион

Wиндоwс Цоммуницатион Фоундатион (скраћено WЦФ), раније називан Индиго, је сервисно оријентисани модел размене порука, који омогућава програмима да комуницирају преко рачунарске мреже или локално, на сличан начин на који се повезују и веб сервиси[1]. WЦФ је алат који у себи укључује сет библиотека развијених за дистрибуирано програмирање[2]. Мицрософт га је увео са верзијом .НЕТ Фрамеwорк 3.0

.НЕТ 3.0 архитектура
Део платформе .НЕТ Фрамеwорк

Архитектура уреди

WЦФ је алат често коришћен за имплементацију и развијање сервисно оријентисане архитектуре (СОА Сервице Ориентед Арцхитецтуре). Дизајниран је да подржи развој дистрибуираних система тамо где сервиси имају удаљене потрошаче (клијенте). Клијенти могу да користе сервисе тако да један сервис може употребљавати више клијента. Карактеристика сервиса је да је састављен од целина чије су компоненте лабаво повезане (лооселy цоуплед). Уобичајено је да су сервиси описани преко WСДЛ језика (Wеб Сервице Десцритпион Лангуаге) који било који клијент може да употреби како би успоставио везу са сервисом, без обзира на којој се платформи налази клијентска апликација. WЦФ је у своју имплементацију пренео доста постојећег од веб сервиса. Са појавом верзије .НЕТ Фрамеwорк 4.0, WЦФ подржава РСС сервисе, WС-Дисцовеy рутирање и бољу подршку за РЕСТ сервисе од претходних верзија.

Крајње тачке (ендпоинтс) уреди

Клијентска WЦФ апликација се повезује са WЦФ сервисом преко крајње тачке. Сваки сервис има изложен уговор преко једне или више дефинисаних крајњих тачака. Крајња тачка је описана адресом (УРЛ који специфицира на којој адреси се налази крајња тачка - аддресс), начином повезивања (биндинг) који спиецификује протокол који ће да се користи за пренос података, као и уговором (цонтрацт), који представља интерфејс који садржи информације о функцијама које су на располагању клијентским апликацијама.

 
WЦФ Ендпоинт дијаграм, повезивање клијента са сервером

Мнемоничка ознака "АБЦ" се користи ради лакшег памћења за опис крајње тачке - Аддресс, Биндинг, Cонтрацт. Повезивање (биндинг) одређује који комуникациони протокол се користи за приступање сервису, да ли ће бити коришћен неки сигуран протокол и слично. WЦФ технологија укључује предефинисана повезивања за најчешће употребљиване комуникационе протоколе као што су СОАП преко ХТТП, ТЦП, МСМQ итд. Интеркација између WЦФ крајње тачке и клијента је урађена преко СОАП протокола (омотача). СОАП омотнице су XМЛ форматирани документ који чине WЦФ независним од платформе. Када клијент жели да позове сервис преко крајње тачке, осим уговора потребно је и да буде повезан са сервисом преко протокола који је одређен крајњом тачком. Према томе, клијент и сервер морају имати компатибилне крајње тачке.

Са појавом .НЕТ Фрамеwорк 3.5 новембра 2007, Мисцрософт је подржао серијализацију ЈСОН формата, што је омогућило WЦФ сервисе доступне позивима из веб апликација које користе АЈАX технологују коришћењем ЈСОН нотације.

Понашања (бехавиорс) уреди

Преко својства понашања могуће је изменити или проширити сервис или функционалност клијента. Понашања дозвољавају програмерима да креирају кориснички дефинисано процесирање порука или трансформацију која је примењена на поруке које су послате или примљене. Неки примери коришћења понашања су следећи:

  • Контролисање да ли ће метаподаци да буду објављени са сервисом
  • Додавање сигурносних механизама сервису, као што је имперсонификација, ауторизација или токени
  • Снимање тока информација о порукама (праћење или логовање)
  • Валидација поруке или параметара
  • Укључивање свих додатних операција када је порука примењена - као што је нотификација која се шаље кориснику да је одређена порука примљена.

Понашања имплементирају интерфејс IServiceBehavior за проширења сервиса, IEndpointBehavior за проширење крајњих тачака, IContractBehavior за уговоре или IOperationBehavior за операције. Сервисна понашања су коришћења за процесирање порука кроз читав сервис, како процесирање не би било специфично појединачно за операције.

Интероперабилност уреди

Једна од основних предности WЦФ је интероперабилност. WЦФ апликације могу да комуницирају са апликацијама развијеним у различитим програмским језицима, технологијама и на различитим платформама.

Референце уреди

Спољашње везе уреди