Шта су веб услуге? Архитектура, типови, пример

Преглед садржаја:

Anonim

Шта је веб услуга?

Веб услуга је стандардизовани медијум за ширење комуникације између клијента и серверских апликација на Ворлд Виде Вебу. Веб услуга је софтверски модул који је дизајниран за обављање одређеног скупа задатака.

  • Веб услуге у рачунарству у облаку могу се тражити преко мреже и такође се могу позивати у складу с њима.
  • Када се позове, веб услуга ће моћи да пружи функционалност клијенту који позива ту веб услугу.

У овом упутству за Веб услуге научићете основе Веб услуга -

  • Како ВебСервицес раде?
  • Зашто вам треба веб услуга?
  • Тип веб услуге
  • Предности веб услуга
  • Архитектура веб услуга
  • Карактеристике веб услуга
  • Како ВебСервицес раде?

    Како функционишу веб услуге?

    Горњи дијаграм приказује врло поједностављен поглед на то како би веб услуга заправо радила. Клијент би позивао низ позива веб услуга путем захтева према серверу који би био домаћин стварној веб услузи.

    Ови захтеви се подносе путем такозваног позива удаљених процедура. Позиви на даљинске процедуре (РПЦ) су позиви упућени методама које хостује релевантна веб услуга.

    Као пример, Амазон нуди веб услугу која пружа цене производа који се продају на мрежи преко амазон.цом. Предњи крај или презентацијски слој могу бити у .Нет или Јава, али било који програмски језик могао би да комуницира са веб услугом.

    Главна компонента дизајна веб услуга су подаци који се преносе између клијента и сервера, а то је КСМЛ. КСМЛ (Прошириви језик за означавање) је пандан ХТМЛ-у и лак за разумевање средњи језик који разумеју многи програмски језици.

    Дакле, када апликације разговарају међусобно, заправо разговарају у КСМЛ-у. Ово пружа заједничку платформу за апликације развијене на различитим програмским језицима за међусобно разговоре.

    Веб услуге користе нешто познато као СОАП (Симпле Објецт Аццесс Протоцол) за слање КСМЛ података између апликација. Подаци се шаљу преко уобичајеног ХТТП-а. Подаци који се шаљу са веб услуге у апликацију називају се СОАП поруком. СОАП порука није ништа друго доли КСМЛ документ. Пошто је документ написан у КСМЛ-у, клијентска апликација која позива веб услугу може бити написана на било ком програмском језику.

    Зашто вам треба веб услуга?

    Савремене пословне апликације користе разне програмске платформе за развој веб апликација. Неке апликације могу бити развијене у Јави, друге у .Нет-у, док неке друге могу бити развијене у Ангулар ЈС, Ноде.јс итд.

    Најчешће, овим хетерогеним апликацијама је потребна нека врста комуникације да би се догодила између њих. Будући да су изграђени помоћу различитих развојних језика, постаје заиста тешко осигурати тачну комуникацију између апликација.

    Овде долазе веб услуге. Веб услуге пружају заједничку платформу која омогућава вишеструким апликацијама изграђеним на различитим програмским језицима да имају могућност међусобне комуникације.

    Тип веб услуге

    Постоје углавном две врсте веб услуга.

    1. СОАП веб услуге.
    2. РЕСТфул веб услуге.

    Да би веб услуга била у потпуности функционална, постоје одређене компоненте које морају да буду на свом месту. Ове компоненте морају бити присутне без обзира на то који се развојни језик користи за програмирање веб услуге.

    Размотримо ове компоненте детаљније.

    СОАП (протокол за приступ једноставним објектима)

    СОАП је познат као протокол за размену порука независан од транспорта. СОАП се заснива на преношењу КСМЛ података као СОАП порука. Свака порука има нешто што је познато као КСМЛ документ. Само структура КСМЛ документа следи одређени образац, али не и садржај. Најбољи део Веб услуга и СОАП-а је тај што се сви шаљу путем ХТТП-а, што је стандардни веб протокол.

    Ево од чега се састоји СОАП порука

    • Сваки СОАП документ мора имати основни елемент познат као <Енвелопе> елемент. Коренски елемент је први елемент у КСМЛ документу.
    • „Коверат“ је заузврат подељен на 2 дела. Прво је заглавље, а следеће тело.
    • Заглавље садржи податке о усмеравању, што је у основи информација која говори КСМЛ документу којем клијенту треба да га пошаље.
    • Тело ће садржати стварну поруку.

    Дијаграм у наставку приказује једноставан пример комуникације путем СОАП-а.

    СОАП протокол

    О СОАП-у ћемо детаљно разговарати у овом водичу.

    ВСДЛ (језик за опис веб услуга)

    Веб услуга се не може користити ако је није могуће пронаћи . Клијент који се позива на веб услугу треба да зна где се та услуга заиста налази.

    Друго, клијентска апликација мора да зна шта веб услуга заправо ради, тако да може да позове праву веб услугу. То се ради уз помоћ ВСДЛ-а, познатог као језик за опис веб-услуга. ВСДЛ датотека је поново датотека заснована на КСМЛ-у која у основи говори клијентској апликацији шта веб услуга ради. Коришћењем ВСДЛ документа, клијентска апликација би могла да разуме где се веб услуга налази и како се може користити.

    Пример веб услуге

    Пример веб услуга ВСДЛ датотеке дат је у наставку.

    
    
    
    

    Важни аспекти које треба приметити у вези са горњим примерима веб услуга ВСДЛ декларације су следећи:

    1. <порука> - Параметар поруке у дефиницији ВСДЛ користи се за дефинисање различитих елемената података за сваку операцију коју изводи веб услуга. Дакле, у горњим примерима веб услуга имамо 2 поруке које могу да се размене између веб услуге и клијентске апликације, једна је „ТуториалРекуест“, а друга „ТуториалРеспонсе“. ТуториалРекуест садржи елемент под називом „ТуториалИД“ који је типа стринг. Слично томе, операција ТуториалРеспонсе садржи елемент под називом "ТуториалНаме", који је такође стринг типа.
    2. <портТипе> - Ово заправо описује операцију коју може извршити веб услуга, а која се у нашем случају назива Туториал. Ова операција може да траје 2 поруке; једна је улазна порука, а друга је излазна порука.
    3. <биндинг> - Овај елемент садржи протокол који се користи. Дакле, у нашем случају га дефинишемо да користи хттп (хттп: //сцхемас.кмлсоап.орг/соап/хттп ). Такође специфицирамо друге детаље за тело операције, попут простора имена и да ли поруку треба кодирати.

    У овом водичу детаљно ћемо размотрити „ВДСЛ“.

    Универзални опис, откривање и интеграција (УДДИ)

    УДДИ је стандард за описивање, објављивање и откривање веб услуга које пружа одређени добављач услуга. Пружа спецификацију која помаже у хостовању информација на веб услугама.

    Сада смо разговарали у претходној теми о ВСДЛ-у и о томе како садржи информације о томе шта веб услуга заправо ради. Али како клијентска апликација може да пронађе ВСДЛ датотеку да би разумела разне операције које нуди веб услуга? Дакле, УДДИ је одговор на ово питање и нуди спремиште на којем се могу хостовати ВСДЛ датотеке. Тако ће клијентска апликација имати потпун приступ УДДИ-у, који делује као база података која садржи све ВСДЛ датотеке.

    Као што телефонски именик има име, адресу и телефонски број одређене особе, на исти начин ће УДДИ регистар имати релевантне информације за веб услугу . Да би клијентска апликација знала где се може наћи.

    Предности веб услуга

    Већ разумемо зашто су уопште настале веб услуге, а то је пружање платформе која омогућава различитим апликацијама да међусобно разговарају.

    Али погледајмо листу предности веб услуга зашто је важно користити веб услуге.

    1. Излагање пословне функционалности на мрежи - Веб услуга је јединица управљаног кода која пружа неку врсту функционалности клијентским апликацијама или крајњим корисницима. Ова функција се може позвати преко ХТТП протокола, што значи да се може позвати и преко Интернета. Данас су све апликације на Интернету што чини сврху веб услуга кориснијом. То значи да веб услуга може бити било где на Интернету и пружати потребне функције по потреби.

    2. Интероперабилност међу апликацијама - Веб услуге омогућавају разним апликацијама да међусобно разговарају и међусобно деле податке и услуге. Све врсте апликација могу међусобно разговарати. Дакле, уместо да пишете одређени код који могу да разумеју само одређене апликације, сада можете да напишете генерички код који могу да разумеју све апликације

    3. Стандардизовани протокол који сви разумеју - Веб услуге користе стандардизовани индустријски протокол за комуникацију. Сва четири слоја (Сервице Транспорт, КСМЛ Мессагинг, Сервице Десцриптион и Сервице Дисцовери слојеви) користе добро дефинисане протоколе у ​​стеку протокола веб услуга.

    4. Смањење трошкова комуникације - Веб услуге користе СОАП преко ХТТП протокола, тако да постојећи јефтини Интернет можете користити за примену веб услуга.

    Архитектура веб услуга

    Сваком оквиру је потребна нека врста архитектуре како би се осигурало да цео оквир функционише по жељи, слично томе, и у веб услугама. Веб услуге Архитектура састоји од три различита улога као што је дато у наставку:

    1. Провајдер - Провајдер креира веб услугу и чини је доступном клијентској апликацији која жели да је користи.
    2. Подносилац захтева - подносилац захтева није ништа друго до клијентска апликација која треба да контактира веб услугу. Клијентска апликација може бити .Нет, Јава или било која друга апликација заснована на језику која тражи неку врсту функционалности путем веб услуге.
    3. Посредник - Посредник није ништа друго до апликација која омогућава приступ УДДИ-у. УДДИ, као што је разматрано у претходној теми, омогућава клијентској апликацији да лоцира веб услугу.

    Дијаграм у наставку приказује како добављач услуга, подносилац захтева и регистар услуга међусобно комуницирају.

    Архитектура веб услуга
    1. Објави - Добављач обавештава брокера (регистар услуга) о постојању веб услуге помоћу посредника за објављивање брокера како би услугу учинио доступном клијентима
    2. Пронађи - Подносилац захтева консултује брокера како би пронашао објављену веб услугу
    3. Везивање - Уз помоћ података које је посредник (регистар услуга) добио о веб услузи, подносилац захтева може да веже или позове веб услугу.

    Карактеристике веб услуге

    Веб услуге имају следеће посебне карактеристике понашања:

    1. Они се заснивају на КСМЛ-у - Веб услуге користе КСМЛ за представљање података на слојевима представљања и преноса података. Коришћење КСМЛ-а елиминише било какву зависност од умрежавања, оперативног система или платформе, јер је КСМЛ уобичајени језик који сви разумеју.

    2. Лоосели Цоупле - Лоосели Цоупле значи да клијент и веб услуга нису повезани једни са другима, што значи да, чак и ако се веб услуга временом мења, не би требало да промени начин на који клијент позива веб услугу. Усвајање слабо повезане архитектуре тежи да софтверске системе учини лакшим за управљање и омогућава једноставнију интеграцију између различитих система.

    3. Синхрона или асинхрона функционалност - Синхроност се односи на везивање клијента за извршење услуге. У синхроним операцијама, клијент ће заправо сачекати да веб услуга доврши операцију. Пример овога је вероватно сценарио у коме се изводи операција читања и писања базе података. Ако се подаци читају из једне базе података, а затим записују у другу, тада се операције морају изводити у секвенци. Асинхроне операције омогућавају клијенту да позове услугу, а затим паралелно извршава друге функције. Ово је једна од уобичајених и вероватно најпожељнијих техника за осигуравање да се друге услуге не зауставе када се изводи одређена операција.

    4. Способност подршке позивима удаљених процедура (РПЦ) - Веб услуге омогућавају клијентима да позивају процедуре, функције и методе на удаљеним објектима користећи протокол заснован на КСМЛ-у. Даљински поступци излажу улазне и излазне параметре које веб услуга мора подржавати.

    5. Подржава размену докумената - Једна од кључних предности КСМЛ-а је његов генерички начин представљања не само података већ и сложених докумената. Ови документи могу бити једноставни као представљање тренутне адресе или могу бити сложени као представљање читаве књиге.