| <!-- |
| This document is provided as a template along with some guidance for creating |
| your project proposal. This is just a template. Feel free to change it as |
| you see fit (add sections, remove section). We feel, however, that the |
| suggestions represented in this document represent the reasonable minimum |
| amount of information to move forward. |
| |
| Please keep the formatting in this document simple. Please do not edit |
| this document in Microsoft Word as it adds huge piles of markup that make |
| it difficult to restyle. |
| |
| More information is available here: |
| |
| http://wiki.eclipse.org/Development_Resources/HOWTO/Pre-Proposal_Phase |
| |
| Direct any questions about this template to emo@eclipse.org |
| --> |
| |
| <html> |
| <head> |
| |
| <!-- |
| Include the title here. We will parse it out of here and include it on the |
| rendered webpage. Do not duplicate the title within the text of your page. |
| --> |
| |
| <title>BPMN 2.0 Modeler</title> |
| </head> |
| |
| <!-- |
| We make use of the 'classic' HTML Definition List (dl) tag to specify |
| committers. I know... you haven't seen this tag in a long while... |
| --> |
| |
| <style> |
| dt { |
| display: list-item; |
| list-style-position:outside; |
| list-style-image:url(/eclipse.org-common/themes/Phoenix/images/arrow.gif); |
| margin-left:16px; |
| } |
| dd { |
| margin-left:25px; |
| margin-bottom:5px; |
| } |
| </style> |
| |
| <body> |
| <p>The BPMN 2.0 Modeler project is a proposed open source project |
| under the <a |
| href="http://www.eclipse.org/projects/project_summary.php?projectid=soa">Service |
| Oriented Architecture (SOA) Container Project</a>.</p> |
| |
| <!-- |
| The communication channel must be specified. Typically, this is the |
| "Proposals" forum. In general, you don't need to change this. |
| --> |
| <p>This proposal is in the Project Proposal Phase (as defined in the |
| Eclipse Development Process) and is written to declare its intent and |
| scope. We solicit additional participation and input from the Eclipse |
| community. Please send all feedback to the <a |
| href="http://www.eclipse.org/forums/eclipse.proposals">Eclipse |
| Proposals</a> Forum.</p> |
| |
| Feedback may also be provided by participating in discussions on the |
| <a href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=163">Eclipse |
| SOA Forum</a> |
| or by email to the |
| <a href="https://dev.eclipse.org/mailman/listinfo/soa-dev">soa-dev</a> |
| or |
| <a href="https://dev.eclipse.org/mailman/listinfo/soa-pmc">soa-pmc</a> |
| mailing lists. |
| <h2>Background</h2> |
| <p>The mission of the <a |
| href="http://www.eclipse.org/projects/project_summary.php?projectid=soa">SOA |
| Project</a> is to build frameworks and extensible tools that enable the |
| design, configuration, assembly, deployment, monitoring, and management |
| of software designed around a Service Oriented Architecture. The project |
| is guided by the values of transparency, extensibility, vendor |
| neutrality, community collaboration, agile development, and |
| standards-based innovation.</p> |
| <p>There has been a lot of interest recently in the BPMN 2.0 specification, and many feel that what UML is to object modeling, |
| BPMN 2.0 will be to business process modeling and will become the de facto standard. |
| |
| <p>The BPMN 2.0 Modeler provides a graphical modeling tool which |
| allows creation and editing of BPMN ( <a href="http://www.bpmn.org/">Business |
| Process Modeling Notation</a> ) diagrams. The tool is built on <a |
| href="http://www.eclipse.org/graphiti">Eclipse Graphiti</a> and uses |
| the <a href="http://www.eclipse.org/modeling/mdt/?project=bpmn2">BPMN 2.0 EMF meta model</a> currently being developed |
| within the Eclipse <a href="http://www.eclipse.org/modeling/mdt/">Model |
| Development Tools</a> (MDT) project. This meta model is compatible with the |
| <a href="http://www.omg.org/spec/BPMN/2.0/PDF">BPMN 2.0 |
| specification</a> (herafter "the specification") proposed by the <a |
| href="http://www.osoa.org/display/Main/Home">Object Management |
| Group</a>.</p> |
| <h2>Scope</h2> |
| The following features are in scope for the BPMN 2.0 Modeler project: |
| <ol> |
| <li>Basic BPMN 2.0-compliant file creation and editing capabilities |
| <li>Process Modeling, Process Execution and Choreography Modeling Conformance as defined section 2 of the specification |
| <li>Plug-in extension points that allow the editor to be customized for specific applications |
| <li>BPEL Process Execution Conformance as defined in section 2.3 of the specification |
| <li>Deployment of BPMN resources to a suitable runtime |
| <li>Simulation and debug support of business processes |
| <li>Extensive process validation, such as sequence flow paths |
| </ol> |
| |
| <h2>Description</h2> |
| The specific intent of this project is to provide an intuitive modeling |
| tool for the business analyst, which conforms to well-established |
| Eclipse user interface design practices. |
| The BPMN 2.0 Modeler provides visual, graphical editing and |
| creation of BPMN 2.0-compliant files with support for both the BPMN |
| domain as well as the Diagram Interchange models. Currently the editor |
| is functional and can consume and produce valid BPMN 2.0 model files. |
| Although work is ongoing, only items 1, 2 and 3 listed in the Scope |
| section have been completed. Information regarding the current state of |
| the code is updated regularly and is available in the <a |
| href="https://github.com/imeikas/BPMN2-Editor-for-Eclipse/wiki">project |
| wiki at GitHub</a>. |
| <h2>Why Eclipse?</h2> |
| |
| <!-- |
| Answer these two questions: What value does this project bring to the Eclipse |
| community? What value do you expect to obtain from hosting your project at Eclipse? |
| |
| What value do you get by having your project at Eclipse over and above the value |
| of hosting at Eclipse Labs? |
| |
| --> |
| While the MDT Project brings a BPMN 2.0 meta model into Eclipse, |
| there is as yet no visual tool for building and editing BPMN 2.0 artifacts. |
| The proposed BPMN 2.0 Modeler, even though still in its infancy, already supports a large and functional feature set. |
| We feel that there is sufficient interest in the Eclipse community, and specifically within the SOA Project community, |
| for a BPMN 2.0-compliant editor to help us continue to develop this tool. |
| |
| <p>Another reason for hosting this project at Eclipse is because it relies heavily on existing Eclipse top-level |
| projects as well as SOA sub-projects. By hosting the BPMN 2.0 Modeler at |
| Eclipse, we can ensure that it will remain compatible and hope to effect |
| some level of influence in the future direction of these projects. |
| <h3>Relationship with other Eclipse Projects</h3> |
| The BPMN sub-project will be built on top of the Eclipse Platform and will depend on the following Eclipse projects. |
| <ul> |
| <li><a href="http://www.eclipse.org/mdt">MDT Project</a> includes the BPMN2 meta model, which is the underlying model for the BPMN 2.0 Modeler. |
| <li><a href="http://www.eclipse.org/emf">EMF Project</a> is required for access to the BPMN2 meta model. |
| <li><a href="http://www.eclipse.org/modeling/emf/?project=validation#validation">EMF Validation Framework</a> is used to implement additional validation rules. |
| <li><a href="http://www.eclipse.org/graphiti">Graphiti Project</a> is the graphical framework for the BPMN 2.0 Modeler. |
| <li><a href="http://www.eclipse.org/mangrove">Mangrove Project</a> will be used to connect the BPMN 2.0 Modeler |
| to other editors in the SOA project, as well as to transport execution information such as monitoring data, |
| to BPMN 2.0 diagrams. |
| </ul> |
| |
| While the existing |
| <a href="http://www.eclipse.org/bpmn/">Eclipse BPMN Modeler</a> |
| does provide business process modeling functionality, it is based on the |
| BPMN 1.1 specification which lacks some very important functionality: |
| <ul> |
| <li>the generated artifacts can't be directly deployed in a |
| straightforward way to runtime environments |
| <li>the BPMN 1.1 specification does not define a presentation model, |
| requiring the use of additional, proprietary models |
| which must be kept in sync with the domain model<li>it does not formally define extension points that allows |
| vendors to address specific needs without breaking the model |
| <li>it does not support choreographies to allow building of |
| applications that cross organizational boundaries |
| </ul> |
| The BPMN 2.0 Modeler is based on the most recent recommendation from the |
| OMG consortium, which resolves these issues. |
| <p>We have been in discussions with the BPMN Modeler project team and, in their opinion, |
| changing the scope of the existing project to include the BPMN 2.0 specification would be difficult at best |
| and may lead to confusion about the intent of that project. Their recommendation was to create a new SOA sub-project |
| for a BPMN 2.0 editor. |
| |
| <h2>Initial Contribution</h2> |
| |
| The current version of the editor is being hosted at GitHub and can be |
| obtained |
| <a href="https://github.com/imeikas/BPMN2-Editor-for-Eclipse">here</a> |
| . This will become the initial code contribution to the project.<h2>Legal Issues</h2> |
| |
| <!-- |
| Please describe any potential legal issues in this section. Does somebody else |
| own the trademark to the project name? Is there some issue that prevents you |
| from licensing the project under the Eclipse Public License? Are parts of the |
| code available under some other license? Are there any LGPL/GPL bits that you |
| absolutely require? |
| --> |
| In November of 2010, |
| <a href="http://www.redhat.com/">Red Hat, Inc.</a> |
| commissioned |
| <a href="http://codehoop.com/">Codehoop, OU</a> |
| to develop the initial basic editing framework for this editor, with the |
| understanding that it would eventually become an Eclipse project. |
| Codehoop is a software consulting and development company focusing on |
| building and assembling Eclipse-based tools, plugins and tutorials, and |
| helping product teams establish their Eclipse capabilities. Codehoop |
| developers are active committers, contributors and community members for |
| several Eclipse-based projects at eclipse.org and elsewhere. The company |
| and its employees are well aware of the IP policies of the Eclipse |
| Foundation. The assumption is that the source code referenced in the |
| Initial Contribution section of this proposal is all original work, the |
| ownership of which has been legally transferred to Red Hat, Inc. as a |
| result of execution of the contract entered into by the two parties. |
| <p>The proposed project name (BPMN 2.0 Modeler) is descriptive and |
| generic, and does not infringe on any existing copyrighted product or |
| service. |
| <h2>Committers</h2> |
| |
| <!-- |
| List any initial committers that should be provisioned along with the |
| new project. Include affiliation, but do not include email addresses at |
| this point. |
| --> |
| |
| <p>The following individuals are proposed as initial committers to |
| the project:</p> |
| |
| <dl> |
| <dt>Bob Brodt, Red Hat, Inc.</dt> |
| <dd>Bob is project lead on the BPEL Designer project where he has |
| made significant contributions over the past year. He will assume |
| project leadership this new project.</dd> |
| <dt>Gary Brown, Red Hat, Inc.</dt> |
| <dd>Gary has made significant contributions to the OMG consortium by helping define the BPMN 2.0 specification. He |
| is a domain expert and will provide guidance for this new project.</dd> |
| <dt>Innar Made, Codehoop, OU</dt> |
| <dd>Innar is one of the original developers of the existing |
| code base; he was mostly involved in graphics and stencil logic. He has |
| offered to continue to contribute to this new project.</dd> |
| <dt>Ivar Meikas, Codehoop, OU</dt> |
| <dd>Ivar is one of the original developers of the existing |
| code base, working on integration with the meta model, properties |
| editor etc. He has also offered to continue to contribute to this new |
| project.</dd> |
| <dt>Kris Verlaenen, Red Hat, Inc.</dt> |
| <dd>Kris is the project lead for jBPM, a Red Hat product. jBPM |
| version 5 will be capable of directly executing BPMN 2.0-compliant |
| artifacts. He will provide guidance to this new project by ensuring |
| runtime compliance. |
| </dl> |
| |
| <p>We welcome additional committers and contributions.</p> |
| |
| <!-- |
| Describe any initial contributions of code that will be brought to the |
| project. If there is no existing code, just remove this section. |
| --> |
| |
| <h2>Mentors</h2> |
| |
| <!-- |
| New Eclipse projects require a minimum of two mentors from the Architecture |
| Council. You need to identify two mentors before the project is created. The |
| proposal can be posted before this section is filled in (it's a little easier |
| to find a mentor when the proposal itself is public). |
| --> |
| |
| <p>The following Architecture Council members will mentor this |
| project:</p> |
| |
| <ul> |
| <li>Nick Boldt</li> |
| <li>John Graham</li> |
| <li>Kenn Hussey</li> |
| <li>Ed Merks</li> |
| </ul> |
| |
| <h2>Interested Parties</h2> |
| |
| <!-- |
| Provide a list of individuals, organisations, companies, and other Eclipse |
| projects that are interested in this project. This list will provide some |
| insight into who your project's community will ultimately include. Where |
| possible, include affiliations. Do not include email addresses. |
| --> |
| |
| <p>The following individuals, organisations, companies and projects |
| have expressed interest in this project:</p> |
| |
| <ul> |
| <li>Ahti Kitsik, Codehoop</li> |
| <li>Adrian Mos, Xerox Research</li> |
| <li>Antoine Toulmé, Intalio</li> |
| <li>John Graham, Red Hat</li> |
| <li>Jan Hendrik Scheufen, SunGard</li> |
| <li>Marc Dutoo, Open Wide Technologies</li> |
| <li><a href="http://eclipse.org/jwt/">Java Workflow Tooling project</a></li> |
| </ul> |
| |
| <h2>Project Scheduling</h2> |
| |
| <h3>April 2011</h3> |
| <ul> |
| <li>Make initial code contribution to Eclipse. |
| <li>Set up nightly builds and update site. |
| </ul> |
| <h3>June 2011</h3> |
| <ul> |
| <li>Stabilize code and add missing features such as Outline views. |
| <li>Integrate with server deployment framework. |
| <li>Build wizards or assistants to ease creation and configuration |
| of some of the more complex notation elements (e.g. collaborations). |
| </ul> |
| <h3>October 2011</h3> |
| <ul> |
| <li>Define and implement plug-in extension points as described in |
| the Scope section of this proposal. |
| <li>Add multiple tabs for displaying various BPMN 2.0 diagram |
| types. |
| <li>Customize editor tools based on the diagram type being edited, |
| e.g. by limiting the notation elements available on the tool palette, |
| providing different wizards and assistants, etc. |
| </ul> |
| <h3>January 2012</h3> |
| <ul> |
| <li>Support process debugging. |
| <li>Support BPEL Process Execution Conformance. BPEL export/import |
| will be accomplished with <a href="http://eclipse.org/mangrove/">Mangrove</a>. |
| |
| |
| |
| </ul> |
| |
| <h2>Changes to this Document</h2> |
| |
| <!-- |
| List any changes that have occurred in the document here. |
| You only need to document changes that have occurred after the document |
| has been posted live for the community to view and comment. |
| --> |
| |
| <table> |
| <tr> |
| <th>Date</th> |
| <th>Change</th> |
| </tr> |
| <tr> |
| <td>April-20-2011</td> |
| <td>Document created</td> |
| </tr> |
| </table> |
| </body> |
| </html> |