Die serviceorientierte Architektur (SOA) ist eine Möglichkeit zur Verwaltung von Software. Informationen zu SOA finden Sie in den folgenden Abschnitten:
Ein Service kann Interaktionen innerhalb des Unternehmens und zwischen dem Unternehmer und seinen Lieferanten, Partnern und Kunden abwickeln.
Aus der Sicht des Entwicklers stellt eine Änderung an einer Serviceorientierung eine Schwerpunktverlagerung dar; viele Aspekte der Entwicklungstask sind davon nicht betroffen.

Die oberste Ebene enthält einen oder mehrere Integrationsservices, die jeweils einen Aktivitätenfluss steuern (z. B. die Verarbeitung der Anfrage eines Antragstellers nach Versicherungsschutz). Jeder Integrationsservice ruft mindestens einen Geschäftsservice auf.
Die zweite Ebene setzt sich aus Services zusammen, die jeweils eine eher untergeordnete Geschäftstasks ausführen. Beispiel: Ein Integrationsservice könnte eine Reihe von Geschäftsservices aufrufen, um die Einzelangaben eines Vertreters von Versicherungspolicen zu prüfen. Wenn der Geschäftsservice Werte zurückgibt, die die Ausgabe einer Versicherungspolice rechtfertigen, ruft der Integrationsservice einen weiteren Geschäftsservice auf. Der zweite Geschäftsservice berechnet ein Angebot und gibt dieses Angebot an die Software (z. B. eine Webanwendung) zurück, die die serviceorientierte Anwendung aufgerufen hat.
Die dritte Ebene besteht aus Datenzugriffsservices, die jeweils eine relativ technische Task ausführen, d. h. das Lesen aus und Schreiben in Datenspeicherbereiche wie Datenbanken und Nachrichtenwarteschlangen. Ein Datenzugriffsservice wird meistens über die Geschäftsebene aufgerufen, aber bedingt durch den leichten Zugriff auf die Services ergeben sich weitere Verwendungsmöglichkeiten. Ein Anforderer wie eine Webanwendung könnte beispielsweise auf einen Datenzugriffsservice zugreifen, um Anfangswerte in einem Formular zuzuordnen.
Der zentrale Punkt ist die Flexibilität. Einige Integrationsservices stellen verschiedene Operationen für unterschiedliche Anforderer bereit, einige rufen andere Integrationsservices auf. Darüber hinaus kann ein Anforderer innerhalb einer serviceorientierten Anwendung auf unterschiedliche Service zugreifen. Der Anforderer könnte beispielsweise an einem bestimmten Punkt auf einen Integrationsservice und an einem anderen auf einen Geschäftsservice zugreifen.
Wie sieht das charakteristische Merkmal eines Web-Service aus? Für manche Benutzer lautet die Antwort, dass der Service Daten in einem textbasierten Format (SOAP) austauscht. Für andere Benutzer besteht das Hauptmerkmal eines Web-Service darin, dass der Service über die Datenübertragungssoftware HTTP (Hypertext Transfer Protocol) Daten im World Wide Web austauscht.
Um die unterschiedlichen Stile von Web-Services zu verstehen zu können, müssen die Struktur einer HTTP-Anforderungsnachricht, d. h. die von einem Browser an einen Web-Server übertragenen Daten, und die Struktur der zurückgegebenen HTTP-Antwortnachricht (sofern vorhanden) berücksichtigt werden.
User-Agent: Mozilla/4.0 ...
Der Begriff Web-Service impliziert die Übertragung von Daten in einem textbasierten Format. Im Gegensatz dazu erfolgt der Datenaustausch bei einem Binary-Exchange-Service in einem Format, das einer bestimmten Maschinensprache oder einen bestimmten Hersteller zugeordnet ist.
Der Nachteil von Binary-Exchange-Services ist die eingeschränkte Zugriffsmöglichkeit. Der direkte Zugriff auf einen Binary-Exchange-Service ist nur für Software möglich, die Daten in dem binären Format überträgt, das von dem Service erwartet wird.
SOA hat mehrere wichtige Auswirkungen auf den Geschäftsbetrieb. Wenn die einzelnen Komponenten relativ eigenständig sind, kann das Unternehmen schnell und kostengünstig auf geschäftliche oder technologische Änderungen reagieren.
Die Fähigkeit eines Unternehmens, schnell und effizient auf Änderungen zu reagieren, wird als Beweglichkeit (der Geschäftsabläufe) bezeichnet. Eine gut durchdachte SOA führt im Verlauf der Zeit zu einer höheren Beweglichkeit.
Ferner hat SOA Einfluss auf die Zusammenarbeit der Mitarbeiter. Abgesehen von den meisten technischen Services ist ein gut geschriebener Service ein allgemein definierter Service. Bei einem allgemein definierten Service ist der Problembereich breit genug, sodass Geschäftsleute den Sinn und Zweck des Service verstehen können, auch wenn sie wenig Kenntnisse von der Software haben. Wenn die Geschäftsabläufe in einem Unternehmen über eine Gruppe allgemein definierter Services abgewickelt werden, können Geschäftsanalysten und Softwarespezialisten sachkundige Informationen weitergeben, Benutzer in frühe Überlegungen bezüglich des Zwecks und Umfangs der einzelnen Services einbeziehen und verstehen, welche Auswirkungen die Änderung eines Geschäftsablaufs nach sich zieht. Die Vereinfachung der zwischenmenschlichen Kommunikation ist ein wichtiger Vorteil von SOA, der nahelegt, dass die serviceorientierte Architektur bei der Verarbeitung von Geschäftsprozessen zum wichtigsten Organisationsprinzip erhoben wird.
Bei gut konzipierten Services ist eine Wiederverwendbarkeit wahrscheinlicher. Unternehmen profitieren auf mindestens zweierlei Weise von der Wiederverwendbarkeit: Die Kosten der Entwicklung neuer Software können vermieden werden und die Zuverlässigkeit des Softwareinventars steigt im Laufe der Zeit. Im Vergleich zu den Tests, die bei der Implementierung komplett neu geschriebener Software erforderlich sind, ist der Testumfang deutlich geringer, wenn ein vorhandener Service in eine neue Anwendung integriert wird.
Mit SOA wird die Verfügbarkeit von Geschäftsprozessen und Daten erhöht. Nehmen wir beispielsweise an, in einem Versicherungsunternehmen rufen Agenten an ihren Arbeitsplätzen einen Mainframeprozess auf, um Versicherungstarife für bestimmte Kunden zu berechnen. Aufgrund des Wettbewerbsdrucks möchte das Unternehmen seinen Kunden die Möglichkeit bieten, Angebote im Web einzuholen, obwohl dort traditionsgemäß keine direkte Verbindung zu Mainframe-Computern besteht. Welche Anforderungen müssen erfüllt werden, bevor das Unternehmen personenbezogene Daten von einem Browser akzeptieren kann und die Daten von der Analysesoftware auf dem Mainframe-Computer verarbeitet werden können, um der Anfrage des Kunden zu entsprechen? Die Lösung besteht in der Entwicklung neuer Services, die eine Interaktion zwischen Browser und Analysesoftware ermöglichen. Der Nutzen des Unternehmens besteht im Einsatz eines moderneren Verfahrens, das die Erschließung neuer Märkte ermöglicht.
Ein Teil des oben aufgeführten Materials stammt aus Enterprise Web 2.0 with EGL (MC Press, 2009; http://www.mc-store.com/5107.html).