Database Reference
In-Depth Information
Asynchronous Agnostic Composition Controller
All prerequisites are identified, required patterns are discussed, and building blocks and
components are defined. Now, we can take a step by step walk through the implementation
of a dynamic service broker with agnostic capabilities. Again, we assume that you are fa-
miliar with OSB; therefore, we will skip obvious operations. The Oracle pack for Eclipse
will be our main tool. First, we will create an ESB project and folder for Service Broker
(you can use any name you want, but we decided to call it this way as it reflects the pro-
ject's functional purpose). Then, we will create several proxies for Service Broker and Gen-
eric Adapter, which will be used to route to the custom service. In addition to this, we will
need separate folders for protocol adapters, Facades, XQueries, XSDs, and XSLTs. To ex-
ecute the following steps, we advise you to keep the SB sequence diagram close together
with the overall solutions block diagram, presented on the functional decomposition figure
(refer to the previous chapter).
Business Delegate (main dispatcher)
The Business Delegate is responsible for the following tasks:
• Initial verification of inbound message
• Extraction of rooting slip using detected message header
• Looping variables initiation
• Traversing through tasks in an EP's task list
Execution plan extraction
The first operation in a main dispatcher as Agnostic Composition Controller will be the ex-
traction of a routing slip with a task list.
This is the Service Callout of the execution plan business service. Before extracting EP, we
must check for the presence of an execution plan in the inbound message. If it's there, we
assume that EP was provided by an adapter or a master Composition Controller and accept
it. In the case of an error, ErrorHandler will record a detailed description into the log in
most of the common cases: the Lookup service is not available, EP is not found, or the
CTU message container already exists in the message body. Take a look at the following
screenshot:
Search WWH ::




Custom Search