Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Swordfish Documentation: Apache ODE integration"

(JAX_WS-BPEL demo implementation proposal)
(JAX_WS-BPEL demo implementation proposal)
Line 43: Line 43:
  
 
Participants:
 
Participants:
  * simple java based web service client
+
* simple java based web service client
  * SWORDFISH instance with demo BPEL process deployed
+
* SWORDFISH instance with demo BPEL process deployed
  * second SWORDFISH instance with JAX-WS services deployed (using separate SWORDFISH instance need for clear demonstation that we really invoke JAX-WS services from BPEL process)
+
* second SWORDFISH instance with JAX-WS services deployed (using separate SWORDFISH instance need for clear demonstation that we really invoke JAX-WS services from BPEL process)
  
 
The scenario is:
 
The scenario is:

Revision as of 06:43, 12 March 2009

how to deploy ODE+BPEL sample in swordfish

By default you have ode samples as jbi component package zip. To be able to deploy it to Swordfish you need to have osgi bundle. To do this you need to do following actions:

  • change extension from zip to jar
  • change component archive:
    • open archive for editing (on unpack it somewhere) and go to METAINF folder, you should see jbi.xml file here.
    • add MANIFEST.MF file in this folder with following content:
Manifest-Version: 1.0
Bundle-SymbolicName: !!!!YOUR BUNDLE NAME!!!!!
Bundle-Version: 0.0.0
DynamicImport-Package: javax.*,org.xml.*,org.w3c.*


  • repack archive and you are ready to install bundle
  • run swordfish and install bundle manually with osgi> install file:///c:/you-bundle-location
  • start bundle with command osgi> start BUNDLE_ID (you can check bundle ID with osgi> ss command)
  • alternatively you can add bundle statement to \org.eclipse.swordfish.bundles\config.ini file to automatic install and start on Swordfish startup.

IMPORTANT: don't foget to add 2 empty lines at the end of MANIFEST.MF file

Proposal for the JAX_WS-BPEL integration sample

The sample will cover both scenarios:

  • calling a BPEL process from JAX-WS (BPEL as service provider)
  • calling a JAX-WS service from BPEL (BPEL as service consumer)

The sample realizes the same flight reservation functionality as our standard JAX-WS sample, but uses a reservation storage, which instead implemented as internal hash table is implemented as a separate JAX-WS web service.

We realize the createReservation function as BPEL process calling a JAX-WS implemented reservationStorage.

So the java createReservation implemetation will call an ODE web service implementing this function. BPEL would construct a reservation from the input data and then call a reservationStorage.put web service function.

This way we cover both scenarios in one example, but will provide separate test cases for both scenarios (using a mock BPEL service and calling BPEL directly).

JAX_WS-BPEL demo implementation proposal

JAX-WS-BPEL-integration-sample.png

Participants:

  • simple java based web service client
  • SWORDFISH instance with demo BPEL process deployed
  • second SWORDFISH instance with JAX-WS services deployed (using separate SWORDFISH instance need for clear demonstation that we really invoke JAX-WS services from BPEL process)

The scenario is:

  1. Simple Client execute createReservation request to SWORDFISH 1, BPEL process start executing.
  2. After prepare needed info createReservation BPEL process invoke reservationStorage.put() deployed on SWORDFISH 2 and returns success confirmation and reservation ID to simple client.
  3. for additional check Simple Client invoke reservationStorage.find() service directly on SWORDFISH 2.

Back to the top