Latest WS-Human Task Specification
by Milinda Lakmal
Often business processes involves humans for carrying out activities related various sections of the process. Most of the business processes in todays enterprises are automated using various application integration architectures and SOA can be consider as the most popular architectural style that used to implement complex business integrations.
Web services are the most popular way of service oriented applications and WS-BPEL is the standard which allows you to compose web services into business processes. Even though WS-BPEL focus on business processes it doesn’t define a standard way of integrating humans in to the business processes implemented using WS-BPEL. BPEL4People and WS-Human Task specifications are the two specifications which fill the gap of integrating humans into business processes in SOAs.
WS-Human Task specification introduce the concept “Service implemented by people” into Web Services world.
Latest Web Service – Human Task specification which can be found here has very good improvements over the old version. Even though this specification is not finalized yet, I am working on implementing part of this specification for WSO2 Business Process Server.
Here are some of the interesting improvements:
- New “Overall Architecture” section is a very good addition to this version of the specification. This describe how different parties(Process engine, task parent, task processor) involves in a human interactions. In my view this section will make it easy to understand the big picture of human tasks for those who are new to human tasks as well as those who have some experience with human tasks.
- Concept of “Composite Task” and “Sub Task” are also new additions. This brings the real world complex tasks which can be divided into multiple sub tasks in to the service oriented world.
- Another new thing in the current specification is the “Routing Patterns” concept. According to the specification “Routing Pattern” is a special form of potential owner assignment in which a Task is assigned to people in a well-defined order.
- Another major improvement of the current specification is the introduction of “Lean Tasks”. According to the specification, a “Lean Task” is a task that has a reduced set of vendor-specific capabilities which results in increased portability and simplicity. Lean tasks doesn’t have defined rendering types or custom port types. We can think “Lean Tasks” as simple to-do tasks. In my opinion this is a very good addition to latest spec because this will make defining simple task lot easier.
- “Task History” concept is another major and important improvement. This defines the standard way of keeping track of task history. This concept introduces “Task Event” concept which stores the data about state changes of a task.
In addition to above mention major changes there are lot of improvements in the latest version of the WS-Human Task specification including improvements to task management API.
Currently we are working on Eclipse based Human Task Editor, extension for Eclipse BPEL editor to support human tasks and implementation of new WS-Human Task specification for WSO2 BPS. Most probably these features will be available with release of version 3.0.0 of WSO2 BPS.