SaaS vs SOA
V poslednom čase sa všetky aspekty vývoja podnikových softvérových aplikácií posunuli od tradičného prístupu založeného na produktoch smerom k novším prístupom založeným na službách. Rýchly rast SaaS (Software as a Service) a SOA (Service Oriented Architecture) je toho priamym výsledkom. SaaS je kategória cloud computingu, v ktorej sú hlavnými zdrojmi dostupnými ako služba softvérové aplikácie. SOA je architektonický model, v ktorom je logika riešenia prezentovaná ako služby.
Čo je SaaS?
Cloud computing je štýl výpočtovej techniky, pri ktorom sú zdroje sprístupnené cez internet. Najčastejšie ide o rozšíriteľné a vysoko vizualizované zdroje a sú poskytované ako služba. SaaS je jednou z kategórií/metodológií cloud computingu. Ako je uvedené vyššie, zdroje dostupné ako služba prostredníctvom SaaS sú konkrétne softvérové aplikácie. Tu je aplikácia zdieľaná medzi viacerými klientmi pomocou modelu „one-to-many“. Výhodou pre používateľa SaaS je, že sa môže vyhnúť inštalácii a údržbe softvéru a môže sa oslobodiť od zložitých požiadaviek na softvér/hardvér. Poskytovateľ softvéru SaaS, tiež známy ako hostovaný softvér alebo softvér na požiadanie, sa postará o bezpečnosť, dostupnosť a výkon softvéru, pretože sú spustené na serveroch poskytovateľa. Vďaka architektúre viacerých nájomníkov je jediná aplikácia poskytovaná miliónom používateľov prostredníctvom internetových prehliadačov. Zákazníci nevyžadujú licencovanie vopred, zatiaľ čo poskytovatelia majú nižšie náklady, pretože udržiavajú iba jednu aplikáciu. Populárnym softvérom SaaS je Salesforce.com, Workday, Google Apps a Zogo Office.
Čo je SOA?
SOA je architektonický model, v ktorom je logika riešenia prezentovaná ako služby. Tým, že služby sú hlavnou metódou poskytovania riešení, SOA sa snaží byť vysoko efektívna, agilná a produktívna ako iné existujúce technologické riešenia. SOA poskytuje podporu na realizáciu výhod princípov orientovaných na služby a výpočtových systémov orientovaných na služby. Implementáciu SOA zvyčajne tvorí veľa rôznych technológií, rôzne produkty, rozhrania na programovanie aplikácií a ďalšie rôzne rozšírenia. Aplikácia princípov orientácie na služby do softvérových riešení produkuje služby, ktoré sú základnou jednotkou logiky v SOA. Tieto služby môžu existovať autonómne, ale určite nie sú izolované. Služby si zachovávajú určité spoločné a štandardné funkcie, no môžu sa nezávisle vyvíjať a rozširovať. Služby je možné kombinovať a vytvárať ďalšie služby. Služby sú informované o iných službách iba prostredníctvom opisov služieb, a preto ich možno považovať za voľne spojené. Služby komunikujú pomocou autonómnych správ, ktoré sú dostatočne inteligentné na to, aby si sami riadili svoje vlastné časti logiky. Najdôležitejšími princípmi návrhu SOA sú voľná väzba, servisná zmluva, autonómia, abstrakcia, znovupoužiteľnosť, skladateľnosť, bezstavovosť a objaviteľnosť.
Aký je rozdiel medzi SaaS a SOA?
SOA je výrobný model, ktorý sa zaoberá navrhovaním a budovaním softvéru aplikovaním výpočtových princípov orientovaných na služby na softvérové riešenia, zatiaľ čo SaaS je model pre predaj a distribúciu softvérových aplikácií. Zjednodušene povedané, SaaS je prostriedok na poskytovanie softvéru ako služieb cez internet svojim predplatiteľom, zatiaľ čo SOA je architektonický model, v ktorom je najmenšou jednotkou logiky služba. Takže SOA (architektonická stratégia) a SaaS (obchodný model) nemožno priamo porovnávať. Ak však chcete získať maximálne výhody zníženia nákladov a agilnosti, dôrazne sa odporúča, aby podniky integrovali SOA a SaaS dohromady.