<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
jBPM5 Roadmap
</h3>
<span style="margin-bottom: 10px;">
modified by <a href="http://community.jboss.org/people/KrisVerlaenen">Kris Verlaenen</a> in <i>jBPM Development</i> - <a href="http://community.jboss.org/docs/DOC-15344">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">This document describes a proposal for the jBPM5 roadmap, based on the feedback of the community on the suggested features in the <a class="jive-link-wiki-small" href="http://community.jboss.org/docs/DOC-15172">jBPM5 request for comments</a>.  It will constantly be updated with the necessary details (feature lists, dates) based on community feedback, etc.</span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">More features will be added in the following releases to work towards our full vision.</span></p><p><span style="color: #000000; font-size: 10pt;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Feedback on the roadmap is welcome on the <a class="jive-link-email-small" href="mailto:jbpm-dev@lists.jboss.org">jbpm-dev@lists.jboss.org</a> mailing list.  If you want to help out (big or small, from new features or patches to documentation or testing), that's the place to go as well !   Or come have a chat at #jbpm on irc.codehaus.org.</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><strong>DISCLAIMER:</strong> this roadmap is not considered to be finalized yet, it is a proposal that might still be changed according to customer / community feedback<br/></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><strong style=": ; font-size: 14pt; text-decoration: underline;">jBPM 5.1</strong></p><p>Target date: May 2nd, 2011<span style="font-size: 14pt; text-decoration: underline;"> </span><strong style=": ; font-size: 14pt; text-decoration: underline;"><br/></strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><strong>New BPMN 2.0 Eclipse editor</strong></p><p>A new BPMN 2.0 Eclipse editor will be created, supporting full the BPMN2 syntax and most of the BPMN2 constructs.  It will also allow you to constrain which elements and attributes should be shown (for example to create a jBPM 5 profile that only shows the elements and attributes as supported by jBPM 5).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><strong>Designer</strong></p><p>The web-based designer (based on Oryx) will be updated to support full round-tripping and include support for custom jBPM5 attributes.  This will allow you to create executable BPMN2 using the Designer only (without requiring filling in the execution details in Eclipse.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><strong>Web service integration</strong></p><p>Improved web service integration (using pluggable work items) and UI enhancements to enhance service orchestration capabilities</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><strong>Repository of domain-specific services</strong></p><p>The set of out-of-the-box services will be extended and includes a repository where these definitions can be downloaded from.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><strong>Business Activity Monitoring (BAM)</strong></p><p>Extend BAM reporting / direct intervention capabilities</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><h1>History</h1><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">History of roadmap for released version<br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><p><span style="color: #000000; font-size: 14pt; font-family: arial,helvetica,sans-serif; text-decoration: underline;"><strong>jBPM 5.0<br/></strong></span></p><p><span style="color: #000000; font-size: 10pt;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">The first release of jBPM5 will include support for business processes in their entire life cycle (modeling, deployment, execution, monitoring) with the following key characteristics:</span></p><ul><li><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">native BPMN2 engine</span></li><li><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">light-weight, embeddable or "as a service"</span></li><li><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">higher-level, domain-specific processes</span></li><li><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">strong rule and event processing integration</span></li><li><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">web tooling for more business-oriented users</span></li></ul><p><span style="color: #000000; font-size: 10pt;"><br/></span></p><p><span style="color: #000000; font-size: 10pt;">As requested by most community members, the first release will focus on the core of the various components, with simple tooling associated with it.  The core can then be extended with more advanced features and tooling in the following releases.</span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Clean, separate, simple <strong>knowledge-oriented API</strong> for setting up sessions, loading process definitions, executing process instances, event listeners, etc.</span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><strong>Core process engine using BPMN 2.0</strong> process definition format.  The specification document and associated XSD definition files can be found <a class="jive-link-external-small" href="http://www.omg.org/spec/BPMN/2.0/">here</a>.  The engine will (at least) support the "common executable" subclass as defined in the specification (a minimal set of elements / attributes for specifying executable processes), but in a Java developer context (meaning supporting Java domain model and expression language).  The specification defines that the following elements (and associated attributes) are part of this subclass:</span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><table border="1" cellpadding="7" cellspacing="0" frame="vsides" rules="none" style="width: 633px; height: 1017px;"><col width="198"></col> <col width="446"></col> <tbody><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">sequenceFlow (unconditional)</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, (name), sourceRef, targetRef</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">sequenceFlow (conditional)</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, sourceRef, targetRef, conditionExpression</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">sequenceFlow (default)</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, sourceRef, targetRef, default</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">subProcess (expanded)</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, flowElement, loopCharacteristics,<strong> </strong>boundaryEventRefs</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">exclusiveGateway </span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, gatewayDirection (only converging and diverging), default</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">parallelGateway</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, gatewayDirection (only converging and diverging)</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">startEvent (None)</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">endEvent (None)</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">eventBasedGateway</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name,  gatewayDirection, eventGatewayType</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">userTask</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, renderings, implementation, resources, ioSpecification, dataInputAssociations, dataOutputAssociations, loopCharacteristics, boundaryEventRefs</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">serviceTask</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, implementation, operationRef, ioSpecification, dataInputAssociations, dataOutputAssociations, loopCharacteristics, boundaryEventRefs</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">callActivity</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, calledElement, ioSpecification, dataInputAssociations, dataOutputAssociations, loopCharacteristics, boundaryEventRefs</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">dataObject</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, isCollection, itemSubjectRef</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">textAnnotation</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, text</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">dataAssociation</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, sourceRef, targetRef, assignment</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">messageStartEvent</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, messageEventDefinition (either ref or contained), dataOutput, dataOutputAssociations</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">messageEndEvent</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, messageEventDefinition, (either ref or contained), dataInput, dataInputAssociations</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">terminateEndEvent</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">(Terminating trigger in combination with one of the other end events)</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Catching message IE</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, messageEventDefinition (either ref or contained), dataOutput, dataOutputAssociations</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Throwing message IE</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, messageEventDefinition (either ref or contained), dataInput, dataInputAssociations</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Catching timer IE</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, timerEventDefinition (contained)</span></p></td></tr><tr valign="top"><td style=";" width="198"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Boundary error IE</span></p></td><td style=";" width="446"><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">id, name, attachedToRef, errorEventDefinition, (contained or referenced),  dataOutput,  dataOutputAssociations</span></p></td></tr></tbody></table><p><span style="color: #000000; font-size: 10pt;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Depending on the progress, additional node types will probably already be supported by that time as well.  The list of supported elements and attributes will regularly be updated so you can have a clear idea of what to expect in each release.<br/></span></p><p><span style="color: #000000; font-size: 10pt;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">The core BPMN2 engine of course includes</span></p><ul><li><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"> persistence (JPA-based with pluggable variable persistence)</span></li><li><span style="color: #000000; font-size: 10pt;"><span style="font-family: arial,helvetica,sans-serif;">transaction support</span><span style="font-family: arial,helvetica,sans-serif;"> </span></span></li><li><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">auditing</span></li><li><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">history log</span></li><li><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">basic process instance migration</span></li><li><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">etc.</span></li></ul><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Also support for domain-specific nodes and powerful rules integration.</span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><p><span style="color: #000000; font-size: 10pt;"><strong>Human tasks</strong></span></p><p><span style="color: #000000; font-size: 10pt;">Independent human task service for managing human tasks based on the WS-HumanTask specification.<br/></span></p><p><span style="color: #000000; font-size: 10pt;">Simple web-based human task web console supporting the task life cycle (claim, start, complete, etc.) and custom task forms.</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="color: #000000; font-size: 10pt;"> </span> </p><p><span style="color: #000000; font-size: 10pt;"><br/></span></p><p><span style="color: #000000; font-size: 10pt;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><strong>Eclipse-based tooling for creating BPMN2 processes</strong></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Eclipse-based plugin that allows developers to graphically create BPMN2 processes, including basic validation, testing and debugging.</span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/><strong>Web-based tooling for creating BPMN2 processes</strong></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">We'd like to continue the integration of the web-based BPMN2 editor based on the open-source Oryx editor.</span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><p><span style="color: #000000; font-size: 10pt;"><br/></span></p><p><span style="color: #000000; font-size: 10pt;"><strong>Process repository</strong></span></p><p><span style="color: #000000; font-size: 10pt;">Knowledge repository for storing process definitions.</span></p><p><span style="color: #000000; font-size: 10pt;">Simple web-based repository management console for storing process definitions, versioning, releasing, etc.</span></p><p><span style="color: #000000; font-size: 10pt;"><br/></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"><span style="color: #000000; font-size: 10pt;"> </span> </p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><strong>Process management console</strong></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"> Simple web-based console for starting processes, managing running instances, checking current state of one specific instance, aborting, etc.</span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><strong>Reporting</strong></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Customizable reports using BIRT</span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Simple web-based console for viewing real-time reports</span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><p><span style="color: #000000; font-size: 10pt;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><strong>Installation</strong> script (and demo setup)<br/></span></p><p><span style="color: #000000; font-size: 10pt;"><strong style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Documentation</strong></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><br/></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;"><strong>Migration</strong></span></p><p><span style="color: #000000; font-size: 10pt; font-family: arial,helvetica,sans-serif;">Support for migration from jPDL3 (product) and jPDL4 (community), in the form of a semi-automatic, one-shot, user-assisted transformation process to BPMN2 for process definitions and documentation.</span></p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
        <p style="margin: 0;">Create a new document in jBPM Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2035">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>