SOA pret tīmekļa pakalpojumiem
Tīmekļa pakalpojumi tiek izmantoti, lai izveidotu lietojumprogrammas, kas var nosūtīt/saņemt ziņojumus, izmantojot SOAP, izmantojot HTTP. Tīmekļa pakalpojums ir publiski pieejama funkcionalitātes pakete, kas tiek piedāvāta tīmeklī. SOA ir arhitektūras koncepciju kopums, ko izmanto pakalpojumu attīstībai un integrācijai. SOA ieviešanai var izmantot tīmekļa pakalpojumus. Taču tā ir tikai viena metode, kā realizēt SOA balstītas lietojumprogrammas.
Kas ir tīmekļa pakalpojumi?
Tīmekļa pakalpojums ir saziņas metode tīklā. Saskaņā ar W3C tīmekļa pakalpojums ir sistēma, kas paredzēta, lai atbalstītu darījumus starp mašīnām tīklā. Tā ir tīmekļa API, kas aprakstīta WSDL (Web Service Description Language), un tīmekļa pakalpojumi parasti ir autonomi un paši sevi apraksta. Tīmekļa pakalpojumus var atklāt, izmantojot UDDI (Universal Description, Discovery and Integration) protokolu. Apmainoties ar SOAP (Simple Object Access Protocol) ziņojumiem, parasti izmantojot HTTP (ar XML), citas sistēmas var mijiedarboties ar tīmekļa pakalpojumiem.
Tīmekļa pakalpojumi tiek izmantoti vairākos veidos, piemēram, RPC (Remote Procedure Call), SOA (Service Oriented Architecture) un REST (Representational State Transfer). Tīmekļa pakalpojumu izstrādei ir divas automatizētas projektēšanas metodoloģijas. Augšupējā pieeja vispirms ir saistīta ar klašu izveidi un pēc tam WSDL ģenerēšanas rīku izmantošanu, lai šīs klases izveidotu kā tīmekļa pakalpojumus. No augšas uz leju pieeja ir saistīta ar WSDL specifikāciju definēšanu un pēc tam koda ģenerēšanas rīku izmantošanu, lai ģenerētu atbilstošās klases. Tīmekļa pakalpojumiem ir divi galvenie lietojumi. Tos var izmantot kā atkārtoti lietojamus lietojumprogrammu komponentus un/vai lai savienotu tīmekļa lietojumprogrammas, kas darbojas dažādās platformās.
Kas ir SOA?
SOA (uz pakalpojumu orientēta arhitektūra) ir arhitektūras koncepciju kopums, ko izmanto pakalpojumu attīstībai un integrācijai. SOA nodarbojas ar izkliedētu skaitļošanu, kurā patērētāji patērē sadarbspējīgu pakalpojumu kopumu. Vairāki patērētāji var patērēt vienu pakalpojumu un otrādi. Tāpēc SOA bieži izmanto, lai integrētu vairākas lietojumprogrammas, kas izmanto dažādas platformas. Lai SOA darbotos pareizi, pakalpojumiem jābūt brīvi savienotiem ar operētājsistēmām un pamatā esošo lietojumprogrammu tehnoloģijām. SOA izstrādātāji veido pakalpojumus, izmantojot funkcionalitātes vienības, un dara tos pieejamus internetā. Tīmekļa pakalpojumus var izmantot SOA arhitektūras ieviešanai. Tādā gadījumā tīmekļa pakalpojumi kļūst par SOA funkcionalitātes vienībām, kas pieejamas internetā. Tīmekļa pakalpojumus var izmantot ikviens, neuztraucoties par platformām vai programmēšanas valodām, kas tiek izmantotas to izstrādei. SOA ir tieši balstīts uz pakalpojumu orientācijas principu, kas runā par pakalpojumiem ar vienkāršu interfeisu, kuram lietotāji var piekļūt neatkarīgi, neuztraucoties par pakalpojuma faktisko platformas ieviešanu.
Kāda ir atšķirība starp SOA un tīmekļa pakalpojumiem?
Ir dažas galvenās atšķirības starp tīmekļa pakalpojumiem un SOA. Tīmekļa pakalpojumi definē tīmekļa tehnoloģiju, ko var izmantot, lai izveidotu lietojumprogrammas, kas var sūtīt/saņemt ziņojumus, izmantojot SOPA, izmantojot HTTP. Tomēr SOA ir arhitektūras modelis brīvi saistītu pakalpojumu lietojumprogrammu ieviešanai. Tīmekļa pakalpojumus var izmantot SOA lietojumprogrammu ieviešanai. Lai gan tīmekļa pakalpojumu pieeja SOA ir kļuvusi ļoti populāra, tā ir tikai viena SOA ieviešanas metode. SOA var ieviest, izmantojot jebkuru citu uz pakalpojumiem balstītu tehnoloģiju (piemēram, CORBA un REST).