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:
- 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.
- 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.