Business Process Integration
Business Process Integration
77
6.1
6.1.1
6.1.2
78
Home-grown applications that provide unique business value such as financial portfolio
analysis, or insurance risk or rating applications.
The corporate objective here is to tie these applications together to provide a more uniform
or expanded capability to a larger organizational or business function. Often the tasks are
driven by the need to simplify or regularize repetitive functions, such as updating customer
contact information, or using a single application to perform a common business function.
As in the Business Document Exchange setting, often these tasks are handled as unique
projects. Each project is concerned only with connecting the systems and applications
currently of interest to the project. Because the average enterprise has at least 50 unique
and disparate business applications, before long these types of projects become so
intertwined and complex that it is almost impossible to effectively manage them or predict
how changes at one end might impact another.
6.1.3
6.2
79
These three styles of integration are discussed in the sections that follow.
6.2.1
B2B Integration
B2B integration provides some methodology that allows businesses to share data between
their respective information systems This data-sharing generally consists of the exchange of
documents between business partners. Typically accomplished using pre-defined documents
or forms, this type of integration is referred to as Electronic Document Interchange (EDI).
While there are many specification standards, the most prominent is the X.12 standard,
which is defined by the Accredited Standards Committee or http://www.x12.org.This
committee defines a collection of documents that can be used as exchange media between
partners. Many categories of documents are standardized by this organization and their
international partner, which is part of the UN/EDIFACT (United Nations rules for Electronic
Data Interchange for Administration, Commerce, and Transport). These organizations define
the document to be exchangedincluding the format, fields and their contextual relationship
with extensions and updates are released annually.
Widely varying messaging protocol formats have grown up as technologies have advanced.
Support for private Value Added Networks (VANs), simple File Transfer Protocol (FTP),
Multipart Internet Mail Extension (MIME), and other formats are commonly used. Originally
the exchange documents were pure text. As technologies have evolved, however, they have
evolved to use XML.
B2B integration, or document exchange, tends to be relatively staticbusinesses know the
identity of their partners beforehand. Based on these partnerships, mutual interest drives
both sides to invest in the information infrastructure to support this exchange.
How each company chooses to implement its business behind the exchange end-points is
entirely up to that company. The standards say nothing about this. Further, with the
exception of efforts such as RosettaNet PIPs, the standards generally do not attempt to
describe how or in what context the exchanges could or might fit into the overall
application.
However, the dividing lines are clear. Each organization has its inputs and outputs. Each is
free to implement and host these exchanges in any fashion they desire. So long as the
overall partnership remains in good business health, so do these exchanges.
80
6.2.2
EAI Integration
Within an enterprise, applications have been developed to provide various service functions
for the organization. These may include functions such as customer tracking or account
management systems, or they may be more inwardly focused employee management
systems. Even in a conservative organization, applications that were once considered
completely isolated from the rest of the business eventually interact with other systems
and information technology assets within it. Adding mergers and acquisitions into this mix
simply increases the certainty that there will be overlap, redundancy, and a need for
interconnections between information systems.
Traditionally, systems connections have been built on a per-project basis. Often, the first
effort combines all the applications that reference customers using the common element
(or abstraction) of the customer, along with a customer-tracking system. These projects
start with a team of IT staff that research the combination of the application interfaces.
This effort might then be followed by a project that connects abstractions like Orders,
Claims, or Trades.
As enterprises are forced to grapple with the ever-increasing need to respond to business
changes, they must come to terms with this legacy of information assets and the need to
maintain these connections in a fashion that allows for dynamic, agile system upgrades.
Maintaining agile and dynamic connections between corporate assets is critical to an
organizations ability to rapidly respond to business climate changes. To effectively support
such requirements, systems must be loosely connected. Furthermore, the process
specifications must have the capacity to support migration from today's processes to
tomorrows as-yet unknown needs.
The personnel that are most uniquely positioned to understand how the enterprise
accomplishes its business are most often domain experts, sometimes called business
analysts. They have expertise in how the enterprise accomplishes its goals. Typically valued
for their ability to understand what is important and to provide key business value to the
particular enterprise, these business analysts often have little or no software development
background. Nonetheless, they have expertise in core aspects of the business such as
Medical Management, Portfolio Risk Analysis, or Claims Administration. They work with
concepts that are even more abstract than the collaboration exchange documents of B2B
integration systems. These abstractions may not even have a real-world analog.
A graphical process-specification tool is essential to effective management of information
assets in conjunction with business abstractions. Such a tool can specify how the system is
to manage, coordinate, and drive to conclusion all the information and personnel aspects
of a system. Graphical process specifications allow domain experts to route work to
automated services such as credit check and print check, as well as to send messages to
human users based on events such as documents received and pending deadlines.
EAI is the overall term that encompasses this effort to draw together, manage, and control
the overall enterprise application as a collection of independent yet loosely connected
system components and services.
81
6.2.3
e-Commerce Integration
When B2B and EAI integration are combined, then confronted by the need to integrate with
partners rapidly, reliably, and securely, the result is Electronic Commerce (e-Commerce)
integration. In this environment, partners rapidly move in and out of business collaborations
via the dynamic relationships that are commonplace across the Internet.
The e-Commerce flavor of integration relies on utilization and ubiquity of common standards
that allow for reliable interaction and discovery between partners. These standards must
provide complete business functions with authentication, signatures, nonrepudiation, and
business context. Furthermore, they must be ubiquitous, reliable, and well-understood
across the entire class of potential partners.
When working with standards for the Web, open forum standards committees with
corporate sponsorship are the norm for developing this part of the interconnection
requirements. These processes can take months or possibly years to complete. It is
important to choose standards that perform to the requirements of the enterprise in order
to accomplish reliable, predictable, and safe interactions can be accomplished. While many
proposed specifications for XML-based interactions are in development, the Sun ONE
architecture and emerging ebXML standard are the only collection of e-Commerce
standards that are ready for business use at the time of this writing.
6.3
ebXML
Initiated in 1999, the Electronic Business eXtensible Markup Language (ebXML) collection
of specifications was initiated by a consortium of businesses, vendors, and governments.
The 1.0 set of completed standards was released in 2001, and many of them are well into
their second revision.
ebXML is sponsored by UN/CEFACT and OASIS. UN/CEFACT is the acronym for United Nations
Centre for Trade Facilitation and Electronic Business, headquartered in Geneva. OASIS is
the Organization for the Advancement of Structured Information Standards, a nonprofit
organization dedicated to the creation of international interoperability specifications based
open, public standards.
As a collection of standards, ebXML builds on top of the same collection of requirements
and prerequisites that have driven other Web-services standards, such as Simple Object
Access Protocol (SOAP), Web Services Description Language (WSDL), and Universal
Description, Discovery, and Integration (UDDI). However ebXML picks up where these
standards leave off, providing many features that are still only in the formative stages as
alternative specifications.
ebXML comprises a collection of key system components, each of which can be implemented
or adopted independently or in conjunction with the other components. This allows for easy
adoption of the technology in a gradual, controlled fashion.
82
6.3.1
Figure 61:
6.3.2
ebXML Messaging
As discussed in Chapter 5, Asynchronous Reliable Messaging, messaging is the heart of
any business exchange. Exchanging messages can take many forms. These include sending
application binary, text, or XML payloads within EDI, MIME, or SOAP envelopes sent via
e-mail, FTP, or HTTP, with or without encryption.
Reliable messaging requires that message deliveries are acknowledged and delivered onceand-only-once per message. Reliable messages may need to be processed in the order they
were sent. They also depend on security mechanisms to prevent inadvertent or intentional
modification, to validate the source and sender, and to provide an audit trail of what was
sent and received prevent a partner from repudiating a transaction.
83
Secure messaging requires that the message contents cannot be revealed to unintended
recipients. Secure messaging includes encrypting application data as well as message
routing metadata.
The ebXML messaging specification provides the framework for reliable messaging, allowing
for a wide range of service levels, authentication, and record-keeping options. Key elements
of the ebXML specification include:
6.3.3
6.3.3.1
84
An end-point URL
The types of messaging capabilities that business wants to use (for example, encrypted
Multipart SOAP messages with trusted signatures)
Once-and-only-once delivery
Sequence ordering
These profiles can list alternatives supported. For example, a business might accept
messages over a specific HTTP port, or via FTP or via SMTP.
6.3.3.2
6.3.3.3
85
6.3.3.4
6.3.3.5
Registry Repository
It is a given that any company will participate in any number of CPAs. These collaborations
may be with one or more organizations and may describe one or more related or unique
business opportunities. Users have the need to store and categorize these CPAs in a logical
and extensible manner that allows their applications to reference these documents when
messages arrive. For example, when a message containing document X arrives, the
message references a CPA ID. The system can consult the corresponding CPA to determine
how to process the document, how to respond, how to ascertain if the message has been
properly sequenced, and how to acknowledge receipt.
ebXML provides a complete specification for a repository that can store and retrieve these
documents and artifacts. The documents may contain the public, advertised portions of the
system or the private portions of the system that describe, for example, how a particular
company adds its own unique business value.
Another core value that ebXML adds to the e-Commerce palette of system development is a
framework that allows collaborations to be established with the same type of dynamic
behavior characteristic of the Internet (with respect to Business to Consumer or B2C styles
of interactions). ebXML provides specifications for the repository that allow public access to
the artifacts that the corporation wants to make public. Unlike UDDI, these specifications
provide facilities for determining who has access to what.
The goal is to develop a framework that provides dynamic advertisement and collaboration
so that businesses can enter into partnerships with little or no coding or IT-centric
overhead. This would allow each business system to read, interpret, and respond to
documents with a much higher level of automation than ever possible.
6.3.4
86
Another approach to solving this problem is being promoted under the guise of Unified
Business Language (UBL). At the time of this writing. UBL is being run as an OASIS
Technical Committee effort. UBL is an extension to the XML Common Business Library
(xCBL). More information on UBL can be found at http://www.oasis-open.org and
http://www.xcbl.org.
6.3.5
Figure 62:
Global-sized organizations might implement their own business logic, applications and
components by developing Java and other applications. On the other hand, a small business
may simply use the ebXML messaging for document exchange, creating and manipulating
documents with off-the-shelf forms and page editors.
87
6.3.5.1
6.3.5.1.1
6.3.5.1.2
88
6.3.5.1.3
6.3.5.2
6.3.6
89
In any case, the results of profile lookup must be reliable, consistent, and well understood.
At present, a competing technology, Web Services Description Language (WSDL), is also
designed to provide capability descriptions. However, at the time of this writing, there is
insufficient specification and common agreement about how exactly to define a service
and, perhaps more interestingly, no common mechanism for reliably searching and finding
a service. Much of the selection criteria has been reserved and may be withheld from the
specification so that the repository service providers can choose how to respond to underspecified queries.
With ebXML, there is a clear specification of how to describe the service, as well as of how
to retrieve the service definition. Messaging specifications are clearly defined; exchange
procedures can be described and used in automated systems; and business documents can
be written in formats that can be readily interpreted electronically.
6.3.7
Exchange Processes
Once the appropriate set of collaboration profiles are assembled, the stage is set for the
actual business exchange. With the ebXML specifications included in this architecture, it is
always possible to determine when and how it is appropriate to perform this interaction in
a reliable and automated fashion. Generally, the exchange processes can be of a simple
pattern: Send document, await acknowledgment, finish. However as outlined above, these
transaction processes can be arbitrarily complex.
With SOAP and UDDI alone, the interactions must be implemented independently by the
separate applications. If there are discrepancies between these implementations, error
signals and system administrators must be used to sort it out. WSDL can help, but it does
not identify the roles nor the documents to be exchanged in the collaboration.
Table 61 summarizes the level of capabilities associated with each of the methodologies
and standards that have been discussed above.
Table 61:
Function or
Quality of Service
90
Human Agent
Paper Contract
FAX
Web Service
ebXML
Machine
Readable
N/A
Audit Trail
Authenticated
Choreography
Nonrepudiation
Reliable
Function or
Quality of Service
Human Agent
Paper Contract
FAX
Web Service
ebXML
Secure
Tamperproof
Validation
Given time, Web services specifications will undoubtedly provide equivalent features and
functions to ebXML. However, ebXML is ready for business use today.
6.4
91
Figure 63:
As Figure 63 shows, the main components of the iPlanet Integration Server architecture
are as follows:
Controller/Coordination Layer
6.4.1
Controller/Coordination Layer
This layer includes three separate controllers that can be deployed and used separately or
concurrently:
92
6.4.1.1
Credit check
Order validation
Inventory check
Shipping
Customer notification
The above sequence of operations includes decisions such as if a part is not in inventory,
generate a back-order request. It also may also include timers, which can be either
periodic, such as wait until 8 AM to notify shipping or elapsed, such as if the part is on
back-order for more than two days, send an e-mail to the customer. While most operations
are automatic and carried out by services, some may be manual. If the amount is large,
send to a manager for further verification is an example of a manual operation.
The data associated with a business process typically includes:
Order details, which consist of a description of the order, including line items and the
name of the customer.
Data that changes as the order is processed; for example, the order status and the name
of the order processing clerk.
Each business process is defined using a graphical tool that allows a business analyst to
specify the complete map or sequence of operations, as well as the data that is needed to
complete every operation. That tool also allows the analyst to make decisions about which
path in the map is to be performed. A map may be named, for example, Shoe Order, and
stored in a repository that is available to the engine.
Either a client or a service that specifies both the name of the business process and its
associated data can initiate a business process. The engine uses the name to find the map
for the process and saves a copy of the data in a database. It then begins to interpret the
process definition, starting at the defined entry point. Each operation is invoked in its turn.
As this occurs, decisions are made that select various paths within the process. The process
terminates when the exit point is encountered.
The role of the Private Business Process Engine is to act as the central traffic cop of the
application system. It invokes services and interacts with clients in a controlled manner, as
specified by the business analyst. Each of these services and clients simply responds to the
process engine; it does not communicate directly with any other service or client. This
enables effective encapsulation of the services and clients, thus providing maximum reuse
of these software components.
93
6.4.1.2
It employs the fire and forget paradigm, which means that the Message Routing Table
does not maintain any state associated with the operation or sequence of operation.
The service or application invoked does not return a result. Therefore, the process map
that is interpreted by the Private Business Process Engine is absent. Instead, the business
analyst creates a simple table of operations. Each entry in this table contains:
When a message is received, the integration server consults the Message Routing Table.
For each row that matches the identity of the sender, the message content is compared to
the corresponding content pattern. If a match is found, the message is sent to the specified
message destination.
6.4.1.3
6.4.2
94
This layer is typically used to transform data to and from the end-point applications into
the common, regular format that is used within the enterprise. This canonical
transformation is useful in the following scenarios:
The Data Transformation and Translation Layer solves the problem of matching the data
format and content requirements of the service or application to the available data format
and content. Consider this example: In the order-processing scenario described above, the
data provided by the initiator of the order includes order details comprised of the customer
identity, the list of shoes being ordered, and the total value of the order. This is encoded in
XML. The credit check service expects only the customer's credit number and the amount
of the purchase. In such a situation, the Data Transformation and Translation Layer would
be used to perform three operations:
Remove the extraneous data and pass only the customer's credit number and total
purchase amount.
Change the field names as needed in the likely situation that the order details XML
document contained different field names compared to the credit check service.
Convert the information from the XML document maintained by the process engine into
the EDI format needed by the credit check service.
In addition, the response from the credit check service would be translated and then
merged with data held in the Private Business Process Engine:
Translate the simple numeric response (1 means yes and 0 means no) into Good or Bad.
Move the translated value into the CreditStatus field of the XML document held by the
Private Business Process Engine.
Because most messages can be translated using XML Stylesheet Language Transformations
(XSLT), this is the primary data translation and transformation facility. In cases where more
complex translations are needed, the architecture provides for a general-purpose plug-in
capability.
6.4.3
95
A variety of message handling plug-ins are provided for each, including the capability for
customers to provide additional custom plug-ins.
For outbound messages, the layer uses a destination descriptor attached to the message by
the Controller/Coordination Layer to select a message interface type and plug-in. Inbound
messages are tagged by the Message Interface Layer to identify the sender. In both cases,
the information in the tag varies according to the particular plug-in. For example, a
message arriving via Java Message Service would include the name of queue it was retrieved
from and other associated information.
6.5
6.6
96
Interface Name
Level
Status
Reference
Comments
EbXML Messaging
Specification, 2.0
Application
Footnote 2
http://www.oasisopen.org/committees/ebxmlmsg/documents/ebMS_v2_0.pdf
Approved in January
2002
Application
Footnote 2
http://www.oasisopen.org/committees/ebxmlcppa/documents/working_drafts/inde
x.shtml
Index of draft
Specifications and
Schemas
Collaboration
Exchange Processes
Application
Footnote 2
http://www.ebxml.org
EbXML Business
Process Schema
Specification (BPSS)
is currently at
version 1.01 and was
approved in May
2001.
Enterprise Process
Exchange
Application
Footnote 2
EbXML Business
Process Schema
Specification (BPSS)
is currently at
version 1.01 and was
approved in May
2001.
Interface Name
Level
Status
Reference
Comments
Registry - Repository
Application
Footnote 2
http://www.oasisopen.org/committees/regrep/docume
nts/2.0/specs/ebrs.pdf
Application
Footnote 1
http://www.w3.org/TR/xmldsig-core/
See Chapter 11
Application
Footnote 1
http://www.jcp.org/jsr/detail/93.jsp
See Chapter 3.
Supporting
Specifications
Provides an API for a
set of distributed
Registry Services
that enables
business-to-business
integration between
business
enterprises, using
the protocols being
defined by
ebXML.org, Oasis,
ISO 1117
Application
Footnote 1
http://www.jcp.org/jsr/detail/101.jsp
See Chapter 3
For definitions of the acronyms and technical terms used in this and other chapters, see the Glossary at the
end of this book.
For supporting references regarding the topics discussed in this and other chapters, see the Bibliography
that follows the Glossary.
97
98