Page Edited :
ODExSITE :
JBI Deployment
JBI Deployment has been edited by Matthieu Riou (May 29, 2007). Change summary: Cleaning up and changing references to built stuff from released stuff Here's a quick overview to deploy PXE/ODE on a JBI container (e.g. ServiceMix 1) Download the JBI distributionCheck our download page and get the latest JBI-based distribution. Unzip it in a directory of your choice. We'll now refer to this directory as ODE_HOME. 2) Install on JBI containerFor example, with ServiceMix you can use file-system deployment: (from ode/jbi directory) cp ODE_HOME/ode-jbi-1.0-incubating.zip SERVICEMIX_DIR/install The above will result in ODE being installed with the default settings. You may wish to first modify the ode-jbi.properties
Extract the distro-jbi-2.0-SNAPSHOT.zip created in the build instructions above. To compile the examples, you may wish to define the ODE_HOME environment variable. The build script does a good job of figuring this out without ODE_HOME set, however. # On Linux/Unix export ODE_HOME=/path/to/ode/distribution # On Windows set ODE_HOME=C:\Path\To\Ode\Distribution and run Ant in the example's directory: cd %ODE_HOME%/examples/PingPong ant This will create a JBI service assembly in the "build" subdirectory. With ServiceMix you can simply copy it to the file-system hot deployment directory: (from PingPong directory) cp build/PingPing-sa.zip SERVICEMIX_DIR/deploy Finally, you can test the example by typing: (from PingPong directory) ant test JBI EndpointsODE now relies strictly on abstract web service definitions (i.e., without binding/service/port definitions), meaning that you only need abstract WSDLs when compiling processes. Since JBI uses normalized messages (in theory, at least), there is no need to define bindings for the BPEL service engine. The following is an example of bindings to JBI internal service endpoints using the deployment descriptor (e.g. MyProcess.dd): <?xml version="1.0" encoding="UTF-8"?> <dd:deployment-descriptor xmlns:dd="http://pxe.fivesight.com/schemas/2006/02/14/bpeldd" xmlns:jbi="http://java.sun.com/jbi/end-point-reference"> <dd:endpoint-refs> <!-- Bind process endpoint to a JBI ServiceEndpoint --> <dd:endpoint-ref partnerLinkName="SomePartnerLink" partnerLinkRole="myRole"> <jbi:end-point-reference service-name="{http://mycompany.com/someNamespace}MyService" end-point-name="myEndpoint"/> </dd:endpoint-ref> <!-- Bind partner service to a JBI ServiceEndpoint --> <dd:endpoint-ref partnerLinkName="AnotherPartnerLink" partnerLinkRole="partnerRole"> <jbi:end-point-reference service-name="{http://example.com/otherNamespace}SomeService" end-point-name="someEndpoint"/> </dd:endpoint-ref> </dd:endpoint-refs> </dd:deployment-descriptor> One may use JBI binding components to make services externally available and therefore providing concrete bindings to those binding components. An example of exposing process services via SOAP/HTTP can be found in the PingPong ping-http service unit DatabaseThe generated installer will use an internally-managed embedded Derby database. No configuration is required. To use an external database one needs to modify ode-jbi.properties found in the component installer zip. Compatibility CaveatMany binding components are not very good about delivering messages in the correct format for WSDL11 services. Known Issues with ServiceMixServiceMix' so-called lightweight components make it difficult to properly expose process services since they do not fully implement the JBI contract and do not allow the process engine to enquire about its external endpoints.
|
Unsubscribe or edit your notifications preferences