Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Before we proceed to creating some custom functionality for the SE, you need to understand the role a JBI SE is meant to fulfill. A SE is an engine that provides a service that is local to the JBI normalized message router (NMR). It does not communicate directly with anything external to the NMR. If communication needs to occur with a service that is external to the NMR, this should take place using a JBI binding component (see the Hello World BC for a tutorial on creating a JBI binding component). The SE is deployed to the JBI container and provides a service directly to the NMR by communicating with the NMR using Normalized Messages.

For example, consider a BPEL engine like Apache Ode. It's job is to handle the execution of BPEL processes. Ode can be deployed to the JBI container as a JBI SE through the use of the servicemix-bpe SE. In this capacity, Ode communicates via JBI normalized messages. Ode handles all of the processing of a given BPEL flow via it's engine and to communicate outside the engine, it speaks normalized messages. It's the responsibility of the Ode SE to handle the execution of processes defined using BPEL and in its capacity as a JBI SE it only communicates outwardly via normalized messages.

More on this later in the tutorial. For now, let's proceed with the custom functionality.

...

These classes can be found in the servicemix-core project.

This method is the logic custom functionality for the Hello World SE. We're not doing anything complex here at all in order to keep this tutorial very simple. Apache Ode was mentioned earlier as an example of an engine that can be deployed as a JBI SE, this class is where Ode would be referenced and called. If you're interested to see how Ode is called, see the BPEEndpoint class for the details. Now it's time to test the componentHello World SE.

Testing the Hello World Component

...