SOA verzus webové služby
Webové služby sa používajú na vytváranie aplikácií, ktoré môžu odosielať / prijímať správy pomocou protokolu SOAP cez HTTP. Webová služba je publikovaný balík funkcií ponúkaných prostredníctvom webu. SOA je súbor architektonických konceptov používaných na rozvoj a integráciu služieb. Webové služby môžu byť použité na implementáciu SOA. Je to však iba jediný spôsob realizácie aplikácií založených na SOA.
Čo sú to webové služby?
Webová služba je spôsob komunikácie v sieti. Podľa W3C je webová služba systém určený na podporu transakcií medzi strojmi v sieti. Je to webové rozhranie API opísané v jazyku WSDL (Web Service Description Language) a webové služby sú zvyčajne samostatné a samy popisujúce. Webové služby je možné objaviť pomocou protokolu UDDI (Universal Description, Discovery and Integration). Výmenou správ SOAP (Simple Object Access Protocol) zvyčajne cez HTTP (s XML) môžu iné systémy interagovať s webovými službami.
Webové služby sa používajú mnohými spôsobmi, ako napríklad RPC (Remote Procedure Call), SOA (Service Oriented Architecture) a REST (Representational State Transfer). Existujú dve automatizované metodiky navrhovania pre vývoj webových služieb. Prístup zdola nahor sa zaoberá najprv vytvorením tried a potom použitím nástrojov generovania WSDL na zostavenie týchto tried ako webových služieb. Prístup zhora nadol sa zaoberá definovaním špecifikácií WSDL a potom pomocou nástrojov na generovanie kódu na vygenerovanie zodpovedajúcich tried. Webové služby majú dve hlavné použitia. Môžu byť použité ako opakovane použiteľné komponenty aplikácií a / alebo na pripojenie webových aplikácií bežiacich na rôznych platformách.
Čo je SOA?
SOA (Service-Oriented Architecture) je súbor architektonických konceptov používaných na rozvoj a integráciu služieb. SOA sa zaoberá distribuovaným výpočtovým systémom, v ktorom zákazníci spotrebúvajú súbor interoperabilných služieb. Jedna služba môže konzumovať jednu službu a naopak. SOA sa preto často používa na integráciu viacerých aplikácií, ktoré používajú rôzne platformy. Aby SOA správne fungovala, služby by mali byť voľne spojené s operačnými systémami a technológiami základných aplikácií. Vývojári SOA vytvárajú služby pomocou jednotiek funkčnosti a sprístupňujú ich prostredníctvom internetu. Webové služby sa môžu použiť na implementáciu architektúry SOA. V takom prípade sa webové služby stávajú jednotkami funkčnosti SOA prístupnými cez internet. Webové služby môže používať ktokoľvek bez obáv o platformy alebo programovacie jazyky používané na ich vývoj. SOA je postavený priamo na princípe orientácie na služby, ktorý hovorí o službách s jednoduchým rozhraním, ku ktorým môžu používatelia pristupovať nezávisle, bez obáv z aktuálnej implementácie služby na platforme..
Aký je rozdiel medzi SOA a webovými službami?
Medzi webovými službami a SOA sú kľúčové rozdiely. Webové služby definujú webovú technológiu, ktorú je možné použiť na vytváranie aplikácií, ktoré môžu odosielať / prijímať správy pomocou protokolu SOPA cez HTTP. SOA je architektonický model na implementáciu voľne spojených aplikácií založených na službách. Webové služby môžu byť použité na implementáciu SOA aplikácií. Aj keď prístup k SOA webových služieb sa stal veľmi populárnym, je to len jediný spôsob implementácie SOA. SOA sa môže implementovať pomocou akejkoľvek inej technológie založenej na službách (napr. CORBA a REST).