IBM United Kingdom Ltd
Workflow - A Business View
John Ibbotson Francisco Curbera
IBM UK Ltd IBM Research
10/14/08
© 2003 IBM Corporation
IBM United Kingdom Ltd
Motivation
Application integration is a key problem facing businesses –
Intra enterprise integration (Enterprise Application Integration)
–
Integrating with partners (Business Process Integration)
Web services are enabling the move towards serviceoriented computing –
Applications are viewed as “services”
–
Loosely coupled, dynamic interactions
–
Heterogeneous platforms
–
No single party has complete control
Application integration => Service composition –
2
How do you compose services in this domain?
10/14/08
© 2003 IBM Corporation
IBM United Kingdom Ltd
BPEL4WS for Application Integration .net WAS
PROVENANCE Process brokering
SOAP, Transactions Business Process
Service Description RMI IIOP
Service Description MQSeries
Delivery channels
3
Legacy integration
CICS
MQSeries
10/14/08
© 2003 IBM Corporation
IBM United Kingdom Ltd
Process Model Requirements
Portability and Interoperability Flexible Integration –
Rich, and easily adaptable to changes in the services it is interacting with
Recursive, type-based composition –
Enables: • • • •
Separation and composability of concerns –
Can carry multiple stateful long-running conversations
Recoverability –
4
Decoupled from the supporting mechanisms (quality of service, messaging frameworks)
Stateful conversations and lifecycle management –
third-party composition of existing services, providing different views on a composition to different parties, inter-workflow interaction, and increased scalability and reuse
Business processes, and in particular long running ones, need a way to build-in fault handling and compensation mechanisms to handle and recover from errors.
10/14/08
© 2003 IBM Corporation
IBM United Kingdom Ltd
Two-level Programming Model Programming in the small – base services – Programmers implementing functions – Function logic deals with a discrete fine-grained task (such as retrieving an order document or updating a customer record)
Programming in the large – BPEL and SCA – Non-programmers implementing flows – Flow logic deals with combining many functions in order to solve a more complex problem (such as processing an order)
5
10/14/08
© 2003 IBM Corporation
IBM United Kingdom Ltd
BPEL Processes and interactions are Strongly Typed BPEL is built on WSDL described services – Strongly typed
A BPEL process interacts with the
world through a set of strongly typed channels: – Partner link = pair of WSDL port types – BPEL flows are tightly coupled to specific interfaces and message types
Process WSDL Service B
BPEL supports traditional WfMS
properties: – Statically analyzable – Transactional, reliable, monitored execution, etc. – Fits well the (SOA) model of application to application integration through well defined service interfaces
B’s WSDL
But BPEL is being extended to support interaction with human actors – BPEL4People: services implemented by people
6
Partner Link
10/14/08
© 2003 IBM Corporation
IBM United Kingdom Ltd
BPEL Composition of Web Services Process WSDL Service B
B’s WSDL
Partner Link
7
10/14/08
© 2003 IBM Corporation
IBM United Kingdom Ltd
BPEL in Scientific Flows - questions Scientific flows are likely to be: – Heterogeneous in control and data, – Dynamic
But also require – Monitoring, auditing, compliance with specific policies
Both types of workflows are likely to be part of any realistic scientific workflow.
– How do we integrate these different models? • Business and Scientific
– Can we provide flexibility and robustness, dynamic change and monitoring at the same time
8
10/14/08
© 2003 IBM Corporation