SaaS vs SOA
V poslední době byly všechny aspekty vývoje podnikových softwarových aplikací přesunuty od tradičního přístupu založeného na produktech k novějším přístupům založeným na službách. Rychlý růst SaaS (Software as a Service) a SOA (Service Oriented Architecture) je toho přímým důsledkem. SaaS je kategorie cloud computingu, ve které jsou hlavními zdroji dostupnými jako služba softwarové aplikace. SOA je architektonický model, ve kterém je logika řešení prezentována jako služby.
Co je SaaS?
Cloud computing je styl počítání, ve kterém jsou zdroje zpřístupňovány přes internet. Nejčastěji se jedná o rozšiřitelné a vysoce vizualizované zdroje a jsou poskytovány jako služba. SaaS je jednou z kategorií/metodologií cloud computingu. Jak bylo uvedeno výše, prostředky dostupné jako služba prostřednictvím SaaS jsou konkrétně softwarové aplikace. Zde je aplikace sdílena mezi více klienty pomocí modelu „one-to-many“. Výhodou nabízenou uživateli SaaS je, že se uživatel může vyhnout instalaci a údržbě softwaru a může se osvobodit od složitých požadavků na software/hardware. Poskytovatel softwaru SaaS, také známý jako hostovaný software nebo software na vyžádání, se postará o bezpečnost, dostupnost a výkon softwaru, protože jsou provozovány na serverech poskytovatele. Pomocí multitenantské architektury je jediná aplikace doručena milionům uživatelů prostřednictvím internetových prohlížečů. Zákazníci nevyžadují licencování předem, zatímco poskytovatelé mají nižší náklady, protože udržují pouze jednu aplikaci. Populárním softwarem SaaS je Salesforce.com, Workday, Google Apps a Zogo Office.
Co je SOA?
SOA je architektonický model, ve kterém je logika řešení prezentována jako služby. Tím, že služby jsou hlavní metodou poskytování řešení, se SOA snaží být vysoce efektivní, agilní a produktivní než jiná existující technologická řešení. SOA poskytuje podporu pro realizaci výhod principů orientovaných na služby a výpočtů orientovaných na služby. Mnoho různých technologií, různé produkty, rozhraní pro programování aplikací a další různá rozšíření obvykle tvoří implementaci SOA. Aplikace principů orientace na služby na softwarová řešení vytváří služby, které jsou základní jednotkou logiky SOA. Tyto služby mohou existovat autonomně, ale rozhodně nejsou izolované. Služby si zachovávají určité společné a standardní funkce, přesto je lze nezávisle vyvíjet a rozšiřovat. Služby lze kombinovat a vytvářet další služby. Služby jsou si vědomy ostatních služeb pouze prostřednictvím popisů služeb, a proto je lze považovat za volně spojené. Služby komunikují pomocí autonomních zpráv, které jsou dostatečně inteligentní na to, aby samy řídily své vlastní části logiky. Nejdůležitějšími principy návrhu SOA jsou volná vazba, servisní smlouva, autonomie, abstrakce, opětovná použitelnost, komposovatelnost, bezstavovost a objevitelnost.
Jaký je rozdíl mezi SaaS a SOA?
SOA je výrobní model, který se zabývá návrhem a budováním softwaru aplikací výpočetních principů orientovaných na služby na softwarová řešení, zatímco SaaS je model pro prodej a distribuci softwarových aplikací. Jednodušeji řečeno, SaaS je prostředek k poskytování softwaru jako služeb přes internet svým předplatitelům, zatímco SOA je architektonický model, ve kterém je nejmenší jednotkou logiky služba. SOA (architektonická strategie) a SaaS (obchodní model) tedy nelze přímo srovnávat. Chcete-li však dosáhnout maximálních výhod snížení nákladů a agilnosti, důrazně se doporučuje, aby podniky integrovaly SOA a SaaS dohromady.