|
Extended Enterprise: Select Application pattern
Overview
The specific business functionality supported by applications that automate the Extended Enterprise business pattern (also known as the Business to Business, or B2B business pattern) varies from one industry to another. A survey of such applications in multiple industries, however, reveals certain common approaches that have been successful. These are characterised by the following Application patterns.
Explanation for re-engineering of Extended Enterprise application patterns.
Extended Enterprise application patterns
Relationship of Process Integration patterns to Extended Enterprise and SOA profile patterns
The PI patterns introduce the following patterns - Direct Connection, Broker, Router, Serial Process, Serial Workflow, Parallel Process, Parallel Workflow, Hub, Zone etc. The EE profile adds the Exposed qualifier and Partner applications and infrastructure. The SOA profile builds off both of these and adds ESB, ESB Gateway, and BSC patterns.
Business and IT Driver Tables


Documentation of the most frequently observed QoS concerns that you must consider when implementing integration solutions.
Legend for Extended Enterprise application patterns

Extended Enterprise application patterns
Exposed Direct Connection
For a legend, please see above.
The Exposed Direct Connection application pattern represents the simplest interaction type based on a 1-to-1 topology. It allows a pair of applications to directly communicate with each other across organization boundaries. Interactions between a source and a target application can be arbitrarily complex. Generally, complexity can be addressed by breaking down interactions into more elementary interactions.
More complex point-to-point connections will have modeled connection rules such as business rules associated with them, as shown in the figure above. Connection rules are generally used to control the mode of operation of a connector depending on external factors. Examples of connection rules are:
-
Business data mapping rules (for adapter connectors)
-
Autonomic rules (such as priority in a shared environment)
-
Security rules
-
Capacity and availability rules
The Exposed Direct Connection application pattern has two variations:
-
Message Connection variation
-
Call Connection variation
All applications of the Direct Connection application pattern will be one variation or the other. The variation required depends on whether the initiating source application needs an immediate response from the target application in order to proceed with execution.
Both variations may be used either with synchronous or asynchronous communication protocols. However, there are preferences for a specific protocol type depending on the variation. For example, the Call Connection variation has a more natural fit with synchronous protocols while the Message Connection variation favors asynchronous protocols.
Business and IT Drivers
The business and IT drivers for choosing the Exposed Direct Connection application pattern are to:
-
Improve the organizational efficiency
-
Reduce the latency of business events
-
Support a structured exchange with business partners
-
Support real-time one-way message flows to partner processes
-
Support real-time request/reply message flows to partner processes
-
Leverage existing skills
-
Leverage the legacy investment
-
Enable back-end application integration
-
Minimize application complexity
The primary goal is to allow an application to gain direct and real-time access to another application that is outside the organization in order to reduce the latency of business events.
Solution
This application pattern, as shown in the figure above, is divided into a number of logical components:
-
The Source application represents one or more applications that are interested in initiating an interaction with the target application in another organization.
-
The Connection is the line between the source application and the target application representing a point-to-point connection between the two applications.
-
The Connection Rules represent any business rules associated with the connection, such as data mapping rules and security rules.
-
The Target application represents a new application, a modified existing application, or an unmodified existing application. This application is responsible for implementing the necessary business services.
Since this application is directly exposed across organizational boundaries, it must implement or exploit the necessary security features such as authentication, authorization, confidentiality, integrity, and logging for non-repudiation purposes.
Guidelines for use
Direct integration between applications can be inflexible, in that any changes to one application may have knock-on effects on other applications. This is especially dangerous when integrating across organizational boundaries. Any changes to the exposed target application may require changes to many partner applications. Such changes can be both expensive and time consuming.
Such knock-on effects can be minimized using document-based adapters that wrapper the applications in the exposed connection. Document-based adapters are small programs that convert the mutually agreed upon messages into API calls to existing or new backend applications. This layering technique isolates the exposed applications from partner applications and increases flexibility. Any changes to these exposed applications would only impact the adapter, provided there is no need to change the mutually agreed upon messages.
Message definition should be generalized to further promote flexibility. In other words, messages should not be tightly coupled with backend application APIs. Rather the message should capture all the necessary information required for that logical interaction across business boundaries. Such generalization will help cope with changes to the backend application API without having to change the agreed upon message format.
Benefits
The use of this pattern allows the complete integration of applications belonging to different companies, assuring a real-time and service-oriented access to external data and processes. Source and target applications are clearly decoupled, as are business logic and communication details. Therefore, it is possible to develop different parts of the whole system in an independent way.
Limitations
This pattern implements a direct connection between the source and target application. Hence, it cannot be used for intelligent routing of requests, decomposition and re-composition of requests, and for invoking complex business process workflow as a result of a request from a partner application. Under such circumstances, you should consider a more advanced application pattern, such as Exposed Broker or Exposed Serial Process.
Putting the application pattern to use
With the successful integration of their internal retail and wholesale systems, ITSO Electronics has now decided to integrate with their external business partners. The goal is to integrate the external resellers with the internal wholesale system. As with the internal retail system, orders placed by the external resellers will need to update the wholesale inventory system. To meet these requirements ITSO Electronics chooses the Exposed Direct Connection application pattern.
Message Connection variation
 For a legend, please see above.
The Message Connection variation, shown above, applies to solutions where the business process does not require a response from the exposed target application within the scope of the interaction.
The Message Connection variation of the Exposed Direct Connection application pattern was previously known as the Document Exchange application pattern.
Business and IT drivers
The business and IT driver for choosing the Message Connection variation of the Direct Connection application pattern is to:
-
Support real-time one-way message flows
The main driver for selecting this variation is when the business process has no interest in the result of the operation. This variation also has the most natural fit when message-oriented middleware is used, such as IBM WebSphere MQ.
Putting the application pattern to use
In our scenario, external business partners of the ITSO Electronics organization need to notify the ITSO wholesale department to update their inventory records when a part needs to be ordered. The external business partners do not require any acknowledgement of the request. ITSO Electronics chooses the Message Connection variation of the Exposed Direct Connection application pattern to meet this requirement.
Call Connection variation
 For a legend, please see above.
The Call Connection variation, shown above, applies to solutions where the business process depends on the exposed target application to process a request and return an response within the scope of the interaction.
The Call Connection variation of the Exposed Direct Connection application pattern was previously known as the Extended Enterprise::Exposed Application application pattern.
Business and IT drivers
The business and IT driver for choosing the Call Connection variation of the Direct Connection application pattern is to:
-
Support real-time request/reply message flows
The main driver for selecting this variation is when the business process requires a result message in the interaction.
Putting the application pattern to use
The final stage of the scenario is addressing any out of stock situations with the external resellers. As with the internal retail system, the external resellers require an immediate notice on any out of stock situations and a delivery date indicating when the order can be filled. To meet these requirements, ITSO Electronics chooses the Call Connection variation of the Exposed Direct Connection application pattern.
Exposed Broker
For a legend, please see above.
The Exposed Broker application pattern (also known as Exposed Business Services), shown above, is based on a 1-to-N topology that separates distribution rules from the applications. It allows a single interaction from an enterprise's source application to be distributed to multiple target partner applications concurrently.
The Exposed Broker application pattern applies to solutions where the source application starts an interaction that is distributed to multiple target applications across organization boundaries. It separates the application logic from the distribution logic based on broker rules. The decomposition/ recomposition of the interaction is managed by the Broker Rules tier.
The Exposed Broker pattern reuses the Exposed Direct Connection pattern to provide connectivity between the tiers. The Broker Rules tier may support Message variation or Call variation (or both variations) of the Exposed Direct Connection pattern.
The Exposed Broker application pattern was previously known as the Exposed Business Services application pattern.
Business and IT drivers
The primary business driver for selecting this application pattern is to allow one application to interact with one or more of multiple partner applications across organization boundaries. Using a hub-and-spoke architecture instead of a point-to-point architecture allows for the seamless integration of applications while minimizing the complexity. A request for information can be routed to one of many targets or simultaneously to multiple targets. The resulting request message can be decomposed into multiple request messages, and the reply messages then recomposed into a single reply message using appropriate recomposition rules.
This externalization of routing, decomposition, and recomposition rules from individual source and target applications increases the maintainability and flexibility and reduces the enterprise wide integration complexity.
The primary IT driver for selecting this application pattern is to allow loose coupling of clients and services with minimum modification to each. The solution should allow for multiple transmission protocols to be used and for transformation of protocols between client and service.
Solution
This application pattern, as shown in the figure above, is divided into a number of logical components:
-
The Source application tier represents one or more applications that are interested in interacting with the target applications in another organization.
-
The Broker Rules tier reduces the proliferation of direct connections. In addition, it supports message routing, decomposition and recomposition, message enhancement and transformation. These rules are often captured as business rules that govern the behavior of the broker tier. This tier also uses a work-in-progress data store to retain the intermediate results from the responses coming back from target applications until all the necessary responses are received.
-
The Target application tier represents new, modified existing, or unmodified existing applications in a partner organization. These applications are responsible for implementing the necessary business services.
Guidelines for use
To increase the flexibility of the solution and responsiveness to changing business requirements, it is recommended that particular attention is paid to definition of reusable messages/services that pass through the Broker tier.
Robust transaction processing systems should be used to implement the back-end applications to ensure availability, scalability, and performance.
A decomposition implementation (one source message to multiple target messages) requires state persistence and re-composition of the response messages.
Standards should be used where possible to minimize future changes required to the source and target applications. This is particularly important in an inter-enterprise solution.
Security is a primary concern when opening up business processes to external organizations. The solution should include robust security mechanisms to protect resources.
Benefits
The benefits of this application pattern are:
-
It allows the integration of multiple, diverse applications between partner organizations.
-
It minimizes the impact to existing applications.
-
The broker provides routing services, relieving the source application from being aware of the target application.
-
The broker provides transformation services that allow the source and target to use different communication protocols.
-
The broker can provide decomposition/recomposition of messages, allowing one request from the source to be satisfied using multiple target applications. The fact that the response is a composite of multiple requests and responses is hidden from the source application.
-
The use of a central broker minimizes the impact of changes in location of the target application.
Limitations
Logic must be implemented at the broker for routing and decomposition/ recomposition tasks.
Putting the application pattern to use
ITSO Electronics consists of multiple Retail stores that depend on external Wholesale companies to supply inventory. The Retail stores need to request the delivery dates of those supplies before ordering in order to select the Wholesale company that can deliver the quickest. Currently, all interaction between the Retail departments and the external Wholesale companies are done over the phone or by mail.
A solution must be found to allow the Retail stores to request delivery dates from the Wholesale companies. To eliminate the need for the Retail departments to know which Wholesale company carries which supplies, a Broker is needed to take incoming requests and direct them based on part numbers to the Wholesale company that carries them. In the event that a part is carried by multiple Wholesale companies, the broker must get delivery dates from each and return the best date and the Wholesale company name that can supply it to the Retail department.
Exposed Router variation
For a legend, please see above.
The Exposed Router variation of the Exposed Broker application pattern, shown above, applies to solutions where the enterprise's source application initiates an interaction that is forwarded to, at most, one of multiple target applications. The selection of the target application is controlled by the distribution rules that govern functioning of the connector component.
Business and IT drivers
The requirements and their solution are less complex than those defined by the Exposed Broker application pattern in that decomposition of messages and transmission to multiple targets simultaneously is not required.
This pattern is also applicable to the 1:1 application integration scenario where source and target do not adhere to the same message and interface formats and therefore require a transformation service in the EAI Infrastructure.
Solution
This application pattern, as shown in the figure above, is divided into a number of logical components:
-
The Source application tier represents one or more applications that are interested in interacting with the target partner applications, one target at a time.
-
The Router Rules tier represents any business rules associated with the message handling, such as routing and transformation. It receives requests from multiple source applications and routes them intelligently to the appropriate partner applications. This tier implements minimal business logic.
-
The Target application tier represents new, modified existing, or unmodified existing applications. These applications are responsible for implementing the necessary business services.
Guidelines for use
The guidelines for this application pattern are the same as those for the Exposed Broker application pattern.
Benefits
The benefits of this application pattern are:
-
It allows the integration of multiple, diverse partner applications.
-
It minimizes the impact to existing applications.
-
It provides routing services, relieving the source application from being aware of the target application.
-
It provides transformation services that allow the source and target to use different communication protocols.
-
The use of a central router minimizes the impact of changes in location of the target application.
Limitations
With the Router variation, there is limited ability in the router to manipulate the requests. It performs intelligent routing and protocol transformation, but does not have the ability to send simultaneous requests to the target applications based on one incoming request, nor does decomposition / recomposition ability.
Putting the application pattern to use
ITSO Electronics consists of multiple Retail stores that order supplies from external Wholesale companies. The Retail stores have a need to request the delivery dates of those supplies before ordering. Currently there is no integration of the Retail and partner Wholesale applications. All interaction between the two are done over the phone or by mail. A solution must be found to allow the Retail stores to request delivery dates from the partner Wholesale companies. To eliminate the need for the Retail departments to know which Wholesale company carries which supplies, a Router is needed to take incoming requests and direct them based on part numbers to the Wholesale company that carries them.
Exposed Serial Process
For a legend, please see above.
The Exposed Serial Process application pattern, shown above, extends the 1:N topology provided by the Exposed Broker application pattern by facilitating the sequential execution of business services hosted by a number of target applications. It enables the orchestration of a serial business process across enterprise boundaries, in response to an interaction initiated by the source application.
The Exposed Serial Process application pattern was previously known as the Managed Public Processes application pattern.
The Exposed Serial Process application pattern separates the process logic from application logic that is distributed across organization boundaries. The process logic is governed by serial process rules that define execution rules for each target application, together with control flow and data flow rules. It may also include any necessary adapter rules.
Business and IT drivers
The primary business driver for selecting this application pattern is to support the automated coordination of business process flow between partners. From an IT perspective, the key driver for selecting this application pattern is to improve the flexibility and responsiveness of IT by externalizing the process flow logic from the application logic.
Solution
The Serial Process application pattern is broken down into three logical tiers:
-
The Source application tier represents an application in another organization that is interested in interacting with the Exposed Serial Process.
-
The Serial Process Rules tier supports most of the services provided by the broker tier in the Broker application pattern, including the routing of requests, protocol conversion, message broadcasting, and message decomposition and recomposition. In addition, it supports the separation of business process flow logic from individual application logic.
The process logic is governed by serial process rules that define execution rules for each target application, together with control flow and data flow rules. It may also include any necessary adapter rules. The combination of these process execution rules are stored in read-only databases. This externalization of process flow logic is essential for the implementation of a flexible and responsive IT environment that can respond quickly to changing business needs. It also makes it possible to compose new end-to-end processes by combining different business services provided by different applications. Finally, this tier uses a work-in-progress (WIP) database to store the intermediate results from the execution of different process steps.
-
The Target application tier represents new, modified existing, or unmodified existing applications that are responsible for implementing the necessary business services.
Guidelines for use
The flexibility and responsiveness provided by this application pattern heavily depend on the externalization of process execution logic from individual partner applications. Applications that are designed, based on a service-oriented architecture (SOA) approach, which have well-defined and coarse-grained business services that represent a unit of work, are better suited for participation in this application pattern. You must be able to compose these business services into an end-to-end process flow. A given service may need to participate in more than one end-to-end process.
Standards should be used where possible to minimize future changes required to the source and target applications. This is particularly important in an inter-enterprise solution.
Security is a primary concern when opening business processes to external organizations. The solution should include robust security mechanisms to protect resources.
Benefits
The Exposed Serial Process application pattern improves the flexibility and responsiveness of an organization. It does this by implementing end-to-end process flows across organization boundaries and by externalizing process logic from individual applications. In addition, it provides a foundation for automated support for Business Process Management that enables the monitoring and measurement of the effectiveness of business processes.
Limitations
This application pattern is ideally suited for straight-through processing where human interactions are not necessary to complete an end-to-end process. If support for human interactions is needed to complete certain process steps, consider the Workflow variation of this application pattern.
Similarly it does not support the parallel execution of multiple tasks. As the process composition technologies mature, we expect to see more widespread use of the Exposed Parallel Process application pattern in Extended Enterprise scenarios.
Putting the application pattern to use With the successful integration of their internal retail and wholesale systems, ITSO Electronics has now decided to integrate with their external business partners. The goal is to integrate the external resellers with the internal wholesale systems. As with the internal retail system, orders are typically placed with Wholesale A. However, when the Wholesale A is unable to guarantee delivery within seven days, Wholesale B is contacted to check the anticipated delivery date. Then, the order is placed with departments that guarantee the shortest delivery date.
To meet these business process automation requirements, ITSO Electronics chooses the Exposed Serial Process application pattern. The primary driver for this selection is the need for externalization of process logic from the business partner’s application. This promotes flexibility and responsiveness to changing business needs.
Exposed Serial Workflow variation
For a legend, please see above.
The Exposed Serial Workflow variation of the Exposed Serial Process application pattern, shown above, extends the basic serial process orchestration capability by supporting human interaction for completing certain process steps.
Business and IT drivers
All the business and IT drivers listed under the Exposed Serial Process application pattern also apply to this variation. The additional business driver for selecting this variation is the need to support human interaction and intervention within the process flow between partners. Support for long-running transactions is another IT driver. This is often a prerequisite for the automation of complex process flows involving human interaction.
Solution
The Exposed Serial Workflow variation is broken down into three logical tiers:
-
The Source application tier is the same as for the Serial Process application pattern.
-
The Serial Workflow Rules tier supports all the services provided by the serial process rules tier within the Serial Process application pattern. In addition, it supports certain tasks within the process to be routed to a person or people for completion. To accomplish this, the process execution rules are augmented with task-resource relationships that define which resources are capable of performing which tasks.
In this context, consider the following points:
-
A task is a portion of the end-to-end process.
-
Resources are capable of executing these tasks.
-
People, departments, and target applications can all be resources capable of executing a particular task.
This tier resolves the task-resource relationship during the execution of a process. If the need for human interaction is identified, the task is added to a work list associated with an individual or a department as a work item to be completed by a person. The process is typically suspended until the completion of the task. Finally, this tier provides support for long-running transactions. It uses a WIP database to store the intermediate results from the execution of different process steps until the complete execution of the end-to-end process.
-
The Target application tier is the same as for the Serial Process application pattern.
Guidelines for use
The following guidelines apply to this variation in addition to the guidelines that are documented in “Exposed Serial Process application pattern”. We recommend that people-based exception handling be implemented for the majority of the automated tasks within the process. If an automated task reaches certain error conditions, people must be able to intervene and handle the exceptions.
Benefits
The Exposed Serial Workflow application pattern improves the flexibility and responsiveness of an organization. It implements end-to-end process flows across organization boundaries that externalize process logic from the individual application. Further flexibility is introduced by the externalization of task-resource resolution rules.
In addition, it provides a foundation for automated support for Business Process Management. This enables monitoring and measurements of the effectiveness of business processes.
Limitations
It does not support the parallel execution of multiple tasks. As the process composition technologies mature, we expect to see more widespread use of the Exposed Parallel Workflow variation in Extended Enterprise scenarios.
Putting the application pattern to use
With the successful integration of their internal retail and wholesale systems, ITSO Electronics has now decided to integrate with their external business partners. The goal is to integrate the external resellers with the internal wholesale systems. As with the internal retail system, orders are typically placed with Wholesale A. However, when the Wholesale A is unable to guarantee delivery within seven days, Wholesale B is contacted to check the anticipated delivery date. Then, the order is placed with departments that guarantee the shortest delivery date.
The main change from the scenario used in the Exposed Serial Process application pattern section is documented here. If both Wholesale A and Wholesale B cannot offer delivery within seven days, a retail store manager must review the shortest anticipated delivery date proposed by the partner wholesaler systems and approve the order before placing the same. The intent of this review is to determine whether to consider other sourcing options.
To meet these business process automation requirements, ITSO Electronics chooses the Exposed Serial Workflow variation of the Exposed Serial Process application pattern. The primary drivers for this selection include the need for externalization of process logic from the partner’s application. This promotes flexibility and responsiveness to changing business needs and the need to support human interaction.
|