Title: Business process modelling Integration patterns
1Business process modelling Integration patterns
- Enn Õunapuu
- Tallinna Tehnikaülikool
- enn_at_cc.ttu.ee
2Why Do We Need Integration?
- Today's business applications rarely live in
isolation. Users expect instant access to all
business functions an enterprise can offer,
regardless of which system the functionality may
reside in. This requires disparate applications
to be connected into a larger, integrated
solution. This integration is usually achieved
through the use of some form of "middleware".
Middleware provides the "plumbing" such as data
transport, data transformation, and routing.
3Patterns categories
- Channel Patterns describe different types of
message channels and show how to determine which
channels a solution will need. - Message Construction Patterns describe different
ways messages can be used and how to form
messages. - Routing Patterns describe the routing of messages
from the source to the destination. - Transformation Patterns describe how to transform
message content so that messages can be consumed - System Management Patterns show ways to test and
monitor a running integration solution.
4Loan Broker example
5Loan Broker Tasks
- 1. Receive requests from the customer
- 2. Obtain credit information from the credit
bureau - 3. Determine the appropriate banks to contact
- 4. Send a request for quote to each bank
- 5. Receive replies from each bank and determine
the best quote - 6. Pass the best quote back to the customer
6Step1 Receiving Requests - Service Interface
- Service Interface ESP
- Problem How do you make pieces of your
application's functionality available to other
applications, while ensuring that the interface
mechanics are decoupled from the application
logic? - Solution Design your application as a collection
of software services, each with a Service
Interface through which consumers of the
application may interact with the service.
7Step 2 Obtaining Credit Information
- Content Enricher
- Problem How do you communicate with another
system if the message originator does not have
all the required data items available? - Solution Use a specialized transformer, a
Content Enricher, to access an external data
source in order to augment a message with missing
information.
8Step 3 Determine Appropriate Banks
9Step 4 Making Bank Requests
10Step 5 Processing Bank Replies
- Aggregator
- Problem How do you combine the results of
individual, but related messages so that they can
be processed as a whole? - Solution Use a stateful filter, an Aggregator,
to collect and store individual messages until a
complete set of related messages has been
received. Then, the Aggregator publishes a single
message distilled from the individual messages.
11Step 6 Reply to the Customer
- Message Translator
- Problem How can systems using different data
formats communicate with each other using
messaging? - Solution Use a special filter, a Message
Translator, between other filters or applications
to translate one data format into another.
12Solution Architecture
13Basic Technology Choices
- Web Services vs. Remoting vs. Messaging
- Synchronous vs. Asynchronous Interaction
- BizTalk Server Orchestration vs. C
14The Loan Broker Solution Architecture with
Technology Choices
15Service Interface with BizTalk Server 2004
16Implementing a Recipient List using the Parallel
Actions shape
17Implementing a Recipient List using the Loop
shape
18Message Translator with BizTalk Server 2004
19Business process definition
- A process is a specific ordering of work
activities across time and place, with a
beginning, an end, and clearly defined inputs and
outputs a structure for action1. Business
processes are both internal and external to
autonomous business entities, and drive their
collaboration to achieve shared business goals by
enabling highly fluid process networks. Such
business goals include end-to-end efficiency,
transformation empowerment, and value management.
20Business process
- Business processes are adaptive structures for
action through which many participantsIT
systems, applications, users, partners, and other
processesplay a variety of roles. Business
Process Management enables the collaboration of
such participants in a reliable, scalable, and
secure manner, by supporting dynamic process
topologies that allow the boundary between
processes and participants to be determined
on-the-fly by long-term and real-time business
goals, while retaining synchronized public
interfaces associated with trading partner
agreements.
21(No Transcript)
22(No Transcript)
23(No Transcript)
24(No Transcript)
25(No Transcript)
26(No Transcript)
27(No Transcript)
28(No Transcript)
29(No Transcript)
30(No Transcript)
31Synchronizing parallel activities
32Business process executable language
33BPEL
- l The ltcontainersgt section defines the data
containers used by the process, providing their
definitions in terms of WSDL message types.
Containers allow processes to maintain state data
and process history based on messages exchanged. - l The ltpartnersgt section defines the different
parties that interact with the business process
in the course of processing the order. The four
partners shown here correspond to the sender of
the order (customer), as well as the providers of
price (invoiceProvider), shipment
(shippingProvider), and manufacturing scheduling
services (schedulingProvider). Each partner is
characterized by a service link type and a role
name. This information identifies the
functionality that must be provided by the
business process and by the partner for the
relationship to succeed, that is, the portTypes
that the purchase order process and the partner
need to implement.
34(No Transcript)
35(No Transcript)
36(No Transcript)
37(No Transcript)
38(No Transcript)
39(No Transcript)
40(No Transcript)
41(No Transcript)
42Thank You