Anwendung mit Unterstützung von Web Services Business Activity erstellen

Wenn Sie eine Anwendungskomponente erstellen möchten, die die Unterstützung für Geschäftsaktivitäten verwendet, müssen Sie die Option Run EJB methods under a Business Activity scope im Implementierungsdeskriptor der entsprechenden Anwendungskomponente definieren und gegebenenfalls einen Kompensationshandler erstellen, den die Anwendung im Fall eines Fehlers verwenden soll. Anschließend wird die Komponente in die Anwendung integriert, und die Anwendung wird auf einem Server implementiert, auf dem die Unterstützung für Geschäftsaktivitäten aktiviert ist. Bei der Anwendungskomponente kann es sich entweder um eine Enterprise-Bean handeln oder um einen Web-Service, der als Enterprise-Bean implementiert ist.

Vorbereitende Schritte

Informationen zum Bearbeiten der Implementierungsdeskriptoren mit Rational Application Developer finden Sie in der Dokumentation zu Rational Application Developer.

Informationen zu diesem Vorgang

Führen Sie diese Task für eine Anwendung aus, die in einem für Geschäftsaktivitäten aktivierten Server ausgeführt wird, um die Unterstützung für Geschäftsaktivitäten zur Laufzeit nutzen und Arbeit ausführen zu können, die später von einem Kompensationshandler kompensiert werden können. Falls die Anwendung bei Beendigung des Geltungsbereiches der Business Activity eine Kompensation erfordert, übergibt die Anwendung Daten, die vom Kompensationsprozess benötigt werden, indirekt über die API für Geschäftsaktivitäten an einen Kompensationshandler. Die vom Kompensationsprozess benötigten Daten können in Form eines serialisierbaren Objekts oder eines Service Data Object (SDO) übergeben werden.

Vorgehensweise

  1. Entwerfen Sie die Anwendungskomponente, für die die Unterstützung für Geschäftsaktivitäten erforderlich ist. Definieren Sie insbesondere die Voraussetzungen der Anwendungskomponente bezüglich Kompensations- (Compensation) und Schließaktivitäten (Close). Falls die Anwendungskomponente Kompensationsaktivitäten erfordert, definieren Sie die Art der Daten in der SDO, die die Anwendungskomponente an den Kompensationshandler übergibt.
  2. Erstellen Sie gegebenenfalls anhand der Informationen aus dem Anwendungsentwurf den Kompensationshandler für die Anwendungskomponente. Dieser Handler definiert die Schließ- und Kompensationslogik, die bei Beendigung des Geltungsbereichs einer Geschäftsaktivität ausgeführt wird, dem der Handler über eine Anwendungskomponente hinzugefügt wurde.
    1. Öffnen Sie das gewünschte Assembliertool von WebSphere Application Server.
    2. Erstellen Sie eine neue Java™-Klasse, die die entsprechende Schnittstelle implementiert, je nach Format der Daten, die vom Kompensationsprozess benötigt werden:
      • Für ein serialisierbares Objekt implementieren Sie die Schnittstelle "com.ibm.websphere.wsba.serializable.CompensationHandler".
      • Für ein SDO, implementieren Sie die Schnittstelle "com.ibm.websphere.wsba.CompensationHandler".
    3. Implementieren Sie die Methoden close und compensate im neuen Kompensationshandlerobjekt, um in Abhängigkeit von den serialisierbaren oder SDO-Daten, die beim Aufruf des Handlers übergeben werden, die geeigneten Aktionen auszuführen.
    Die Kompensationshandlerklasse kann jetzt referenziert und in einer Anwendung assembliert werden.
  3. Öffnen Sie die Anwendungskomponente im Assembliertool.
  4. Öffnen Sie den Implementierungsdeskriptor für die Anwendungskomponente im Implementierungsdeskriptor-Viewer.
  5. Suchen Sie den Abschnitt Compensation, und wählen Sie das Kontrollkästchen Run EJB methods under a Business Activity scope aus.
  6. Geben Sie im Feld Compensation handler class den vollständig qualifizierten Klassennamen der Kompensationshandlerklasse an, die Sie vorher erstellt haben.
  7. Speichern Sie den Implementierungsdeskriptor.
  8. Erstellen Sie die Anwendung, und integrieren Sie dabei sowohl die Anwendungskomponente als auch den Kompensationshandler. Ist die Anwendung ein Web-Service, muss sie mit dem Standard Java Specification Request (JSR) 109 konform sein.
  9. Implementieren Sie die Anwendung auf einem Anwendungsserver, der für die Unterstützung von Geschäftsaktivitäten aktiviert ist.

Ergebnisse

Die Anwendung ist jetzt für Geschäftsaktivitäten aktiviert und kann die Unterstützung für Geschäftsaktivitäten zur Laufzeit über die API für Geschäftsaktivitäten nutzen. Der Anwendungskomponente ist ein Kompensationshandler zugeordnet. Daher kann sie zur Laufzeit die Methoden setCompensationDataImmediate und setCompensationDataAtCommit aufrufen, um den Kompensationshandler zum Geltungsbereich der Geschäftsaktivität hinzuzufügen. Weitere Informationen zu diesen Methoden finden Sie in den Artikeln zur API für Geschäftsaktivitäten. Falls die Arbeitseinheit fehlschlägt, der der Geltungsbereich der Geschäftsaktivität zugeordnet ist, führt der Kompensationshandler die Aktionen aus, um den Fehler auszugleichen.

Nächste Schritte

Vergewissern Sie sich, dass die Klasse des Kompensationshandlers im Anwendungsklassenpfad für die Laufzeitumgebung von WebSphere Application Server angegeben ist.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjta_wsba_app
Dateiname:tjta_wsba_app.html