|
Serviceorientierte Architektur (SOA), engl. service-oriented architecture, auch dienstorientierte Architektur, ist ein Architekturmuster der Informationstechnik aus dem Bereich der verteilten Systeme, um Dienste von IT-Systemen zu strukturieren und zu nutzen. Eine besondere Rolle spielt dabei die Orientierung an Geschäftsprozessen, deren Abstraktionsebenen die Grundlage für konkrete Serviceimplementierungen sind: „Vergib einen Kredit“ ist beispielsweise auf einer hohen Ebene angesiedelt, dahinter verbirgt sich bei einem Unternehmen ein Geschäftsprozess mit einigen beteiligten Personen und informationstechnischen Systemen („Eröffnen der Geschäftsbeziehung“, „Eröffnen eines oder mehrerer Konten“, „Kreditvertrag...“ und so weiter), während „Trage den Kunden ins Kundenverzeichnis ein“ ein Dienst auf einer niedrigeren Ebene ist. Durch Zusammensetzen (Orchestrierung) von Services niedriger Abstraktionsebene können so recht flexibel und unter Ermöglichung größtmöglicher Wiederverwendbarkeit Services höherer Abstraktionsebenen geschaffen werden. SOA kann vereinfacht als Methode angesehen werden, die vorhandenen EDV-Komponenten wie Datenbanken, Server und Websites so in Dienste zu kapseln und dann zu koordinieren/orchestrieren, dass ihre Leistungen zu höheren Diensten zusammengefasst und anderen Organisationsabteilungen oder Kunden zur Verfügung gestellt werden können. Technische Einzelaufgaben wie Datenbankabfragen, Berechnungen und Datenaufbereitungen sind also nicht Maßgeblich, sondern die Zusammenführung dieser IT-Leistungen zu „übergeordneten Zwecken“ – wie z.B. dem Ausführen einer Bestellung oder Prüfen der Rentabilität einer Abteilung, die eine Organisationsabteilung anbietet. Bei SOA handelt es sich somit um eine Struktur, die eine Unternehmensanwendungsintegration ermöglicht, indem die Komplexität der einzelnen Anwendungen („Applications“) hinter den standardisierten Schnittstellen verborgen wird. Ziel ist hierbei langfristiges Senken der Kosten in der Softwareentwicklung: Kosten der n-ten unter SOA-Aspekten realisierten Anwendung gehen nahe null, da bereits alle notwendigen Services vorhanden sind und diese nur noch orchestriert werden müssen, sowie das Erreichen einer höheren Flexibilität der Geschäftsprozesse durch Wiederverwendung bestehender Services, was für Unternehmen heute von unschätzbarem Wert ist. SOA erfordert eine sehr starke Integration der einzelnen IT-Komponenten, damit deren Orchestrierung kostengünstig gelingt. SOA spielt somit bereits bei der Auswahl von IT-Komponenten eine große Rolle. Eine technische Umsetzung von SOA ist das Anbieten dieser Dienste im Internet. Die Kommunikation zwischen Diensten die über das Internet angeboten werden kann über SOAP, XML-RPC oder ähnliche Protokolle erfolgen. Der Nutzer dieser Dienste weiß nur, dass der Dienst angeboten wird, welche Eingaben er erfordert und welcher Art das Ergebnis ist. Details über die Art und Weise der Ergebnisermittlung müssen nicht bekannt sein. Welche Dienste nutzbar sind und wie sie angesteuert werden, kann durch einen Verzeichnisdienst wie UDDI in Erfahrung gebracht werden. |
|
|
|
|