Abstract

HISE will be an implementation of WS-Human-Task Specification. It will stand for Human Interactions Service Engine.

Proposal

HISE is to provide a deployable component ready to interpret human interactions defined in xml files, as specified in WS-Human-Task 1.0 Spec, as well as expose taskOperations Web Service for tasks management.

Note that this proposal covers only services implementation, not including any web consoles. So it will contact with external world using Web Services.

Background

WSHT project is beeing developed at TouK. It is currently used in other projects by wiring up Spring beans provided by WSHT.

In current version, there is implemented about 20% of spec, which includes task creation, assigning, retrieval. Persistence is implemented. Currently, there are no task escalations and notifications.

WSHT project is beeing donated to Apache Incubator to become HISE project at Apache.

Rationale

There's a need for an engine which will interpret high level people interactions definitions. There's no need to reimplement human interactions in various projects from scratch (handling notifications, escalations, tasks lifecycles, tasks reassigning). So such project will follow DRY rule in SOA world.

There was some discussion before, which pointed that this kind of project would be desired at Apache (http://markmail.org/thread/es3h3yprjrttxhlu).

There was also Agila project in Apache Incubator, which was meant to implement Human Workflow solution, but it's abandoned (probably because of too broad scope - it included BPEL engine implmentation and web console for management, details are here: http://svn.apache.org/repos/asf/incubator/agila/trunk).

So in HISE there's aim to shorten this scope and implement only services for WS Human Tasks spec. This would consist of 2 distributions (war and jbi) which would expose web services for tasks management. There was some interest on ServiceMix mailing list too, so jbi distribution would be desired (http://markmail.org/thread/svyxd6xrm2tbwnsz).

Initial Goals

Currently, there's only POJO based possibility for connecting with WSHT services. The goal is to add Web Services based distributions. Those will include WAR and JBI distribution.

Second thing is to implement remaining WS-Human-Task spec. It will include adding scheduler, implementing time notifications and adding tasks escalations.

Third thing is to migrate Hibernate JPA to OpenJPA for licensing reasons.

Future plans (after 1.0 release) include OSGi bundle distribution to increase wide adoption of HISE.

Current Status

Meritocracy

WSHT project originally was developed at TouK company by a set of committers. All of those committers did a contribution to this project, so they have required merit.

TouK currently has one committer in Apache ODE project, which is expected to share knowledge about meritocracy inside community.

Community

WSHT has currently a small community consisting of developers inside TouK company. This is due to short life of this product. It was recently exposed to public and there's a plan to expand community at Apache Incubator.

Core Developers

The core developers of WSHT are from TouK company. One of the committers is already an Apache ODE committer. All developers from initial committer's list are experienced in open source development, since they all built this project to current usable status.

There's a plan to increase diversity of developers among various companies. This is planned to be done at Apache Incubator in the meritocratic way.

Alignment

The current code base is targetted for use inside Spring by creating specific beans. But the goal is to add WAR and JBI distributions, which will increase possibility to adopt HISE in J2EE and JBI SOA worlds. Potential projects benefiting from HISE are Apache ODE (by combining BPEL processes with human interactions), Apache ServiceMix (by using service for human interactions in ESB), Apache CXF and Apache Axis (by using human interactions services from other deployed Web Services).

It's also expected to migrate from Hibernate JPA to OpenJPA for underlying storage.

Known Risks

Orphaned products

Initial contributors are vendors of this product. So there's no risk or warnings for abandoning this project.

Moreover there's already an interest from external communities to join this project for development when it enters Apache Incubator.

Inexperience with Open Source

WSHT was started as a closed source project.

Core developers are already experienced with other open source projects including Apache OfBiz, Apache ServiceMix, Apache ODE. One of the initial committers is a committer in Apache ODE project and is expected to share knowledge of open source development process among others.

WSHT current code base also depends on various open source projects like Apache CXF, Apache Geronimo and it was developed by core developers.

Homogenous Developers

WSHT includes committers from only one company (TouK).

Current committers know each other from TouK, so they are not really homogenous. This is expected to change during incubation.

Reliance on Salaried Developers

All of the developers at TouK are salaried developers. This is expected to change during incubation phase.

Relationships with Other Apache Products

OpenJPA will be used by HISE for it's internal storage. Apache CXF will be used to expose Web Services to external world. Apache ServiceMix will be used to expose and test WSHT services as JBI service.

Maven2 is used for building.

There's no competition among other Apache projects for this project.

An Excessive Fascination with the Apache Brand

WSHT is donated to Apache because of ability to gather communities among other projects (Apache ServiceMix and Apache ODE) and external communities both developers and users. This donation of WSHT project is for increasing contacts and visibility in open source world and to develop a satisfying implementation for WS-Human-Task spec.

This spec currently has closed source implementations usually bricked up with larger products. HISE is expected to provide an open source solution for WS-Human-Task spec, which may be adopted in those projects too to follow DRY rule among various companies.

Documentation

Informations about WSHT project can be found at http://top.touk.pl/confluence/display/top/WSHT+-+WS+Human+Tasks+Implementation

Initial Source

WSHT is the only code base for HISE.

WSHT project has been developed since April 2009 at TouK.

It was used to vend inside larger products. It was developed from the beginning under Apache 2.0 License with aim to become open source project.

Source and Intellectual Property Submission Plan

WSHT code base from TouK company (it's developed from the beginning under Apache 2.0 License).

External Dependencies

The dependencies with Apache compatible licenses:

Not compatible with Apache license (and expected to be removed in binary distros during incubation):

Cryptography

-

Required Resources

Mailing lists

hise-private, hise-dev

Subversion Directory

https://svn.apache.org/repos/asf/incubator/hise

Issue Tracking

JIRA HISE (HISE)

Other Resources

-

Initial Committers

Affiliations

Sponsors

Champion

Matthieu Riou <mriou@apache.org>

Nominated Mentors

Sponsoring Entity

Apache ODE PMC

HISEProposal (last edited 2009-10-23 09:20:05 by rrusin)