Differences between revisions 3 and 4
Revision 3 as of 2009-10-13 09:23:53
Size: 8678
Comment: Added pzf as mentor
Revision 4 as of 2009-10-14 07:49:54
Size: 46
Editor: rrusin
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Abstract =
Humanoid will be an implementation of WS-Human-Task Specification.
= Proposal =
Humanoid 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 Humanoid 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 Humanoid 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 Humanoid.

= 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 Humanoid in J2EE and JBI SOA worlds. Potential projects benefiting from Humanoid 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 Humanoid 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. Humanoid 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 Humanoid.

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:
 * H2 embedded database (modified MPL 1.1 http://www.h2database.com/html/license.html)
 * jaxb (Apache 2.0 and W3C license)
 * aspectj (Eclipse Public License)
 * jMock Project License (http://www.jmock.org/license.html)
 * saaj API and Impl (CDDL v. 1.0)
 * Other dependencies are licensed under MIT, BSD, Common Public License, Eclipse Public License, and Apache 2.0 Licenses

Not compatible with Apache license (and expected to be removed in binary distros during incubation):
 * Hibernate (LGPL)
 * Jboss Archive Browsing (LGPL)

= Cryptography =
-

= Required Resources =

== Mailing lists ==
humanoid-private, humanoid-dev

== Subversion Directory ==
https://svn.apache.org/repos/asf/incubator/humanoid

== Issue Tracking ==
JIRA Humanoid (HUMANOID)

== Other Resources ==
-

= Initial Committers =
 * Jakub Kurlenda <jkr@touk.pl>
 * Mateusz Lipczyński <mlp@touk.pl>
 * Michał Zalewski <mzl@touk.pl>
 * Rafał Rusin <rr@apache.org>
 * Ula Trzaskowska <utr@touk.pl>
 * Warren Crossing <wcr@touk.pl>
 * Witek Wołejszo <ww@touk.pl>

= Affiliations =
 * Jakub Kurlenda <jkr@touk.pl> (TouK company)
 * Mateusz Lipczyński <mlp@touk.pl> (TouK company)
 * Michał Zalewski <mzl@touk.pl> (TouK company)
 * Rafał Rusin <rr@apache.org> (TouK company)
 * Ula Trzaskowska <utr@touk.pl> (TouK company)
 * Warren Crossing <wcr@touk.pl> (TouK company)
 * Witek Wołejszo <ww@touk.pl> (TouK company)

= Sponsors =

== Champion ==
Matthieu Riou <mriou@apache.org>

== Nominated Mentors ==
Paul Fremantle <pzf@apache.org>

== Sponsoring Entity ==
Apache ODE PMC
Project was renamed to HISE [[HISEProposal]]

Project was renamed to HISE HISEProposal

HumanoidProposal (last edited 2009-10-14 07:49:54 by rrusin)