BPMN 2.0 Modeler
The BPMN 2.0 Modeler project is a proposed open source project under the Service Oriented Architecture (SOA) Container Project.
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 Eclipse Proposals Forum.Feedback may also be provided by participating in discussions on the Eclipse SOA Forum or by email to the soa-dev or soa-pmc mailing lists.
The mission of the SOA Project 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.
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.
The BPMN 2.0 Modeler provides a graphical modeling tool which allows creation and editing of BPMN ( Business Process Modeling Notation ) diagrams. The tool is built on Eclipse Graphiti and uses the BPMN 2.0 EMF meta model currently being developed within the Eclipse Model Development Tools (MDT) project. This meta model is compatible with the BPMN 2.0 specification (herafter "the specification") proposed by the Object Management Group.
ScopeThe following features are in scope for the BPMN 2.0 Modeler project:
- Basic BPMN 2.0-compliant file creation and editing capabilities
- Process Modeling, Process Execution and Choreography Modeling Conformance as defined section 2 of the specification
- Plug-in extension points that allow the editor to be customized for specific applications
- BPEL Process Execution Conformance as defined in section 2.3 of the specification
- Deployment of BPMN resources to a suitable runtime
- Simulation and debug support of business processes
- Extensive process validation, such as sequence flow paths
DescriptionThe 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 project wiki at GitHub.
Why Eclipse?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.
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.
Relationship with other Eclipse ProjectsThe BPMN sub-project will be built on top of the Eclipse Platform and will depend on the following Eclipse projects.
- MDT Project includes the BPMN2 meta model, which is the underlying model for the BPMN 2.0 Modeler.
- EMF Project is required for access to the BPMN2 meta model.
- EMF Validation Framework is used to implement additional validation rules.
- Graphiti Project is the graphical framework for the BPMN 2.0 Modeler.
- Mangrove Project 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.
- the generated artifacts can't be directly deployed in a straightforward way to runtime environments
- 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
- it does not formally define extension points that allows vendors to address specific needs without breaking the model
- it does not support choreographies to allow building of applications that cross organizational boundaries
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.
Initial ContributionThe current version of the editor is being hosted at GitHub and can be obtained here . This will become the initial code contribution to the project.
Legal IssuesIn November of 2010, Red Hat, Inc. commissioned Codehoop, OU 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.
The proposed project name (BPMN 2.0 Modeler) is descriptive and generic, and does not infringe on any existing copyrighted product or service.
The following individuals are proposed as initial committers to the project:
- Bob Brodt, Red Hat, Inc.
- 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.
- Gary Brown, Red Hat, Inc.
- 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.
- Innar Made, Codehoop, OU
- 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.
- Ivar Meikas, Codehoop, OU
- 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.
- Kris Verlaenen, Red Hat, Inc.
- 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.
We welcome additional committers and contributions.
The following Architecture Council members will mentor this project:
- Nick Boldt
- John Graham
- Kenn Hussey
- Ed Merks
The following individuals, organisations, companies and projects have expressed interest in this project:
- Ahti Kitsik, Codehoop
- Adrian Mos, Xerox Research
- Antoine Toulmé, Intalio
- John Graham, Red Hat
- Jan Hendrik Scheufen, SunGard
- Marc Dutoo, Open Wide Technologies
- Java Workflow Tooling project
- Make initial code contribution to Eclipse.
- Set up nightly builds and update site.
- Stabilize code and add missing features such as Outline views.
- Integrate with server deployment framework.
- Build wizards or assistants to ease creation and configuration of some of the more complex notation elements (e.g. collaborations).
- Define and implement plug-in extension points as described in the Scope section of this proposal.
- Add multiple tabs for displaying various BPMN 2.0 diagram types.
- 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.
- Support process debugging.
- Support BPEL Process Execution Conformance. BPEL export/import will be accomplished with Mangrove.
Changes to this Document