Title: 10th 11th July 2003
1Smart OrganizationsWorkflow TechnologiesWeb
Services
HERMES IST-2000-26429
2What is Workflow Management?
HERMES IST-2000-26429
3Workflow
- Workflows are activities involving the
coordinated execution of - multiple tasks performed by different processing
entities, - mostly in distributed heterogeneous environments
- which are very common in enterprises of even
moderate complexity
4Workflow
- A workflow system can be defined as a collection
of processing steps (also termed as tasks or
activities) organized to accomplish some business
process - A task may represent a manual operation by a
human or a computerazible task to execute legacy
applications, access databases, control
instrumentation, sense events in the external
world, or even affect physical changes
5Workflow
- In addition to the collection of tasks, a
workflow defines the order of task invocation or
condition(s) under which tasks must be invoked
(i.e. control-flow) and data-flow between these
tasks
6Workflow Process
- The automation of a business process, in whole or
part, during which documents, information, or
tasks are passed from one participant to another
for acting, according to a set of procedural
rules. WfMC - Workflow is about defining and executing a series
of tasks in the course of executing a business
process. Concordium97 - Workflow is the process by which individual tasks
come together to complete a transaction - a
clearly defined business process - within an
enterprise. ActionTech95
7The major components of a workflow system
- Process Definition Tools
- Workflow Enactment Service
- Administration and Monitoring tools
- Workflow Client Applications
- Invoked Applications
8A Workflow Reference Model
9The Workflow Enactment Software
- The workflow enactment software
- interprets the process description and
- controls the instantiation of processes and
- sequencing of activities,
- adding work items to the user work lists and
- invoking application tools as
- necessary.
- This is done through one or more co-operating
workflow management engines, which manage(s) the
execution of individual instances of the various
processes.
10The Workflow Enactment Software
- The workflow enactment service maintains internal
control data either centralised or distributed
across a set of workflow engines - workflow control data includes
- the internal state information associated with
the various process and activity instances under
execution - checkpointing and recovery/restart information
used by the workflow engines to co-ordinate and
recover from failure conditions
11Workflow Engine
- A software service or "engine" that provides the
run time execution environment for a workflow
instance - Typically such software provides facilities to
handle - interpretation of the process definition
- control of process instances - creation,
activation, suspension, termination, etc - navigation between process activities, which may
involve sequential or parallel operations,
deadline scheduling, interpretation of workflow
relevant data, etc
12Workflow Engine
- sign-on and sign-off of specific participants
- identification of work items for user attention
and an interface to support user interactions - maintenance of workflow control data and workflow
relevant data, passing workflow relevant data
to/from applications or users - an interface to invoke external applications and
link any workflow relevant data - supervisory actions for control, administration
and audit purposes
13Workflow Engine
- A workflow engine can control the execution of a
set of process, or sub-process, instances with a
defined scope - determined by the range of object
types, and their attributes, which it can
interpret within the process definition(s) - In an enactment service consisting of multiple
workflow engines, there is a partitioning of
process execution across the constituent engines
14Process Definition Tools
- A process definition tool should be able to
express the data and control flow within a
process as well as the activities and the roles
involved - The WfMC has identified a set of six primitives
with which it is possible to describe flows and
hence construct a workflow specification - With these primitives it is possible to model any
workflow that is likely to occur - These primitives are AND-split, AND-join,
OR-split, OR-join and repeatable task.
15Workflow Client Applications
- In the workflow model interaction occurs between
the client application and the workflow engine
through a well defined interface embracing the
concept of a worklist - the queue of work items
assigned to a particular user (or, possibly,
group of common users) by the workflow engine - At the simplest level the worklist is accessible
to the workflow engine for the purposes of
assigning work items and to the worklist handler
for the purpose of retrieving work items for
presentation to the user for processing
16Activity/Task/Step
- An activity is
- a collection of events,
- a set of logically related operations or
- a bounded computation
- that can be made to occur by a single logical
actor (e.g., by a person with a given role) or a
processing entity (information system, resource
manager). - Example review a damage claim assessment, fill
out a complaint form, perform a database
transaction
17Work Item
- A message that represents work to be performed.
- A work item is used to manipulate (e.g. relay,
store, schedule) work for the purpose of doing it
later or elsewhere. Example a fax asking about
the damage claim assessment that should have been
there 3 days ago.
Data Item
An object that represents information, which is
needed to perform some activity. Example a
photograph of the damage, taken on location.
18Worklist
- A list of work items retrieved from a workflow
management system. - A worklist is used by an actor as a to-do list.
19Invoked Applications
- A Workflow Management System should be able to
invoke applications - The invoked application may be local to the
workflow engine, co-resident on the same platform
or located on a separate, network accessible
heterogeneous platform the process definition
should contain sufficient application type and
addressing information (specific to the needs of
the workflow engine) to invoke the application
20Administrative and Monitoring Tools
- Within a workflow system there are a number of
supervisory functions which are normally
provided. - These functions may enable supervisors
- to alter work allocation rules,
- to identify participants for specific
organisational roles within a process, - to track alerts for missed deadlines or other
forms of event, - to trace the history of a particular process
instance, - to enquire about work throughput or other
statistics, etc.
21Workflow Management
- Workflow Management (WFM) is the automated
coordination, control, and communication of work,
both of people and computers, in the context of
organizational processes, through the execution
of software in a network of computers whose order
of execution is controlled by a computerized
representation of the business processes. - Joosten
22Workflow Management System
- A system that defines, creates and manages the
execution of workflows through the use of
software, running on one or more workflow
engines, which is able to interpret the process
definition, interact with workflow participants
and, where required, invoke the use of IT tools
and applications. WfMC - A set of tools providing support for process
definition, workflow enactment, and
administration and monitoring of workflow process.
23Workflow Management System
- A Workflow Management System (abbreviated WFMS)
is a technological system in which workflow
processes are defined, performed, managed, and
monitored through the execution of software whose
order of events is driven by a process
definition.
24Who is WFMC?
- Non-profit organisation founded 1993
- Mission is to promote the use of workflow through
establishment of standards for - software terminology
- interoperability
- connectivity
- Over 100 members
25WFMC interfaces
- specifications for process definition data
interchange - interfaces to support interoperability b/w
different workflow systems - interfaces to support interaction with a variety
of IT application types - interfaces to support interaction with user
interface desktop functions - interfaces to provide system monitoring and
metric functions to facilitate the management of
composite workflow application environments
26Benefits of Workflow Technology
- Organize, schedule, control and monitor process
- Help understand/improve process (analysis,
simulate, reengineering) - Reduce paper work
- Support on-line data entry where data originates
support data exchange and transactions across
independent enterprises (EDI) - In most general form, workflow technology can be
used to support programming-in-the-large
27Web Services
HERMES IST-2000-26429
28Web Services is a new model for using the Web to
- Automatically initiate processes via the Web
using programs - Method for describing, publishing initiating
processes dynamically in a distributed
environment - Not necessarily using a Web browser
- Actually, the Web is not required?
- The content- oriented Web is now complimented by
the service-oriented Web
29Web Services
- If you can imagine a way of electronically
delivering something - Of value to a customer
- That will solve a problem, or
- Provide some usefulness
- Then you have a viable example of a Web service
30Some Use Examples
- A service to accept purchase orders (B2B)
- A service for completing tax forms (B2C)
- An insurance policy service to insure the
products being shipped - A financing service to ensure payment according
to vendor terms - A health-care service to access health-care
records
31Web Services
- Web services encapsulate business functions
- Check credit card number
- Payment processing
- Stock quotes
- Request for quote, bid processes
- They can be used to compose business processes
- Travel planning
- Health care
32What is a Web Service?
- To put it simply, a Web service is nothing but a
server that listens for and replies with SOAP
generally via HTTP
- A Web Service is an interface that describes
- a collection of operations
- that are network accessible
- through standardized XML messaging
33Benefits of a Web service
- Includes
- Decoupling of service interfaces from the
implementation - Enabling dynamic service binding
- Providing interoperability among different
platforms
34These Benefits Derive From
- XML based standards
- Simple Object Access Protocol (SOAP)
- Web Services Description Language (WSDL)
- HTML user-to-machine
- XML/SOAP machine-to-machine
35Web Services
- Existing applications can be wrapped as Web
services - Client and Service can use different platforms
and programming languages - Services can be composed to make composite
services
36Web Services
- A Business function made available via Internet
by a service provider, and accessible by clients
that could be human users or software
applications - World Wide Web Consortiums Web service
definition - A software application
- Identified by a URI
- Its interfaces and binding are capable of being
defined, described and discovered by XML
artifacts and - Supports direct interactions with other software
applications - Using XML based messages via Internet-based
protocols
37Web Service Model
Service Registry (ebXML or UDDI) - Web service
descriptions
Discover service
Publish service
Service Consumer
Service Provider - Web service - Service
Description in WSDL
Invoke service through SOAP
38Web Services
- The Web Services Reference Model
- Service Provider
- Service Registry
- Service Consumer
- Major Standards
- WSDL (Web Services Description Language)
- SOAP (Simple Object Access Protocol)
- UDDI (Universal Description, Discovery and
Integration) registries - ebXML (Electronic Business XML)
39Why Web Services?
- For B2B interactions, applications need to talk
to each other on the Web Interoperability is
needed - A change in an application should not effect the
apps it is talking to - Web services provide these through WSDL and SOAP
- However, the current practice of generating WSDL
from the code is incorrect because when the code
changes so does the WSDL - Yet WSDL is your established public contract with
the outside world
40Web Services Realities
- Web services are not very efficient
- Dynamic discovery is essential
- Web services infrastructure is easy
- What is difficult is defining domain specific
ontologies for service discovery
41Web Service Description
Web Service Description
defines
Web Service
Service Consumer
uses
42WSDL Structure
Service
Where to access it
Port (e.g. http//host/svc)
Port
How to access it
Binding (e.g. SOAP, JMS, direct call)
Binding
Operation An Exchange of Messages between a
service Requestor and a Service provider
Abstract definition of the service (set
of Operations)
Abstract interface
portType
operation(s)
inMesage
outMessage
43XML Messaging SOAP
- The current standard for XML Messaging is Simple
Object Access protocol (SOAP) - Applications typically communicate with Web
services via SOAP messaging - Typically HTTP is used as RPC transport
- XML is used as RPC encoding scheme
44Why SOAP?
- There are a number of wire protocols for RPC
- Internet Inter ORB Protocol for Common Object
Request Broker Architecture (CORBA) - Java Remote Method Protocol (JRMP) for Java
Remote Method Invocation (RMI) - The key difference between SOAP and these
protocols are the way they encode data
45Why SOAP?
- Data encoding in RPC involves converting the data
(integers, character strings or complex objects)
to be sent to the remote computer executing the
procedure - SOAP uses XML for this purpose since it is
textual, whereas IIOP and JRMP are binary
protocols - Using XML for data encoding makes SOAP very user
friendly for firewalls and for debugging purposes - Furthermore, the need for specialized software
such as a CORBA compliant ORB (for IIOP) is not
needed
46Service Composition Travel Service Example
47How to define Public Processes through Web
Services Web Service Composition
- We had WSFL (Web Services Flow Language) from IBM
and XLANG from Microsoft - IBM and Microsoft have agreed to replace them
with BPEL4WS - BPEL4WS Business Process Execution Language for
Web Services
48Business Process Execution Language for Web
Services (BPEL4WS)
- Specifications proposed by IBM, Microsoft, BEA
- Unifies XLANG, WSFL
- XML-based workflow definition language
- Describe business processes that both provide and
consume web services - Implemented as an interaction with a web service
49Business Process Execution Language for Web
Services (BPEL4WS)
- BPEL4WS is Complemented by
- WS Coordination specification
- Allows to web services involved in a process to
share information that links them - WS Transaction specification
- Allows to monitor the success/failure of each
coordinated activity - Reliably cancel the business process
- Involves compensating activities
50Business Process Execution Language for Web
Services (BPEL4WS)
- Business process defines
- Potential execution order of operations (web
services) - Data shared between the web services
- Partners involved in business process
- Joint exception handling for collection of web
services - Long running transactions between web services
51Thank you for your attention!