Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the...
Transcript of Generic BPEL Processes: Integrating Process Design and ...This BPEL Process interprets the...
OPITZ CONSULTING
Generic BPEL Processes:Integrating Process Design
and ExecutionBased on Generic Reuse
and MDA
Dirk StählerDivisional Director
OPITZ CONSULTING
OPITZ CONSULTING
The Problem:"Engineering Gap" between
Business Engineering and Application Engineering!
The Problem:"Engineering Gap" between
Business Engineering and Application Engineering!
Company XYZCustomer
Send OrderStatus toCustomer
Create OrderAcknowledgeme
nt
CreatePurchase Order
Identify Supplier
CheckCustomer
Credit Rating
Check OrderDetails
Reject Order
Order processed
Order received
Order Status
Order
Business ProcessWeb Serverclient
+
SelectSupplier
CheckCreditRating
receive_input
ConductCreditCheck
+
RejectOrderType
+
InitiateOrderFulfillment
+
AcknowledgeOrder
callbackClient
Order_Received
Order_processed
credit rating >= 0
credit rating < 0
Order Booking Requested
Order_processed
Technical Process
Web Serverclient
+
SelectSupplier
CheckCreditRating
receive_input
ConductCreditCheck
+
RejectOrderType
+
InitiateOrderFulfillment
+
AcknowledgeOrder
callbackClient
Order_Received
Order_processed
credit rating >= 0
credit rating < 0
Order Booking Requested
Order_processed
Web Server
+
ApproveSupplierType
+
GetPriceQuoteType
Purchase
Order
Purchase
Order
Purchase
Order
SupplierInfo
Supplier_Selected
Credit_Rating_>=0
has Outputhas Input
has Outputhas Input
SelectSupplierService Web Server
Invoke_SelectSupplier
end
start
Invoke_SelectSupplier
ApproveSupplierService Web Server
Invoke_ApproveSupplier
end
start
Invoke_ApproveSupplier
Company XYZCustomer
Send OrderStatus toCustomer
Create OrderAcknowledgeme
nt
CreatePurchase Order
Identify Supplier
CheckCustomer
Credit Rating
Check OrderDetails
Reject Order
Order processed
Order received
Order Status
Order
Technical
BPMN
Sub-Diagram
Technical
BPMN
Sub-Diagram
Technical
Attributes
Technical
Attributes
Technical ProcessBusiness Process
Technical
BPMN
Diagram Technical
BPMN
Sub-DiagramBusiness
BPMN
Diagram
Business Process
AcknowledgeOrder
InitiateOrder
Fullfillment
XOR-Regel
General SalesManager
SelectSupplier
Supplierapprove
d
OrderFullfillm
en...
OrderRejectionProcess
SalesManager
CreditCheck
negative
Rating
XOR-Regel
Message
WebOrder
recieved
Supplierselected
Call CenterAgent
Telephone Orde...
Supplierrejected
XOR-Regel
OrderInformat
io...
OrderInitiationfinished
Message
B2B-Order
recieved
CreditCheck
positive
ApproveSupplier
XOR-Regel
SpecifyOrder
Information
ConductCreditCheck
Technical ProcessOrder received
Order managementcompleted
Customer notification Supplier notification
Order Initiation completed
Customer notificationcompleted
Supplier noticifactionsent
Customer orderapproval
Supplier Orderapproval
Customer orderapproval received
Supplier orderapproval received
SpecifyOrder
Information
OrderInformationspecified
PurchaseOrder
PurchaseOrder
Call CenterAgent
SYSSYSSYS
Order Initiation
Telephone Orderrecieved
Web Orderrecieved
Business Process Technical ProcessOrder received
Order managementcompleted
Customer notification Supplier notification
Order Initiation completed
Customer notificationcompleted
Supplier noticifactionsent
Customer orderapproval
Supplier Orderapproval
Customer orderapproval received
Supplier orderapproval received
SpecifyOrder
Information
OrderInformationspecified
PurchaseOrder
PurchaseOrder
Call CenterAgent
SYSSYSSYS
Order Initiation
Telephone Orderrecieved
Web Orderrecieved bpws
GetPriceQuoteCallback
ns11
ns3
xsd
client
bpelx
ns4
ns2
ns6
FulfillOrders
client
POAService OrderApproval
ora
GetPriceQuote
WritePOA
orcl
OrderApprovalCallback
ns5
ns7
FulFillOrders
FulFillOrdersCallback
CreditRating
ldap
OrderBooking
ns13
POAcknowledge
OrderBookingCallback
ns8
ns9
ns1
ns12
CreditRatingService
OrderBooking
POAcknowledgeCallback
ns10
xp20
GetPriceQuote
OrderBooking
receiveInput
getCreditRating
AssignCR
Invoke_1
Assign_Rating
CreditRating CreditRatingService
ScopeEnd
GetPriceQuote
Assign_GPQDataIn
Invoke_GetPriceQuote
Receive_GetPriceQuote
Assign_GPRWriteComm
ents
GetPriceQuote
GetPriceQuote
ScopeEnd
AcknowledgeOrder
InitiateOrder
Fullfillment
XOR-Regel
General SalesManager
SelectSupplier
Supplierapprove
d
OrderFullfillm
en...
OrderRejectionProcess
SalesManager
CreditCheck
negative
Rating
XOR-Regel
Message
WebOrder
recieved
Supplierselected
Call CenterAgent
Telephone Orde...
Supplierrejected
XOR-Regel
OrderInformat
io...
OrderInitiationfinished
Message
B2B-Order
recieved
CreditCheck
positive
ApproveSupplier
XOR-Regel
SpecifyOrder
Information
ConductCreditCheck
Technical
BPEL
Sub-Diagram
Technical
BPEL
Attributes
Technical
BPMN
DiagramBusiness
EPC
DiagramTechnical
BPEL
Sub-Diagram
OPITZ CONSULTING
• Questions
– Do you think that business and technical models will be designed by the same person?
– Do you think that the structure and content within business and technical models will be the same?
• How can we ensure that the business process models will be still valid for tasks beside SOA?(communication, simulation, compliance…)
• How can we achieve that the technical SOA configuration is shielded from but controllable by the business process?
• How can we separate business and IT relevant content and still link it together?
OPITZ CONSULTING
Methodological Background:Why do different models emerge in the SOA world?
Methodological Background:Why do different models emerge in the SOA world?
OPITZ CONSULTING
Business Process Structure Service / Composite Service Structure
OPITZ CONSULTING
Each Service / Composite Services represents“a business process fragment (with one or many activities)”
...
OPITZ CONSULTING
Composite Service
Technical Process Fragment
represents a
Business Process Structure
Business Process Fragment
is used in
OPITZ CONSULTING
Composite Service
represents a
Technical Process Fragment1 …n Relationship betweenBusiness Processes and aTechnical Process Fragment
OPITZ CONSULTING
These two types ofprocesses have differenttargets.
Due to this they representdifferent:
- Syntax- Semantics
Business Process Fragment Technical Process Fragment
OPITZ CONSULTING
Business Process Fragments Technical Process Fragment
• Business point of view• Contextual driven, with references
to predecessors and successors• Usually more than one modeled
business process used within various business scenarios
⇒ Used for process communication, simulation, compliance,…
• Technical point of view• Data and interface driven,
designed to be automated• Usually only one automated
business process (represented by a service)
⇒ Used for process execution
OPITZ CONSULTING
• What are physicist doing when the complexity within a model becomes to big?
• ...they change the scale!
• This means „from picture to film“!
• ... or from a Traditional Process Modeling and IT Implementation to an Integrating Process Design and Execution Based on Generic BPEL Processes and MDA Techniques
OPITZ CONSULTING
The Solution:The “Divide and Conquer” approach in
Business Engineering and Application Engineering!
The Solution:The “Divide and Conquer” approach in
Business Engineering and Application Engineering!
OPITZ CONSULTING
• Challenges in combining business processes with technical processes– Create a connection between the business and IT world without
semantic mixture– Ensure flexibility on the process modeling side– Ensure stability on the IT modeling side– Secure re-usability of implemented IT processes within the
business world
• Solution: “industrialized” production of processes using one generic BPEL process for many business processes
OPITZ CONSULTING
BusinessProcessModels
EPC
BPMN
UML
...
XML
BusinessProcessSteps
GenericBPEL
Process
DecisionService
RuleEngine
GenericServiceBranch
Service 1
Service 2
Service 3
Service n
...
Business World IT World
OPITZ CONSULTING
BusinessProcessModels
EPC
BPMN
UML
...
XML
BusinessProcessSteps
GenericBPEL
Process
DecisionService
RuleEngine
GenericServiceBranch
Service 1
Service 2
Service 3
Service n
...
Business World IT World
Within this BPEL Process the complete logic to control and dispatch the “real” services
(according to the transferred process flow) will be covered.
This service also handles required data transformations.
Within this BPEL Process the complete logic to control and dispatch the “real” services
(according to the transferred process flow) will be covered.
This service also handles required data transformations.
This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according to
business rules information.
This BPEL Process interprets the transferred process flow and calls the “Generic Service Branch”. If necessary according to
business rules information.
This BPEL Process calls the Rule Engine and
delivers decision support to the “Generic BPLE
Process” to decide on the process flow.
This BPEL Process calls the Rule Engine and
delivers decision support to the “Generic BPLE
Process” to decide on the process flow.
This XML File delivers information about the
business oriented process flow.
This XML File delivers information about the
business oriented process flow.
OPITZ CONSULTING
BusinessProcessModels
EPC
BPMN
UML
...
XML
BusinessProcessSteps
GenericBPEL
Process
DecisionService
RuleEngine
GenericServiceBranch
Service 1
Service 2
Service 3
Service n
...
Business World IT World
BusinessProcessModels
EPC
BPMN
UML
...
XML
BusinessProcessSteps
GenericBPEL
Process
DecisionService
RuleEngine
GenericServiceBranch
Service 1
Service 2
Service 3
Service n
...
Business World IT World
OPITZ CONSULTING
BusinessProcessModels
EPC
BPMN
UML
...
XML
BusinessProcessSteps
GenericBPEL
Process
DecisionService
RuleEngine
GenericServiceBranch
Service 1
Service 2
Service 3
Service n
...
Business World IT World
BusinessProcessModels
EPC
BPMN
UML
...
XML
BusinessProcessSteps
GenericBPEL
Process
DecisionService
RuleEngine
GenericServiceBranch
Service 1
Service 2
Service 3
Service n
...
Business World IT World
OPITZ CONSULTING
BusinessProcessModels
EPC
BPMN
UML
...
XML
BusinessProcessSteps
GenericBPEL
Process
DecisionService
RuleEngine
GenericServiceBranch
Service 1
Service 2
Service 3
Service n
...
Business World IT World
BusinessProcessModels
EPC
BPMN
UML
...
XML
BusinessProcessSteps
GenericBPEL
Process
DecisionService
RuleEngine
GenericServiceBranch
Service 1
Service 2
Service 3
Service n
...
Business World IT World
OPITZ CONSULTING
BusinessProcessModels
EPC
BPMN
UML
...
XML
BusinessProcessSteps
GenericBPEL
Process
DecisionService
RuleEngine
GenericServiceBranch
Service 1
Service 2
Service 3
Service n
...
Business World IT World
BusinessProcessModels
EPC
BPMN
UML
...
XML
BusinessProcessSteps
GenericBPEL
Process
DecisionService
RuleEngine
GenericServiceBranch
Service 1
Service 2
Service 3
Service n
...
Business World IT World
OPITZ CONSULTING
Company XYZCustomer
Send OrderStatus toCustomer
Create OrderAcknowledgeme
nt
CreatePurchase Order
Identify Supplier
CheckCustomer
Credit Rating
Check OrderDetails
Reject Order
Order processed
Order received
Order Status
Order
BPMN → BPEL(Fragment)
SBVR?
BPEL
BPEL
BPEL
Service
Service
Service
Service
Rule Engine
OPITZ CONSULTING
• Benefit for the Business– Business specific modeling
domain– Clear separation from
technical content– Capability to use tools
optimized for the business process design
– Processes can be adjusted purely from the business view (prerequisite: correctly implemented and linked technical processes)
• Benefit for the IT– IT specific modeling
domain– Clear separation from
business content– Capability to use tools
optimized for the IT design
OPITZ CONSULTING
• Usage Scenarios for this approach:
– Environments with a high amount of automated backend processes • Financial Institutions• Telecommunication• Logistics• …
– Environments with the demand to prepare information for different stakeholders
• Process Documentation• Process Certification• Auditing• IT-Development• …
OPITZ CONSULTING
„If everything seems to be under control,you‘re just not moving fast enough“
(Mario Andretti – Race Driver)