Ein Blick auf die Schrauben und Muttern serviceorientierter Architektur
Serviceorientierte Architektur (SOA) ist ein Stil des Software-Designs, bei dem Dienste für andere Komponenten von Anwendungskomponenten über ein Kommunikationsprotokoll über a bereitgestellt werden Netzwerk. Seine Prinzipien sind unabhängig von Anbietern und anderen Technologien. In einer serviceorientierten Architektur kommunizieren eine Reihe von Diensten auf zwei Arten miteinander: durch Weitergabe von Daten oder durch zwei oder mehr Dienste, die eine Aktivität koordinieren. Dies ist nur eine Definition der serviceorientierten Architektur. Ein Artikel auf Wikipedia geht viel detaillierter.
Merkmale der serviceorientierten Architektur
Während die definierenden Konzepte der serviceorientierten Architektur von Unternehmen zu Unternehmen unterschiedlich sind, gibt es sechs wichtige Grundsätze das übersteigt das breite Konzept der serviceorientierten Architektur. Diese Grundwerte umfassen:
Geschäftswert
Strategische Ziele
Eigeninteroperabilität
Gemeinsame Dienste
Flexibilität
Evolutionäre Verfeinerung
Jeder dieser Grundwerte kann auf einem Kontinuum von verteiltem Computing im älteren Format über serviceorientierte Architektur bis hin zu Cloud Computing gesehen werden (was häufig als Ableger angesehen wird) of Service-Oriented Architecture).
Serviceorientierte Architekturmuster
In jedem der Bausteine der serviceorientierten Architektur gibt es drei Rollen: Dienstanbieter; Service Broker, Service Registry, Service Repository; und Dienstanforderer / Verbraucher.
Der Dienstanbieter arbeitet mit der Dienstregistrierung zusammen und diskutiert das Warum und Wie der angebotenen Dienste, wie Sicherheit, Verfügbarkeit, Gebühren und mehr. Diese Rolle bestimmt auch die Servicekategorie und ob Handelsvereinbarungen erforderlich sind.
Der Service Broker stellt den Anforderern Informationen zu dem Service zur Verfügung. Der Umfang des Brokers wird von demjenigen bestimmt, der ihn implementiert.
Der Serviceanforderer sucht Einträge in der Brokerregistrierung und bindet sie dann an den Service Provider. Sie können möglicherweise auf mehrere Dienste zugreifen oder nicht. Dies hängt von der Fähigkeit des Dienstanforderers ab.
Implementieren einer serviceorientierten Architektur
Bei der Implementierung einer serviceorientierten Architektur (SOA) gibt es eine breite Palette von Technologien, die kann verwendet werden, je nachdem, was Ihr Endziel ist und was Sie erreichen möchten.
In der Regel wird die serviceorientierte Architektur mit Webdiensten implementiert, wodurch die „funktionalen Bausteine über das Standard-Internet zugänglich werden.“ Protokolle. ”
Ein Beispiel für einen Webdienststandard ist SOAP, das für Simple Object Access Protocol steht. Kurz gesagt, SOAP” ist eine Messaging-Protokollspezifikation für den Austausch strukturierter Informationen bei der Implementierung von Webdiensten in Computernetzwerke. Obwohl SOAP zunächst nicht gut aufgenommen wurde, hat es seit 2003 an Popularität gewonnen und wird immer häufiger verwendet und akzeptiert. Weitere Optionen für die Implementierung einer serviceorientierten Architektur sind Jini, COBRA oder REST.
Es ist wichtig zu beachten, dass Architekturen „unabhängig von bestimmten Technologien arbeiten“ können, was bedeutet, dass sie auf verschiedene Arten implementiert werden können. einschließlich Messaging wie ActiveMQ, Apache Thrift und SORCER.
Warum serviceorientierte Architektur wichtig ist
Serviceorientierte Architektur bietet viele Vorteile, insbesondere in einem auf Webdiensten basierenden Unternehmen. Einige dieser Vorteile werden hier kurz beschrieben:
Verwendung Serviceorientierte Architektur zum Erstellen von wiederverwendbarem Code: Dies reduziert nicht nur den Zeitaufwand für den Entwicklungsprozess, sondern es gibt auch keinen Grund, das Codierungsrad jedes Mal neu zu erfinden, wenn Sie einen neuen Service oder Prozess erstellen müssen. Serviceorientierte Architektur ermöglicht dies auch für die Verwendung mehrerer Codi ng Sprachen, weil alles über eine zentrale Schnittstelle ausgeführt wird.
Verwenden Sie serviceorientierte Architektur, um die Interaktion zu fördern: Mit serviceorientierter Architektur wird eine Standardform der Kommunikation eingerichtet, mit der die verschiedenen Systeme und Plattformen funktionieren können unabhängig voneinander. Mit dieser Interaktion kann Service-Oriented Architecture auch Firewalls umgehen, sodass „Unternehmen Services gemeinsam nutzen können, die für den Betrieb von entscheidender Bedeutung sind.“
Verwenden Sie eine serviceorientierte Architektur für die Skalierbarkeit: Es ist wichtig, ein Unternehmen skalieren zu können, um die Anforderungen des Kunden zu erfüllen. Bestimmte Abhängigkeiten können diese Skalierbarkeit jedoch beeinträchtigen. Durch die Verwendung einer serviceorientierten Architektur wird die Client-Service-Interaktion reduziert, was eine größere Skalierbarkeit ermöglicht.
Verwenden Sie eine serviceorientierte Architektur, um Kosten zu senken: Mit einer serviceorientierten Architektur können Sie die Kosten senken, während Sie noch “ Beibehaltung eines gewünschten Leistungsniveaus. “ Durch die Verwendung einer serviceorientierten Architektur können Unternehmen den Analyseaufwand für die Entwicklung benutzerdefinierter Lösungen begrenzen.
Funktionsweise von serviceorientierter Architektur und Cloud Computing
Zunächst ist dies zu beachten Serviceorientierte Architektur kann mit oder ohne Cloud Computing arbeiten, obwohl immer mehr Unternehmen den Dateispeicher in die Cloud verlagern. Daher ist es sinnvoll, Cloud Computing und serviceorientierte Architektur zusammen zu verwenden.
Kurz gesagt, mit Cloud Computing können Benutzer Dienste einfach und sofort implementieren, die auf die Anforderungen ihrer Kunden zugeschnitten sind Kunden, „ohne eine IT-Abteilung konsultieren zu müssen“.
Ein Nachteil der gemeinsamen Verwendung von serviceorientierter Architektur und Cloud Computing besteht darin, dass einige Aspekte davon nicht bewertet werden, z. B. Sicherheit und Verfügbarkeit Fähigkeit. Bei der Verwendung von Cloud Computing sind Benutzer häufig dem Anbieter ausgeliefert.
Bei der Zusammenführung von Cloud Computing und serviceorientierter Architektur besteht eine große Herausforderung für Unternehmen darin, vorhandene Daten und Systeme in die Cloud zu integrieren Lösung. Es muss Kontinuität von Anfang bis Ende geben, damit ein nahtloser Übergang möglich ist. Es ist auch wichtig zu bedenken, dass nicht jeder IT-Aspekt in die Cloud ausgelagert werden kann – es gibt einige Dinge, die noch manuell erledigt werden müssen.
Sie können mehr darüber lesen, wie serviceorientierte Architektur und Cloud Hier arbeiten Computer zusammen.
Der Unterschied zwischen serviceorientierter Architektur und SaaS
Wir haben viel darüber gesprochen, was serviceorientierte Architektur ist und wie sie verwendet werden kann, um Ihr Geschäft voranzutreiben. Es gibt aber auch SaaS (Software as a Service), mit dem Sie Ihr Geschäft vorantreiben können. Sie fragen sich möglicherweise, was SaaS ist und wie es sich von der serviceorientierten Architektur unterscheidet. Kurz gesagt, die über SaaS verfügbaren Ressourcen sind Softwareanwendungen. Eine Schlüsselkomponente ist, dass die SaaS-Infrastruktur „Benutzern zur Verfügung steht, aber für sie verborgen ist“. Ein Vorteil von SaaS besteht darin, dass Benutzer keine Software installieren und warten müssen, wodurch komplexe Anforderungen entfallen. Mit SaaS benötigt der Kunde auch keine Vorablizenzierung, was zu geringeren Kosten führt, da die Anbieter nur warten eine einzelne Anwendung.
Unterschiede zwischen serviceorientierter Architektur und Microservices
Microservices, auch als Microservice Architecture bekannt, ist ein „Architekturstil, der eine Anwendung als Sammlung kleiner autonomer Dienste strukturiert, die um eine Geschäftsdomäne herum modelliert sind.“
Während Microservices und serviceorientierte Architektur ähnlich sind In gewisser Weise liegen die Hauptunterschiede in ihrer Funktionalität. Dienstleistungen sind offensichtlich die Hauptkomponente von beiden. Es gibt vier grundlegende Arten von Diensten:
Funktionsdienst: Diese definieren Kerngeschäftsabläufe.
Unternehmensdienst: Diese implementieren die von der Anwendung für Funktionsdienste
definierte Funktionalität Dienst: Diese sind auf bestimmte Anwendungsinhalte beschränkt.
Infrastrukturdienst: Implementiert nicht funktionierende Aufgaben wie Authentifizierung, Überwachung, Sicherheit und Protokollierung.
Wie Sie sehen, ist jeder dieser Dienste baut auf dem vorherigen auf und schafft ein System, das nicht nur einfach zu bedienen ist, sondern Ihnen auch eine Vielzahl von Möglichkeiten zur Verwaltung Ihres Unternehmens bietet. Wie bei jeder Funktionalität geht es darum, herauszufinden, was für Sie und Ihr Unternehmen am besten funktioniert.
Weitere Informationen zu serviceorientierter Architektur und Microservices finden Sie hier.
Einige abschließende Gedanken Zur serviceorientierten Architektur
Wie Sie sich vorstellen können, Service-orientierte Architektur kann ein bisschen schwierig zu knacken sein, aber wenn Sie erst einmal die Grundlagen und die Vorteile verstanden haben, die sie Ihrem Unternehmen bieten kann, werden Sie begeistert sein, dass Sie sie entdeckt haben.
In diesem Artikel haben wir mehrere ausgezeichnete Ressourcen für serviceorientierte Architektur bereitgestellt. In Kürze werden einige weitere Artikel veröffentlicht, die einen tieferen Einblick in das Konzept geben und Ihnen noch mehr Ressourcen zur Verfügung stellen, mit denen Sie Ihr Unternehmen vorantreiben können die nächste Stufe.
Unabhängig davon, in welche Richtung Sie sich entscheiden, wenn Sie Ihren Kunden Dienstleistungen anbieten, ist es wichtig zu bedenken, dass verschiedene Dinge für verschiedene Menschen funktionieren. Sie können zwar nicht für jeden einzelnen Kunden, den Sie übernommen haben, benutzerdefinierte Dienste bereitstellen, Sie können jedoch eine Reihe von Diensten bereitstellen, die den häufigsten Anforderungen Ihrer Kunden entsprechen.
In zukünftigen Artikeln werden wir uns damit befassen im Web 2.0 und vertiefen Sie sich in Microservices für serviceorientierte Architektur.