Beispiele für Service Component Architecture

Das Produkt stellt Beispieldateien bereit, die SCA-Spezifikationen (Service Component Architecture) unterstützen. Sie können diese Beispieldateien für SCA in Geschäftsanwendungen verwenden. SCA-Services werden in JAR-Dateien (Java-Archiv) gepackt, die Sie als Assets in das Produktrepository importieren und anschließend Geschäftsanwendungen als Kompositionseinheiten hinzufügen. Jedes Beispiel enthält detaillierte Implementierungsanweisungen in einer Datei mit dem Namen readme.html.

Voraussetzungen für die Verwendung

WebSphere Application Server Version 8.5
Wichtig: Diese OASIS-Beispiele wurden mit WebSphere Application Server Version 8.5 getestet. Alle anderen Beispiele wurden mit WebSphere Application Server Version 8.0 und Version 8.5 getestet.

Beispiele herunterladen

Zur Verwendung der Beispiele laden Sie die Beispieldateien für SCA von einer Produkt-Download-Site herunter:

  1. Laden Sie die Datei SCA.zip mit einer der folgenden Methoden in ein Verzeichnis auf Ihrer Workstation herunter: FTP oder HTTP. Sie können den Verzeichnispfad /samples/sca auf Ihrer Workstation erstellen und die Beispieldateien für SCA in diesen Verzeichnispfad herunterladen.
  2. Geben Sie im daraufhin angezeigten Dialog das Zielverzeichnis an, in dem die komprimierte Datei gespeichert werden soll, und klicken Sie auf OK.
    Die Datei SCA.zip enthält Beispieldateien in der folgenden Verzeichnisstruktur:
    /CandyStore
    /common
    /HelloJee
    /helloworld-ws-asynch
    /helloworld-ws-asynch_Oasis
    /installableApps
    /installableApps_Oasis
    /jms
    /jms_Oasis
    /jobbankejb
    /jobbankejb_Oasis
    /MultiService
    /MultiService_Oasis
    /MyBank
    /MyBank_Oasis
    readme.html
    notices.txt
    Achtung: Die Datei readme.html enthält Informationen zum Installieren und Ausführen des jeweiligen Beispiels.

Sie müssen Beispieldateien für SCA als Assets einer Geschäftsanwendung in einem Server oder Cluster der Version 8.5 oder in einem Ziel der Version 7.0 implementieren, das für Feature Pack for SCA aktiviert ist. Das Verzeichnis /installableApps enthält vordefinierte Archive, die Sie als Assets implementieren können. Die anderen Verzeichnisse enthalten beispielspezifische Quellendateien, Scripts und Anweisungen für die Erstellung implementierbarer Archive.

Beschreibung der Beispiele

CandyStore (nur OSOA)
Die Datei CandyStore.jar verwendet die Standardbindung, die Web-Service-Bindung und die EJB-Bindung und veranschaulicht die Verwendung des rekursiven Modells sowie Authentifizierung und Berechtigung über die Standardbindung. Das Beispiel veranschaulicht die Bottom-up- (Java-WSDL) und Top-down-Ansätze (WSDL-Java) für die Entwicklung von SCA-Anwendungen.

Sie können die vordefinierte Datei CandyStore.jar im Verzeichnis /installableApps implementieren oder eine implementierbare JAR-Datei erstellen.

Eine Beschreibung der 10 Verbünde in CandyStore und Einzelheiten zur Implementierung finden Sie in der Datei /CandyStore/documentation/readme.html.

HelloJee (nur OSOA)
Dieses Beispiel veranschaulicht, wie SCA-Annotationen in Java-EE-Komponenten (Java Platform, Enterprise Edition) verwendet werden, so dass diese Komponenten SCA-Services konsumieren können. Java-EE-Anwendungen können das SCA-Programmiermodell mit keinen oder nur geringfügigen Änderungen des Implementierungscodes der Anwendung nutzen. Das Beispiel verwendet implementation.jee-Definitionen, um Java-EE-Archive als SCA-Komponentenimplementierungen zu aktivieren. Das Beispiel hat ein Java-EE-Archiv ohne SCA-Artefakt und ein Java-EE-Archiv mit einer Verbunddefinitionsdatei, die einen SCA-Verbund und SCA-Komponenten definiert. Die Komponenten verwenden implementation.ejb- und implementation.web-Definitionen. Das Beispiel veranschaulicht, wie EJB-Services als SCA-Services bereitgestellt werden und wie auf injizierte Werte von reference- und property-Annotationen in Stateless-Session-Beans und Servlets zugegriffen wird.

Sie können die vordefinierten Dateien HelloJeeEar.ear, HelloJeeEnhancedEar.ear und HelloJeeSca.jar im Verzeichnis /installableApps implementieren oder implementierbare Dateien erstellen.

Einzelheiten zur Implementierung finden Sie in der Datei /HelloJee/documentation/readme.html oder im Artikel zur Verwendung vorhandener Java-EE-Module und -Komponenten als SCA-Implementierungen.

helloworld-ws-asynch (helloworld-ws-asynch_Oasis)
Dieses Beispiel verwendet Web-Services und einen asynchronen Übersetzerservice. Das Beispiel enthält drei implementierbare Archive: den Client helloworld-ws-client-asynch.war und zwei Web-Services, helloworld-ws-asynchclient.jar und helloworld-ws-asynch.jar. Der Client verwendet eine JSP-Datei, um einen SCA-Verbundkontext abzurufen und den Service "HelloWorldClient" über eine SCA-Standardbindung aufzurufen. Anschließend ruft der Clientservice den Service "HelloWorld" über eine Web-Service-Bindung auf. Nach dem Aufruf des Service setzt der Service einen Callback an den Clientservice ab. Die Client-JSP wartet 5 Sekunden auf die Durchführung des Callbacks und zeigt dann das Callback-Ergebnis an.

Sie können die vordefinierten Dateien helloworld-ws-asynch.jar, helloworld-ws-client-asynch.war und helloworld-ws-asynchclient.jar im Verzeichnis /installableApps implementieren oder implementierbare Dateien erstellen.

Eine Beschreibung der JAR-Dateien und Einzelheiten zur Implementierung finden Sie in der Datei /helloworld-ws-asynch/documentation/readme.html. Ausführliche Anweisungen zum Implementieren der Datei helloworld-ws-asynch.jar in einer Geschäftsanwendung finden Sie unter "Beispiel: SCA-Geschäftsanwendung über die Konsole erstellen" und "Beispiel: SCA-Geschäftsanwendung mit Scripting erstellen" im Information Center.

JMS (JMS_Oasis)
Die JMS-Beispiele veranschaulichen, wie Sie einen SCA-Komponentenservice über einen JMS-Client (Java Message Service) aufrufen. Es gibt drei Beispiele für JMS-Bindungen:
  • TwoWay: Unterstützt eine bidirektionale Methode, die einen Wert zurückgibt.
  • TwoWay-OneWay: Unterstützt eine bidirektionale Methode, die den Service "LoggingService" über eine unidirektionale Methode aufruft, um die Nachricht in der Serverdatei "SystemOut" zu protokollieren.
  • TwoWay-OneWay-Callback: Unterstützt eine unidirektionale Methode, die einen Callback an die POJO-Komponente "HelloServiceComponent" absetzt.

Außerdem werden mit den Beispielen für JMS-Bindungen eine POJO-Komponente und ein Thin Client bereitgestellt:

  • HelloServiceComponent, eine einfache POJO-Komponente, die die JMS-Nachricht über die JMS-Servicebindung empfängt, die Methode der POJO-Komponente ausführt und das Ergebnis als Antwortnachricht an den Aufrufenden zurückgibt,
  • thinClient, ein Nicht-SCA-JMS-Client in der Datei jms-client.jar, der den POJO-SCA-Service "HelloService" aufruft, indem er eine JMS-Nachricht an den JMS-Nachrichtenprovider sendet.

Sie können die vordefinierten Dateien jms-callback-service.jar, jms-twoway-oneway-service.jar und jms-twoway-service.jar im Verzeichnis /installableApps implementieren oder implementierbare Dateien erstellen.

Einzelheiten zum Erstellen von JMS-Beispielartefakten, zum Erstellen von JMS-Ressourcen für die Beispiele und zum Implementieren der Beispiele finden Sie in der Datei /jms/documentation/readme.html.

JobbankTargetEJBApp (JobbankTargetEJBApp_Oasis)
Dieses Beispiel veranschaulicht, wie ein Java-EE-Client mit dem Namen JobbankClientApp.ear eine SCA-Komponente mit dem Namen jobbankejb.jar über eine ferne EJB-Servicebindung aufruft und wie eine Komponente mit einer EJB-Referenzbindung eine ferne externe EJB in der Datei JobbankTargetEJBApp.ear aufruft. Die Bindung der Stateless-Session-Bean ist eine Protokollbindung, die die Möglichkeit bietet, SCA in EJB-basierte Services zu integrieren. Die SCA-Unterstützung ist in der Datei jobbankejb.jar enthalten.

Sie können die vordefinierten Dateien JobbankClientApp.ear, jobbankejb.jar und JobbankTargetEJBApp.ear im Verzeichnis /installableApps implementieren oder implementierbare Dateien erstellen.

Eine Beschreibung der Dateien und Einzelheiten zur Implementierung finden Sie in der Datei /jobbankejb/documentation/readme.html.

MultiService (MultiService_Oasis)
Dieses Beispiel veranschaulicht eine Servicekomposition, die vorhandene Services verwendet. Das Beispiel "MultiService" ist mit mehreren vorhandenen Beispielen verbunden:
  • Stock Quote, WebServicesSamples.ear
  • HelloWorldAsync, helloworld-ws-asynch.jar
  • JobbankTargetEJBApp, JobbankTargetEJBApp.ear
  • EJB Counter, EJB3CounterSample.ear

Sie können die vordefinierten Dateien Multiservice.jar, MultiService.war, helloworld-ws-asynch.jar und JobbankTargetEJBApp.ear im Verzeichnis /installableApps implementieren oder implementierbare Dateien erstellen.

Sie können die vordefinierten Dateien WebServicesSamples.ear und EJB3CounterSample.ear im Verzeichnis /installableApps implementieren.

Es gibt eine Option im Beispiel, mit der Sie den SCA-Service als OSGi-Anwendung mit SDO-Datenbindungen implementieren können.

Ausführliche Einzelheiten zur Implementierung finden Sie in der Datei /MultiService/documentation/readme.html.

MyBank (MyBank_Oasis)
Dieses Beispiel veranschaulicht, wie eine SCA-Anwendung erstellt wird, die JAXB in einem Top-down-Ansatz verwendet. Sie verwenden die Datei AccountService.wsdl, um JAXB-Klassen zu generieren, die eine Datenbindung zwischen XML- und Java-Dateien bereitstellen. Anschließend verwenden Sie eine Referenz in der clientseitigen WAR-Datei, um eine Verbindung zum Service "AccountService" über die Web-Service-Bindung herzustellen.

Es gibt auch eine Option, mit der Sie den SCA-Service als OSGi-Anwendung mit SDO-Datenbindungen implementieren können.

Sie können die vordefinierten Dateien mybank-accountservice.jar und mybank-client.war im Verzeichnis /installableApps implementieren oder implementierbare Dateien erstellen.

Ausführliche Einzelheiten zur Implementierung finden Sie in der Datei /MyBank/documentation/readme.html.

Konzeptartikel    

Nutzungsbedingungen für Information Center | Feedback

Letzte Aktualisierung: October 19, 2014 09:48 PM EDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-nd-mp&topic=sample_sca
Dateiname: sample_sca.html