Startseite > Andere Sachen >  Fachbegriffe

Fachbegriffe

Was ist eine Service Oriented Architektur (SOA)?

Service Oriented Architecture (SOA) ist eine zunehmend gängige Methode mittels Softwarestrukturen Geschäftsfunktionen bereitzustellen, die Services anbieten bzw. Services in Anspruch nehmen. Mit einfachen Worten: SOA funktioniert vergleichbar einem Prozeduraufruf. Konkret ist ein Service als ein Stückchen Code implementiert, wie eine Prozedur, das ein Ergebnis liefert oder andere Ereignisse auslöst. Zum Beispiel könnte der Code die Kreditwürdigkeit einer Person ermitteln und die Bewertung zurückliefern, einen Platz im Flugzeug reservieren, eine E-Mail-Nachricht versenden oder ein Gerät anschalten.

Die zentralen Aspekte einer Service Oriented Architecture

SOA Dienste haben drei technische Kernpunkte:

  • Anwendungen können SOA Services lokal oder remote mittels eines Aufrufprotokolls aufrufen, das an keine bestimmte Sprache, Betriebssystem, oder Web-Anwendungsplattform gebunden ist
  • SOA Dienste können asynchron sowie synchron aufgerufen werden
  • Die Dienstausführung speichert keine Statusinformationen zwischen Aufrufen

Die ersten beiden Eigenschaften bieten mehr Flexibilität und Interoperabilität als sprachen- oder plattformabhängige lokale und ferne Prozeduraufrufe. SOAs zentraler Beitrag ist die Unterstützung von Aufrufen für ein breites Spektrum von Umgebungen. Zum Beispiel kann eine LANSA-Anwendung, die unter i5/OS läuft, einen Dienst aufrufen, der in C # implementiert ist und in einer .NET Umgebung läuft.

Die dritte Charakteristik, die sogenannte „Zustandslosigkeit“, führt zu einer lockeren Koppelung zwischen einer Anwendung, die einem Dienst verwendet und der Implementation des Dienstes. Das ermöglicht, dass Dienste auf eine einfache Weise über das Internet abgerufen werden können.

SOA kann bei der Integration von Anwendungen nützlich sein, die vollständig auf einem einzelnen System laufen, besonders in Workflow-Prozessen oder wenn Legacy- oder neuere Anwendungen integriert werden. SOA ist ebenfalls ein hervorragendes Werkzeug für verteilte Anwendungen, die über das Internet kommunizieren.

Stufen zur Einführung von SOA

Die Bedeutung der Web Services

Obwohl es viele potenzielle Formen von SOA gibt, beruhen die meisten auf Standards, die eine Kommunikation entweder über ein Intranet oder das Internet erlauben. Die wichtigsten Web Service Standards umfassen:

  • XML für die Struktur und die Syntax von Nachrichten und Konfigurationsinformationen
  • SOAP (ursprünglich ein Akronym für das Simple Object Access Protocol) definiert die Struktur von Nachrichten und wie in einem Netzwerk die Nachrichten ausgetauscht werden
  • WSDL (Web Services Definition Language) beschreibt öffentliche Schnittstellen für verfügbare Web Services, einschließlich der Nachrichtenformate, die verwendet werden müssen, um mit den Diensten zu interagieren
  • UDDI (Universal Description, Discovery and Integration) ist ein Standard für einen Verzeichnisdienst (oder Registry) zur Beschreibung verfügbarer Services.

Es gibt etliche andere Web Service Standards hinsichtlich Sicherheit, Zuverlässigkeit und weitere Aspekte in Bezug die Bereitstellung und Nutzung von Web Services.

Praktische SOAP und Web Service Implementation mit LANSA

Web Services sind ein gutes Beispiel, wie wichtig LANSA-Frameworks und -Werkzeuge für eine flexible, zuverlässige und produktive Strategie der Anwendungsentwicklung sind. Obwohl der Aufruf eines Web Services konzeptionell nicht komplizierter ist als der Aufruf einer Prozedur, der erforderliche Code zur Implementation ist kompliziert und nicht fehlertolerant. Die manuelle Programmierung eines Web Service Aufrufs verlangt vom Entwickler ein hohes Maß an Detailkenntnissen und viel Übung, große Sorgfalt bei der Kodierung und bei der Konfiguration der Eigenschaften, ohne das eines von ihnen zur Implementation der eigentlichen Geschäftsregeln und -prozesse beiträgt. Mit LANSA jedoch können der notwendige Code und die erforderliche Konfiguration der Eigenschaften verlässlich aus einigen wenigen Spezifikationen erzeugt werden. Ähnlich mühsam ist die manuelle Implementation eines Web Services. Aber mit LANSA ist es nicht komplexer als das Schreiben einer gewöhnlichen Prozedur.