SaaS vs. SOA
Kürzlich wurden alle Aspekte der Entwicklung von Unternehmenssoftwareanwendungen weg von traditionellen produktbasierten Ansätzen hin zu neueren dienstleistungsbasierten Ansätzen verlagert. Das schnelle Wachstum von SaaS (Software as a Service) und SOA (Service Oriented Architecture) ist eine direkte Folge davon. SaaS ist die Kategorie des Cloud Computing, bei der die Hauptressourcen, die als Dienst verfügbar sind, Softwareanwendungen sind. SOA ist ein Architekturmodell, in dem die Lösungslogik als Dienste dargestellt wird.
Was ist SaaS?
Cloud Computing ist ein Computerstil, bei dem Ressourcen über das Internet verfügbar gemacht werden. Meistens handelt es sich bei diesen Ressourcen um erweiterbare und stark visualisierte Ressourcen, die als Dienst bereitgestellt werden. SaaS ist eine der Kategorien/Methoden des Cloud Computing. Wie oben erwähnt, sind Ressourcen, die als Dienst über SaaS verfügbar sind, speziell Softwareanwendungen. Hier wird eine Anwendung nach dem „One-to-Many“-Modell von mehreren Clients gemeinsam genutzt. Der Vorteil für den SaaS-Benutzer besteht darin, dass der Benutzer die Installation und Wartung von Software vermeiden und sich von komplexen Software-/Hardwareanforderungen befreien kann. Der Anbieter von SaaS-Software, auch bekannt als gehostete Software oder On-Demand-Software, kümmert sich um die Sicherheit, Verfügbarkeit und Leistung der Software, da sie auf den Servern des Anbieters ausgeführt werden. Unter Verwendung einer mandantenfähigen Architektur wird eine einzelne Anwendung Millionen von Benutzern über Internetbrowser bereitgestellt. Kunden benötigen keine Vorablizenzierung, während Anbieter niedrigere Kosten genießen, da sie nur eine Anwendung pflegen. Beliebte SaaS-Software ist Salesforce.com, Workday, Google Apps und Zogo Office.
Was ist SOA?
SOA ist ein Architekturmodell, in dem die Lösungslogik als Dienste dargestellt wird. Da Services die Hauptmethode zur Bereitstellung von Lösungen sind, strebt SOA danach, hocheffizient, agil und produktiver zu sein als andere bestehende Technologielösungen. SOA unterstützt dabei, die Vorteile serviceorientierter Prinzipien und serviceorientierter Datenverarbeitung zu realisieren. Viele verschiedene Technologien, verschiedene Produkte, Anwendungsprogrammierschnittstellen und verschiedene andere Erweiterungen bilden typischerweise eine SOA-Implementierung. Die Anwendung von Prinzipien der Serviceorientierung auf Softwarelösungen erzeugt Services, und diese sind die Grundeinheit der Logik in der SOA. Diese Dienste können autonom existieren, aber sie sind sicherlich nicht isoliert. Dienste beh alten bestimmte gemeinsame und standardmäßige Funktionen bei, können jedoch unabhängig voneinander weiterentwickelt und erweitert werden. Dienste können kombiniert werden, um andere Dienste zu erstellen. Dienste kennen andere Dienste nur durch Dienstbeschreibungen und können daher als lose gekoppelt betrachtet werden. Dienste kommunizieren über autonome Nachrichten, die intelligent genug sind, um ihre eigenen Teile der Logik selbst zu verw alten. Die wichtigsten SOA-Designprinzipien sind lose Kopplung, Servicevertrag, Autonomie, Abstraktion, Wiederverwendbarkeit, Zusammensetzbarkeit, Zustandslosigkeit und Auffindbarkeit.
Was ist der Unterschied zwischen SaaS und SOA?
SOA ist ein Fertigungsmodell, das sich mit dem Entwerfen und Erstellen von Software befasst, indem die Prinzipien des serviceorientierten Rechnens auf Softwarelösungen angewendet werden, während SaaS ein Modell für den Verkauf und Vertrieb von Softwareanwendungen ist. Einfacher ausgedrückt ist SaaS ein Mittel zur Bereitstellung von Software als Dienste über das Internet für seine Abonnenten, während SOA ein Architekturmodell ist, bei dem die kleinste Logikeinheit ein Dienst ist. Daher können SOA (eine Architekturstrategie) und SaaS (ein Geschäftsmodell) nicht direkt verglichen werden. Um jedoch den größtmöglichen Nutzen aus Kostensenkung und Agilität zu ziehen, wird Unternehmen dringend empfohlen, SOA und SaaS zusammen zu integrieren.