СОА (Сервице Ориентед Арцхитецтуре) принципи

Anonim

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

СОА само олакшава софтверским компонентама путем различитих мрежа међусобну сарадњу.

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

СОА се заснива на неким кључним принципима који су поменути у наставку

  1. Стандардизовани уговор о услузи - Услуге се придржавају описа услуге. Услуга мора имати некакав опис који описује о чему се ради. Ово олакшава клијентским апликацијама да разумеју шта услуга ради.
  1. Лабава спрега - мање зависности једни од других. Ово је једна од главних карактеристика веб услуга која само наводи да би требало да постоји што мања зависност између веб услуга и клијента који се позива на веб услугу. Дакле, ако се функционалност услуге промени у било ком тренутку, не би требало да сломи клијентску апликацију или да је заустави у раду.
  1. Апстракција услуга - Услуге скривају логику коју инкапсулирају од спољног света. Услуга не би требало да излаже како извршава своју функционалност; требало би само да каже клијентској апликацији шта ради, а не како то ради.
  1. Поновна употреба услуге - Логика је подељена на услуге са намером да максимизира поновну употребу. У било којој развојној компанији поновна употребљивост је велика тема, јер очигледно не би било потребно трошити време и напоре градећи исти код изнова и изнова у више апликација које их захтевају. Дакле, када је код за веб услугу написан, он би требало да има могућност рада са различитим типовима апликација.
  1. Аутономија услуге - Услуге треба да имају контролу над логиком коју инкапсулирају. Услуга зна све о томе коју функционалност нуди и стога би такође требало да има потпуну контролу над кодом који садржи.
  1. Држављанство без држављанства - У идеалном случају, услуге би требало бити без држављанства. То значи да службе не би смеле да ускраћују информације из једне државе у другу. То би требало да се уради из било које клијентске апликације. Пример може бити поруџбина постављена на веб локацији за куповину. Сада можете да имате веб услугу која вам даје цену одређеног предмета. Али ако се артикли додају у корпу за куповину, а веб страница пређе на страницу на којој вршите уплату, веб услуга не би требало да сноси одговорност за цену предмета који се пребацује на страницу за плаћање. Уместо тога, то треба да уради веб апликација.
  1. Откривеност услуге - Услуге се могу открити (обично у регистру услуга). То смо већ видели у концепту УДДИ, који врши регистар који може да садржи информације о веб услузи.
  1. Састављивост услуга - Услуге велике проблеме разграђују у мале проблеме. Никада не треба уграђивати све функционалности апликације у једну услугу, већ је рашчланити на модуле на сваки са засебном пословном функционалношћу.
  1. Интероперабилност услуге - Услуге треба да користе стандарде који различитим претплатницима омогућавају употребу услуге. У веб услугама се користе стандарди као КСМЛ и комуникација преко ХТТП-а како би се осигурало да су у складу са овим принципом.