Chapter 13. Exposed Router runtime pattern: SOA profile 389
13.2 Design guidelines
In this section, we analyze the business requirements and apply Patterns for
e-business to determine the appropriate runtime pattern for the solution. We then
discuss the various design options available to us in implementing the solution
and also look at the product mappings.
13.2.1 Analyze business requirements
The business scenario requires the replenishment order request from the
Warehouse application to be forwarded to, at most, one of the multiple partner
Manufacturer applications and services. This requires moving the routing rules
from the individual applications within the enterprise to the integration
middleware component.
The benefits of moving the routing logic out to the integration middleware
component are:
򐂰 It allows the integration of multiple, diverse partner applications.
򐂰 It provides routing services, relieving the source application from being aware
of the target application.
򐂰 The use of a central router minimizes the impact of changes in location of the
target application.
The solution also needs to support the definition of trading partner profiles
delineating preferences, entitlements and contacts.
13.2.2 Selecting a pattern
We use the Patterns for e-business to determine the appropriate Runtime pattern
to apply to this scenario.
Described here is a step-by-step approach used to navigate the Patterns for
e-business asset catalog:
1. Business pattern
We select the Extended Enterprise business pattern because the given
scenario requires interactions between the business processes in the
Warehouse and Manufacturer systems that reside in separate enterprises.
2. Application pattern
Because the source application (Warehouse) initiates an interaction that is
forwarded to, at most, one of many partner (Manufacturer) applications, we
choose the Router variation of the Broker application pattern as shown in the
Figure 13-2 on page 390.
390 Patterns: Extended Enterprise SOA and Web Services
Figure 13-2 Exposed Broker application pattern:: Router variation
3. Runtime pattern
The selection of the application pattern provides us with the possible runtime
patterns for the proposed solution. Because this solution requires building an
SOA infrastructure, we select the SOA profile to customize the solution to the
SOA environment.
Figure 13-3 on page 391 shows the level 0 decomposition of the SOA profile of
the Exposed Router runtime variation, mapped on to the Exposed Router
application variation.
Partner B
Partner A
Inter-
enterprise
Zone
Enterprise
Demilitarized
Zone
Enterprise Secure Zone
Partner Zones
Source
Application
Router
Rules
Target
Application
Target
Application
Partner C
Target
Application
R/O
Router Rules
Chapter 13. Exposed Router runtime pattern: SOA profile 391
Figure 13-3 Exposed Router runtime pattern = SOA profile
13.2.3 Analyze design options
This section discusses the architectural decisions that we made and their
implementation options for the given business scenario using the Exposed
Router runtime variation.
Most of the design decisions made in the previous chapters, also apply to the
Router interactions:
򐂰 “Architectural decision: integration options” on page 163 discusses the use of
Web services to integrate with the external partner services.
򐂰 “Architectural decision: implementing an ESB” on page 244 discusses the
service integration bus component of WebSphere Application Server is used
to implement the ESB.
򐂰 “Architectural decision: Maintaining an audit trail” on page 246 discusses the
Exposed ESB Gateway component handles the auditing aspects of the
interactions with the extended enterprise.
Inter-enterprise
Zone
Enterprise
Demilitarized Zone Enterprise Secure ZonePartner Zone
App Server/
Services
App Server/
Services
Network
Infrastructure
ESBESBESB
Domain FirewallDomain Firewall
Exposed
ESB
Gateway
Protocol FirewallProtocol Firewall
Connector
App Server/
Services
App Server/
Services
<Service Consumer>
App Server/
Services
<Service Provider>
Directory
& Security
Services
Router
Rules
Source
Application
Exposed Broker: Router variation
Target
Application
Partner A
Target
Application
Partner B
Target
Application
Partner C
R/O
Router Rules
392 Patterns: Extended Enterprise SOA and Web Services
There are also additional design decisions that are specific to this scenario,
which are discussed in the following sections.
Architectural decision: implementing the Exposed ESB
Gateway
Table 13-1 summarizes the requirement for the Exposed ESB Gateway
component and looks at the various alternatives that are available.
Table 13-1 Architectural decision: implementing the Exposed ESB Gateway
Decision title The most suitable operational topology
Issue or Problem statement Product selection for implementing the Exposed
ESB Gateway component that satisfies the
following requirement:
1. Provides a controlled and secured access to
external services.
2. Partner profile management.
Assumptions None.
Motivation Keeping in mind that ITSO Good has plans to
expand and enter into agreements with some more
partner Manufacturers. The ability to support
different business protocols such as EDI,
RosettaNet, and AS1/AS2 could prove to be a
differentiating factor.
Alternatives 1. Web services gateway component of the
WebSphere Application Server Network
Deployment V6.0.
2. WebSphere Partner Gateway.
Decision The WebSphere Partner Gateway is used to
implement the Exposed ESB Gateway component.

Get Patterns: Extended Enterprise SOA and Web Services now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.