|
Key
This line was removed.
This word was removed. This word was added.
This line was added.
|
Changes (31)
View Page History{center} !aggregator.gif!{center}
{center}{*}Configuration {center}*Configuration of a Service Unit to provide a service (Aggregator)*{center}
{table-plus}
|| Parameter || Description || Default ||
| eip | The name of the pattern to execute : {{aggregator}} | {center}\-{center} |
| eip | The name of the pattern to execute : {{aggregator}} | {center}\-{center} |
{center}{*}Configuration of a Service Unit to provide a service (Scatter-Gather)*{center}
{table-plus}
{table-plus}
|| Parameter || Description || Default ||
| eip | The name of the pattern to execute : {{scatter-gather}} | {center}\-{center} |
| eip | The name of the pattern to execute : {{scatter-gather}} | {center}\-{center} |
{table-plus}
|| Parameter || Description || Default ||
| eip | The name of the pattern to execute : {{routing-slip}}. | {center}\-{center} |
| eip | The name of the pattern to execute : {{routing-slip}}. | {center}\-{center} |
{center}{*}Configuration of a Service Unit to provide a service (Wire-Tap)*{center}
{table-plus}
{table-plus}
|| Parameter || Description || Default ||
| eip | The name of the pattern to execute {{wire-tap}} | {center}\-{center} |
| eip | The name of the pattern to execute {{wire-tap}} | {center}\-{center} |
{center}{*}Configuration of a Service Unit to provide a service (Splitter)*{center}
{table-plus}
{table-plus}
|| Parameter || Description || Default ||
| eip | The name of the pattern to execute : {{splitter}} | {center}\-{center} |
| eip | The name of the pattern to execute : {{splitter}} | {center}\-{center} |
{table-plus}
|| Parameter || Description || Default ||
| eip | The name of the pattern to execute {{bridge}} | {center}\-{center} |
| eip | The name of the pattern to execute {{bridge}} | {center}\-{center} |
Define in the {{Consumes}} section the 'sub-service' to invoke with its MEP, and the EIP component will match the incoming 'original' exchange against the outgoing exchange patterns as best as possible :
* If the 'original' exchange demands a response ({{InOut}} patterns) and no response are received ({{InOnly}},
* If the 'original' exchange demands a response ({{InOut}} patterns) and no response are received ({{InOnly}},
{{RobustInOnly}} or {{InOptionalOut}} patterns), a default response is returned in the following form:
{code:lang=xml}<result xmlns="http://petals.ow2.org/petals-se-eip/bridge">
Bridge: no content into the final target exchange
Bridge: no content into the final target exchange
{table-plus}
|| Parameter || Description || Default ||
| eip | The name of the pattern to execute : {{router}} | {center}\-{center} |
| eip | The name of the pattern to execute : {{router}} | {center}\-{center} |
{center} !dynamicrouter.gif!{center}
{center}{*}Configuration of a Service Unit to provide a service (EIP)*{center} (Dynamic-Router)*{center}
{table-plus}
|| Parameter || Description || Default ||
| eip | The name of the pattern to execute : {{dynamic-router}} | {center}\-{center} |
| eip | The name of the pattern to execute : {{dynamic-router}} | {center}\-{center} |
| test | XPath condition applied on the message to choose the target service | {center}\-{center} |
| fault-to-exception | if true, a fault received from the target service is transformed into an exception and set to the 'original' exchange | false |
| fault-to-exception | if true, a fault received from the target service is transformed into an exception and set to the 'original' exchange | false |
| test\[\] | XPath condition(s) applied on the message to select the 'sub-service' | {center}\-{center} |
| fault-to-exception | If true, a fault received from a 'sub-service' service is transformed to an exception into the 'original' exchange. | {center}false{center} |
| fault-to-exception | If true, a fault received from a 'sub-service' service is transformed to an exception into the 'original' exchange. | {center}false{center} |
{table-plus}
\\
\\
The EIP Component evaluates expressions on OUT or fault message from a router exchange. The IN message from the source exchange is sent to the first consumes defined. Conditions are valuated against the response of this router service until a {{true}} result. Then, the exchange is forwarded to the service referenced in the {{consumes}} section matching the position of the condition, swtiching of the first consumes (used to define the routzer service). If none of the conditions are true, the exchange is forwarded to the service referenced in the last {{consumes}} section (default).
This pattern is similar than the Router patternn but do not process the conditions evaluations on the 'original' exchange, but on a response of a conditioning 'sub-service'.
So, first at all, the {{IN}} message of the 'original' consumer is sent to the conditioning 'sub-service', which is the first {{Consumes}} section defined.
Then the component evaluates the list of conditions against the {{OUT}} response message.
The kind of condition is a XPath expression contained in parameter(s) {{test}}.
Once a condition is matched, the message is forwarded to the 'sub-service' configured in the {{Consumes}} section at the same position than the condition plus 1.
If none of the conditions are matched, the exchange is forwarded to the default 'sub-service', referenced in the last {{Consumes}} section.
So, first at all, the {{IN}} message of the 'original' consumer is sent to the conditioning 'sub-service', which is the first {{Consumes}} section defined.
Then the component evaluates the list of conditions against the {{OUT}} response message.
The kind of condition is a XPath expression contained in parameter(s) {{test}}.
Once a condition is matched, the message is forwarded to the 'sub-service' configured in the {{Consumes}} section at the same position than the condition plus 1.
If none of the conditions are matched, the exchange is forwarded to the default 'sub-service', referenced in the last {{Consumes}} section.
An example of service unit configuration :
An example of Service Unit configuration for the *dynamic-router* pattern :
{code:lang=xml}<?xml version="1.0"?>
</jbi:jbi>{code}
{note:title=Caution}{{{}consumes}} {note:title=Caution}{{Consumes}} sections cardinality is the number of conditions plus 2.{note}
{note:title=Caution}the first {{consumes}} section is the service to invoke to get the message to evaluate. So its pattern is {{InOut{}}}{note}
{note:title=Caution}The first {{Consumes}} section is the 'sub-service' to invoke to get the message to evaluate. Its pattern is {{InOut}}.{note}
{note:title=Caution}tThe last {{consumes}} section is the default service to invoke if no condition has been fullfilled.{note} matched.{note}
h3. Dispatcher Pattern
{center} !dispatcher.gif!{center}
{center}{*}Configuration {center}*Configuration of a Service Unit to provide a service (EIP)*{center} (EIP)*{Dispatcher}
{table-plus}
|| Parameter || Description || Default ||
| eip | The name of the pattern to execute : {{dispatcher}}. | {center}\-{center} |
| eip | The name of the pattern to execute : {{dispatcher}}. | {center}\-{center} |
| fault-to-exception | if true, a fault received from the target service is transformed to an exception into the source exchange. | {center}false{center} |
{table-plus}
\\
\\
The EIP Component dispatches the incoming IN message toward the configured service in consumes sections. No response message is returned.
The EIP Component dispatches the incoming {{IN}} message toward the configured 'sub-services' in {{Consumes}} sections. No response message is expected.
An example of service unit Service Unit configuration :
{code:lang=xml}<?xml version="1.0"?>
<petalsCDK:wsdl xsi:nil="true" />
<eip:eip>dispatcher</eip:eip>
<eip:eip>dispatcher</eip:eip>
<eip:fault-to-exception>false</eip:fault-to-exception>
</jbi:provides>
</jbi:jbi>
{code}
{code}
{note:title=Caution}{{{}consumes}} sections cardinality is [1-n|1-n].{note}
{note:title=Caution}message exchange pattern of the incoming exchange and the consumed services is {{InOnly}}.{note}
{note:title=Caution}message exchange pattern of the incoming exchange and the consumed services is {{InOnly}}.{note}
{note:title=Caution}{{Consumes}} sections cardinality is \[1-n|\].{note}
{note:title=Caution}MEP of the 'original' exchange and the 'sub-services' must be {{InOnly}}.{note}
{note:title=Caution}MEP of the 'original' exchange and the 'sub-services' must be {{InOnly}}.{note}
h1. Component Extension
|| Parameter || Description || Default || Required ||
| your-pattern-name | Name of the java class implementing your pattern. The name of the pattern at runtime will be the one you give as parameter name | {center}\-{center} | {center}No{center} |
| your-pattern-name | Name of the java class implementing your pattern. The name of the pattern at runtime will be the one you give as parameter name | {center}\-{center} | {center}No{center} |