Using the Open ESB and Camel SE to do message content-based-routing and use a wire-tap for logging requests and responses.
I. Design Time
| I-A. The big picture (when an order’s total price exceeds 500, insert a record into a database, otherwise write a file)
This shows the flow of orders through Open ESB and the Camel SE which is configured to implement the content-based-routing and wire-tap Enterprise Integration Patterns (EIPs). Everything in this picture is provisioned by deploying an Open ESB Composite Application “PORouterCompApp” (deploy a JBI Service Assembly archive) (after installing the JBI Camel SE installation archive) |
![]() |
| I-B. The Service Assembly
As shown in the “Composite Application Service Assembly” editor Note that there are extra SOAP endpoints configured to allow direct testing of the two BPEL processes without going through the Camel SE. |
![]() |
| I-C. The Apache Camel “Fluent” Builder Java DSL content-based-routing Logic
Note the use of namespace-aware XPath expression to check the order amount Also note the use of beans/POJOs to log requests/responses on each possible path. (similar to the wire-tap EIP) |
![]() |
| I-D. For order totals greater than 500.00 | |
| I-D1. the BPEL process (map, send to Database BC)
Either a SOAP client (via the HTTP BC) or the Camel SE sends a message to this process. This process sends a message to the Database BC. |
![]() |
| I-D2. mapper (for DB-related schema)
Takes data from an order message and creates a message to be written to the database. |
![]() |
| I-E. for orders less than or equal to 500.00 | |
| I-E1. the BPEL process (map, send to File BC)
Either a SOAP client (via the HTTP BC) or the Camel SE sends a message to this process. This process sends a message to the File BC. |
![]() |
| I-E2. the mapper (for File related Schema)
Takes data from an order message and creates a message to be written to a file. |
![]() |
II. Runtime
Updated by: admin on: October 23, 2008












