SaaS vs SOA
Nyligen har alla aspekter av utveckling av företagsprogramvaruapplikationer flyttats bort från traditionell produktbaserad strategi till nyare servicebaserade metoder. Den snabba tillväxten av SaaS (Software as a Service) och SOA (Service Oriented Architecture) är ett direkt resultat av det. SaaS är den kategori av molnberäkningar där de huvudsakliga resurserna som är tillgängliga som en tjänst är mjukvaruapplikationer. SOA är en arkitektonisk modell där lösningslogiken presenteras som tjänster.
Vad är SaaS?
Cloud computing är en datorstil där resurser görs tillgängliga över internet. Oftast är dessa resurser utbyggbara och mycket visualiserade resurser och de tillhandahålls som en tjänst. SaaS är en av kategorierna/metoderna för cloud computing. Som nämnts ovan är resurser tillgängliga som en tjänst genom SaaS specifikt mjukvaruapplikationer. Här delas en applikation mellan flera klienter med hjälp av "en-till-många"-modellen. Fördelen som erbjuds för SaaS-användaren är att användaren kan undvika att installera och underhålla mjukvara och kan befria sig från komplexa krav på mjukvara/hårdvara. Leverantören av SaaS-mjukvara, även känd som värdprogramvara eller on-demand-mjukvara, kommer att ta hand om programvarans säkerhet, tillgänglighet och prestanda eftersom de körs på leverantörens servrar. Med en multitenant-arkitektur levereras en enda applikation till miljontals användare via webbläsare. Kunder behöver inte licensiering i förväg medan leverantörer har en lägre kostnad eftersom de bara underhåller en applikation. Populära SaaS-programvara är Salesforce.se, Workday, Google Apps och Zogo Office.
Vad är SOA?
SOA är en arkitektonisk modell där lösningslogiken presenteras som tjänster. Genom att ha tjänster som huvudmetod för att leverera lösningar strävar SOA efter att vara högeffektiva, smidiga och produktiva än andra befintliga tekniska lösningar. SOA ger stöd för att inse fördelarna med tjänsteorienterade principer och tjänsteorienterad datoranvändning. Många olika teknologier, olika produkter, applikationsprogrammeringsgränssnitt och andra olika tillägg utgör vanligtvis en SOA-implementering. Tillämpning av tjänsteorienteringsprinciper på mjukvarulösningar producerar tjänster och dessa är den grundläggande logiken i SOA. Dessa tjänster kan existera autonomt, men de är verkligen inte isolerade. Tjänsterna upprätthåller vissa gemensamma och standardfunktioner, men de kan utvecklas och utökas oberoende av varandra. Tjänster kan kombineras för att skapa andra tjänster. Tjänster är medvetna om andra tjänster endast genom tjänstebeskrivningar och kan därför anses vara löst kopplade. Tjänster kommunicerar med hjälp av autonoma meddelanden som är intelligenta nog att själv styra sina egna delar av logiken. De viktigaste SOA-designprinciperna är lös koppling, servicekontrakt, autonomi, abstraktion, återanvändbarhet, komponerbarhet, tillståndslöshet och upptäckbarhet.
Vad är skillnaden mellan SaaS och SOA?
SOA är en tillverkningsmodell som handlar om att designa och bygga mjukvara genom att tillämpa de tjänsteorienterade datorprinciperna på mjukvarulösningar, medan SaaS är en modell för försäljning och distribution av mjukvaruapplikationer. I enklare termer är SaaS ett sätt att leverera mjukvara som tjänster över internet till sina abonnenter, medan SOA är en arkitektonisk modell där den minsta logiska enheten är en tjänst. Så, SOA (en arkitektonisk strategi) och SaaS (en affärsmodell) kan inte direkt jämföras. Men för att få maximal nytta av kostnadsreduktion och smidighet rekommenderas det starkt att företag integrerar SOA och SaaS tillsammans.