Die Service Component Architecture (SCA) besteht aus Spezifikationen, die ein Modell zum Erstellen von Anwendungen und Systemen mit Hilfe der Methode der serviceorientierten Architektur beschreiben.
Bei der serviceorientierten Architektur (Service-Oriented Architecture, SOA) handelt es sich um ein Framework (Gerüst), in dem einzelne Geschäftsfunktionen und -prozesse, so genannte Services, kombiniert werden, um hoch entwickelte Geschäftsanwendungen und -prozesse zu implementieren. In einem SOA-Framework werden relativ allgemein definierte Business-Komponenten als Services zugänglich gemacht. SOA strukturiert IT-Ressourcen als eine Reihe wiederverwendbarer Services, die flexibel verbunden und plattform- und implementierungsneutral sind. In SOA werden Lösungen als Assemblierungen von Services entworfen, die über klar definierte Schnittstellen und Verträge verbunden sind.
SCA fördert eine SOA-Organisation von Geschäftsanwendungscode basierend auf Komponenten, die Geschäftslogik implementieren, ihre Funktionen über serviceorientierte Schnittstellen anbieten und gleichzeitig die von anderen Komponenten angebotenen Funktionen über serviceorientierte Schnittstellen, so genannte Serviceverweise, konsumieren.
Die SCA-Spezifikation definiert lediglich eine Möglichkeit zum Modellieren einer Serviceschnittstelle. Eine Serviceschnittstelle ist die Trennung zwischen den beiden Teilen einer SOA-Anwendung. Die Serviceschnittstelle gibt an, welche Komponenten der Provider (SOA-SP) implementieren muss und welche der Koordinator (SOA-SC) aufrufen kann. Bei einer SCA-Serviceschnittstelle handelt es sich um eine vollwertige Schnittstelle, die letztlich als WSDL-Dokument oder als Java-Schnittstelle umgesetzt wird.
Die Service-Provider-Implementierungen in einer SCA werden als Servicekomponenten bezeichnet. Bei einer Servicekomponentenimplementierung kann es sich um Folgendes handeln:
Serviceimplementierungen und Service-Clients
Bei Serviceimplementierungen handelt es sich um konkrete Implementierungen von Geschäftslogik, die Services und/oder Konsumentenservices bereitstellen. Diese Implementierungen verwenden eine von zahlreichen Implementierungstechnologien, wie beispielsweise Java oder C++. Die Implementierung stellt das Hilfsmittel des Business-Prozesses dar. Eine Implementierung kann einen Service bereitstellen. Dabei handelt es sich um mehrere Operationen, die von einer von anderen Komponenten verwendeten Schnittstelle definiert wurden.
Implementierungen können darüber hinaus auch andere Services, so genannte Serviceverweise, verwenden, die auf die Abhängigkeit der Implementierung von an anderer Stelle bereitgestellten Services hinweisen. Ferner kann eine Implementierung eine oder mehrere konfigurierbare Eigenschaften aufweisen. Eine Eigenschaft ist ein Datenwert, der extern konfiguriert werden kann und eine Auswirkung auf die Geschäftsfunktion der Implementierung hat.
SCA-Services verwenden für Parameter und Rückgabewerte normalerweise Geschäftsdaten in Dokumentform, wobei diese Parameter bevorzugt unter Verwendung von Service Data Objects (SDOs) dargestellt werden (weitere Informationen hierzu enthält der Abschnitt über Ressourcen). Services, Verweise und Eigenschaften bilden die konfigurierbaren Aspekte einer Implementierung, und SCA bezeichnet diese zusammenfassend als 'Komponententyp'.
Das Konfigurieren eines Verweises erfolgt durch Binden des Verweises an einen Zielservice, der dann von der Implementierung beim Aufrufen des Verweises verwendet wird. Eine Eigenschaft wird konfiguriert, indem ein bestimmter Datenwert für die Eigenschaft festgelegt wird. In einem SCA-Framework kann eine Implementierung zum Erstellen mehrerer unterschiedlicher Komponenten verwendet werden, deren Verweise und Eigenschaften jeweils unterschiedlich konfiguriert sind. Komponenten und ihre Services werden von anderen lokalen Komponenten verwendet, bzw. können für den Remotezugriff verwendet werden.
Modulassemblierung
Ein SCA-Modul ist die größte Komposition von eng verbundenen Komponenten, die gemeinsam in einem SCA-System entwickelt und implementiert werden. Es stellt die Basiseinheit der flexibel verbundenen Komposition innerhalb eines SCA-Systems dar. Ein SCA-Modul enthält mehrere Komponenten, externe Services, Eingangspunkte sowie Verbindungen zwischen diesen Elementen. Module stellen für ein SCA-System Serviceimplementierungen bereit.
Eingangspunkte definieren die vom Modul bereitgestellten öffentlichen Services, die entweder von anderen Komponenten im selben Modul verwendet oder für die Verwendung außerhalb des Moduls verfügbar gemacht werden können. Sie werden verwendet, um Services zu publizieren, die von einem Modul unter Verwendung eines angegebenen Bindings bereitgestellt werden.
Externe Services innerhalb eines Moduls stellen ferne Services dar, die von anderen Modulen bereitgestellt werden. Sie sind extern für das SCA-Modul, das den Service verwendet. Auf diese externen Services kann von Komponenten im Modul wie auf einen beliebigen, von einer SCA-Komponente bereitgestellten Service zugegriffen werden. Externe Services verwenden Bindings, um den Zugriff auf externe Services zu beschreiben.
SCA-Projekt erstellen
Die gesamte SCA-Projektentwicklung erfolgt auf dem WebSphere Integration Developer-System. Detaillierte Informationen finden Sie im Information Center für WebSphere Integration Developer unter http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp.