SaaS a SOA
Ostatnio wszystkie aspekty tworzenia aplikacji dla przedsiębiorstw zostały przesunięte z tradycyjnego podejścia opartego na produktach na rzecz nowszych podejść opartych na usługach. Bezpośrednim tego efektem jest szybki rozwój SaaS (Software as a Service) i SOA (Service Oriented Architecture). SaaS to kategoria przetwarzania w chmurze, w której głównymi zasobami dostępnymi jako usługa są aplikacje. SOA to model architektoniczny, w którym logika rozwiązania jest prezentowana jako usługi.
Co to jest SaaS?
Przetwarzanie w chmurze to styl przetwarzania, w którym zasoby są udostępniane przez Internet. Najczęściej są to zasoby rozszerzalne, wysoce zwizualizowane i dostarczane jako usługa. SaaS to jedna z kategorii/metodologii przetwarzania w chmurze. Jak wspomniano powyżej, zasoby dostępne jako usługa za pośrednictwem SaaS to w szczególności aplikacje programowe. W tym przypadku aplikacja jest udostępniana wielu klientom w modelu „jeden do wielu”. Zaletą oferowaną użytkownikowi SaaS jest to, że użytkownik może uniknąć instalacji i konserwacji oprogramowania oraz uwolnić się od złożonych wymagań programowych/sprzętowych. Dostawca oprogramowania SaaS, znanego również jako oprogramowanie hostowane lub oprogramowanie na żądanie, zadba o bezpieczeństwo, dostępność i wydajność oprogramowania, ponieważ są one uruchamiane na serwerach dostawcy. Dzięki architekturze wielodostępnej pojedyncza aplikacja jest dostarczana milionom użytkowników za pośrednictwem przeglądarek internetowych. Klienci nie wymagają licencjonowania z góry, podczas gdy dostawcy korzystają z niższych kosztów, ponieważ utrzymują tylko jedną aplikację. Popularne oprogramowanie SaaS to Salesforce.com, Workday, Google Apps i Zogo Office.
Co to jest SOA?
SOA to model architektoniczny, w którym logika rozwiązania jest prezentowana jako usługi. Mając usługi jako główną metodę dostarczania rozwiązań, SOA stara się być wysoce wydajna, elastyczna i produktywna niż inne istniejące rozwiązania technologiczne. SOA zapewnia wsparcie w realizacji zalet zasad zorientowanych na usługi i przetwarzania zorientowanego na usługi. Na implementację SOA składa się zwykle wiele różnych technologii, różne produkty, interfejsy programowania aplikacji i inne różne rozszerzenia. Zastosowanie zasad zorientowania na usługi w rozwiązaniach programowych tworzy usługi i są one podstawową jednostką logiki w SOA. Usługi te mogą istnieć autonomicznie, ale z pewnością nie są odizolowane. Usługi zachowują pewne wspólne i standardowe funkcje, ale mogą być niezależnie rozwijane i rozszerzane. Usługi można łączyć w celu tworzenia innych usług. Usługi są świadome innych usług tylko poprzez opisy usług i dlatego mogą być uważane za luźno powiązane. Usługi komunikują się za pomocą autonomicznych komunikatów, które są wystarczająco inteligentne, aby zarządzać własnymi częściami logiki. Najważniejsze zasady projektowania SOA to luźne łączenie, umowa o świadczenie usług, autonomia, abstrakcja, możliwość ponownego wykorzystania, komposowalność, bezstanowość i możliwość odnajdywania.
Jaka jest różnica między SaaS a SOA?
SOA to model produkcyjny, który zajmuje się projektowaniem i budowaniem oprogramowania poprzez zastosowanie zasad obliczeniowych zorientowanych na usługi w rozwiązaniach programowych, podczas gdy SaaS to model sprzedaży i dystrybucji aplikacji. Mówiąc prościej, SaaS jest sposobem dostarczania swoim abonentom oprogramowania jako usług przez Internet, podczas gdy SOA to model architektoniczny, w którym najmniejszą jednostką logiki jest usługa. Tak więc SOA (strategia architektoniczna) i SaaS (model biznesowy) nie mogą być bezpośrednio porównywane. Jednak, aby uzyskać maksymalne korzyści z redukcji kosztów i elastyczności, zdecydowanie zaleca się, aby przedsiębiorstwa zintegrowały razem SOA i SaaS.