Разлика између РЕСТ-а и СОАП-а

Увод

Овај чланак говори о два протокола приступа веб услузи, СОАП („Једноставан протокол приступа објекту“) и РЕСТ ("Репрезентативни државни пренос").

Веб сервиси

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

Следећи основни пример приказује основну употребу веб услуга пре него што схватите како се подаци преносе у и из веб сервиса, користећи СОАП или РЕСТ.

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

Потребно је извршити једну промену у том методу захтевајући проналазак сваке инстанце за уређивање (и поновно тестирање). Овом сценарију би користило коришћење веб сервиса за оптимално функционисање и побољшање пословне окретности.

Стварањем једне веб услуге са доступним методама за додавање, одузимање, дељење и множење, апликација ће се ангажовати са тим веб сервисом кад год је потребно израчунавање података; позива веб сервис да уради израчун и произведе резултат. Дакле, постоји само једно место за програмера за одржавање методе израчуна података.

Начин на који се рукује подацима у веб услугама одређује се примењује ли СОАП или РЕСТ.

СОА и БПМН

Апликација изграђена на извршним процесима заснована је на Услужно оријентисана архитектура ("ТАКО ДА"). То је приступ како се користе услуге које преносе, производе, потврђују или израчунавају податке.

ТАКО ДА постаје све повољније за побољшање квалитета и времена развоја и за побољшање перформанси и скалабилности апликација.

Нотација за моделирање пословних процеса („БПМН“) моделира услугу или пословни процес, што могу да ураде нетехнички људи, тј. Пословни аналитичар. Користећи БПМН, пословни модели (за услуге) програмери који лако имплементирају модел као интерпретативни процес лако се тумаче, а ти процеси могу или не захтевају људску интеракцију.

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

СОАП је метода преноса података путем интернета.

Првобитно развијен од стране Мицрософта због појаве интернета, СОАП је заменио стари ДЦОМ и ЦОРБА технологија, и трајао је много дуже од РЕСТ-а.

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

СОАП користи само КСМЛ за услуге слања порука путем Интернета и захтеви за КСМЛ поруке могу бити веома сложени и ако се развијају ручно, потребна је пажљива пажња јер је СОАП нефлексибилан са грешкама.

Могуће је аутоматизовање захтева за СОАП поруке користећи .НЕТ језике (као пример), где програмери не морају да раде са КСМЛ-ом јер се аутоматски генерише у позадини.

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

Стога је кориштени програмски језик одлучујући фактор колико ће бити тешко имплементирати СОАП.

Један од комада пртљага који прати СОАП поруку је Језик описа веб услуга („ВСДЛ“) да бисте објаснили како функционише веб услуга. Када се апликација односи на веб услугу, она чита и разуме шта треба да ради са веб услугом.

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

Како је СОАП стандардизиран, он је крутији од РЕСТ-а, иако оба овисе о утврђеним правилима.

РЕСТ

РЕСТ је новији и љепши рођак СОАП-а и брзо постаје избор за већину веб и мобилних апликација.

Више од деценије након увођења, РЕСТ је лакши, одрживији и скалабилнији начин интеракције са веб услугама.

За разлику од СОАП-а, РЕСТ се не користи КСМЛ искључиво; обичан текст, ЦСВ, и РСС може се користити, као и ЈСОН за АЈАКС позиве; све док и извор и циљеви могу разумети кориштене формате.

РЕСТ је мање сложен и сматра се мањом кривуљом учења у односу на СОАП. Већина модерних програмских језика има библиотеке и оквире за олакшавање РЕСТ (РЕСТфул) услуга, као што су Ц #, Питхон, Јава и Перл.

РЕСТ је бржи захваљујући минималној обради и ефикаснији је у кориштењу различитих формата порука.

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