Eclipse Process Manager (Stardust)
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.
Business Process Management (BPM) has its roots in:
- Enterprise Application Integration,
- Human-centric workflow,
- Document Management and
- Business Intelligence.
BPM combines these concepts and has an important role – driven by the need for optimization of business processes and the demands to increase enterprise agility. Originally, many products had offered just parts of the required functionality e.g. business process modeling. Today, Business Process Management Suites (BPMS) support the whole process lifecycle of process modeling, simulation, execution and monitoring.
Some products run standalone - especially those focused on smaller and medium enterprises (SME) – but the majority are running interwoven with other enterprise middleware products such as Application Servers. Several software vendors have tied their BPM offerings closely with their entire portfolio of middleware products, thus forcing the customer to use the whole technology stack from this vendor.
In the last couple of years, the BPM market has been consolidating, mainly through acquisitions of smaller BPMS providers by larger companies and smaller companies vanishing. However, no open source product has been really established in the market.
We think the time has come for a BPMS project under the stewardship of the Eclipse Foundation to do what its IDE already has achieved for software development: a common platform accepted by multiple vendors on which a large variety of more specialized products and solutions can be based upon.
SunGard’s Infinity Process Platform (IPP), which has evolved from the acquisition of the German BPMS provider CARNOT AG by SunGard in 2006, is a mature BPMS which has been developed for more than 10 years. It has a proven track record in the industry with more than 1,500 customers on all 5 continents and is embedded in more than 25 SunGard solutions in mission critical, partially high throughput environments. IPP was ranked in Gartner's BPMS Magic Quadrant in the 2007 as #2 in Vision.
IPP has been relying on Eclipse technology for many years and is integrated with the Eclipse environment wherever possible. Hence, Eclipse is the natural home for the product and SunGard is willing to contribute the current version of IPP into an Eclipse project and to help maintaining it further in the Eclipse community.
As IPP provides not just a variety of tools but a fully integrated platform for the whole lifecycle of managing business processes, we propose to name it Eclipse Process Manager, nickname Stardust and acronym EPM. As BPM is an essential part of every SOA the EPM project should be a subproject under the umbrella of the SOA top-level project.
This project will provide a comprehensive Business Process Management Suite (BPMS) which covers all phases of the Business Process Lifecycle including modeling, simulation, execution and monitoring.
The contribution scope is:
- The business process modeling environment including human workflow, system integration, organizational and data modeling entirely based on Eclipse, facilitated by the Process Workbench
- The Runtime Environment including the Process Engine and the browser-based End User Process Portal entirely based on Web standards (J2EE, JSF) as well as planned adoption for OSGi services
- The rapid application development environment embedded in Eclipse
- The simulation feature
- The interfaces to external systems (e.g. via Web Services or messaging), Document Repositories, Scanning Engines and Business Rules Management Systems
Not in scope are:
- The Reporting Engine, which is handled by the Eclipse BIRT project
- Document Repositories, Scanning Engines and Business Rules Management Systems
- Application Servers and Database Management Systems being Runtime Environments for the Process Engine and the Process Portal and especially not
- Any business process models for an arbitrary industry
These contributions are either complementary components to a BPMS or value add by industry providers in their respective application domains.
The contribution includes the Process Workbench, an integrated process modeling and development environment offering:
- Modeling of processes in the Business Process Modeling Notation (BPMN),
- Perspectives for process modeling including an Analyst and a Development Perspective,
- Importing and exporting functionality of process models in the XML Process Definition Language (XPDL) and
- A Rapid Application Development Environment within the Eclipse Workbench, which allows to execute process models on an embedded Application Server (Tomcat) using an embedded DBMS (Apache Derby).
The Process Workbench is based on the Eclipse Modeling Project/Graphical Modeling Project and displays the genuine Eclipse Look & Feel and leverages various other Eclipse components and concepts such as:
- Project setup and management,
- Java classpath management and class resolution,
- Debugging and
- WTP integration for Rapid Application Development.
Individuals proficient with Eclipse will know how to use the Stardust Process Workbench immediately. Comprehensive documentation for the whole suite is available via the Eclipse Help System.
As the whole Stardust Process Workbench is implemented using the Eclipse Features/Plug-ins, the ability to install and update the Process Workbench via the Eclipse Update Mechanism.
The modeler (as well as the Runtime Environment) the can be extended by customers and partners via numerous Eclipse Extension Points e.g. to
- support new application or data integration technologies,
- add new message formats (e.g. SWIFT, FIX) and corresponding processing functionality,
- bind additional, use-case specific information to a process model,
- add external process model data sources (e.g.SOA Registries)
- and others.
Support for version control and concurrent modeling via SVN is also provided.
The Process Workbench, consisting of a set of Eclipse Plugins/Features, is fully OSGi enabled by design.
Monitoring and Reporting
Advanced functionality for monitoring and analysis of process and related data is based on the Eclipse Business Intelligence and Reporting Tool (BIRT). It uses BPM specific data sources from the BPM model and BPM Audit Trail Database (Process Instances, Activity Instances, Process Data) and can be joined with arbitrary BIRT Data Sources for rich, use case specific reports.
The Stardust Process Workbench also contains a Simulation Feature which allows to simulate modeled processes without deploying them to a Runtime Environment by running a fast, in-memory algorithm performing thousands of processes for a simulation period of possibly years in seconds. This way critical paths or resource bottlenecks can be identified and general behavior of processes (e.g. overall duration) can be predicted. Simulation results can be displayed graphically and copied into spreadsheets or written to a database.
Process Runtime Environment
The contribution furthermore comprises a Runtime Environment that:
- supports EJB and Spring for a managed JEE environment,
- runs on all common application servers,
- can use most public DBMS for the audit trail,
- has an interface to many DMS via JCR and
- provides support for other widespread enterprise technologies like JTA, JMS, JDBC, JCA and EJB
as well as a comprehensive end user portal supporting:
- web-based portals with support for modern Web technologies like AJAX as well as portals based on Java Swing with
- three perspectives
- the Workflow Execution Perspective for end users,
- the Business Control Center Perspective providing business monitoring and management capabilities and
- the Administration Perspective for administration tasks
and finally a client for document scanning.
The Process Runtime Environment is designed with a modular architecture, heavily using various Java Interface based extension points. Given this foundation it can be expected that the Process Runtime Environment can be adapted to native use of OSGi services in a straightforward way.
The following diagram provides an overview of the Stardust architecture as of today:
The architecture of the Simulation Feature is shown in the next diagram:
The next diagram shows the integration of Stardust and BIRT:
Infinity Process Platform has leveraged Eclipse technology since inception (10 years) and seamlessly integrated with Eclipse technology and concepts. It is a BPMS built on Eclipse technologies and concepts.
Although Eclipse is adding more and more SOA and Runtime capabilities to its portfolio, a comprehensive BPMS is not yet available from Eclipse – nor does an established BPMS exist in the open source market in general. The Eclipse Process Manager (Stardust) project can close this gap.
The initial contribution by SunGard will be based on the existing Infinity Process Platform product as of today into Stardust. It consists of code for:
- the Process Engine Runtime Environment,
- the Process Workbench,
- the Reporting Facility,
- the Simulation Feature and
- the Process Portal
as well as comprehensive documentation of the whole suite.
More than a decade of product development, a proven track record and the knowledge base of the SunGard internal community2 can be combined with the mature and established community processes and the market footprint of Eclipse. SunGard is dedicated to help transition the project into successful community work.
All IPP code – except used open source libraries – currently is owned by SunGard and licensed under a proprietary license. The complete code for the Stardust project will be relicensed under the EPL as part of the contribution to Eclipse.
IPP as of today requires libraries for Hibernate and XOM, distributed under the LGPL. Some other libraries under LGPL are needed for non-core functionality.
Hibernate will be required by users of Stardust if users intend to use Hibernate to persist process data. For XOM other libraries accepted by the Eclipse Foundation will be considered.
There are no dependencies on code under GPL.
Relationship to other projects
Service Oriented Architecture (Container)
The goal of this top-level project is to deliver a packaged open source SOA platform solution. This includes a comprehensive SOA runtime environment and a suite of complementary tools and tool frameworks designed to address the needs of architects, developers and deployers of SOA solutions. It is the aim of the project to be the natural and happy home of all future SOA-related projects within Eclipse. Thus the Stardust project fits very nice in the Service Oriented Architecture container.
Within the SOA top level project, the Stardust project has links to most of the other projects.
- eBPM offers a significantly smaller subset of the Stardust functionality. Its sponsor, Spagi has already declared support for the Stardust project. eBAM from the same sponsor could be adapted to work with the Stardust project.
- BPMN Modeler is a submission by Intalio providing a modeler for the Business Process Management Notation (BPMN) which Stardust is using as well. The BPMN modeler seems to be almost inactive.
- The SCA Tools project and the Mangrove project complement Stardust. Swordfish is an OSGi-based SOA framework that builds on Apache ServiceMix and Apache CXF. It is designed to be complemented by additional open source components such as a service registry, a messaging system, a process engine, etc. to form a comprehensive open source SOA runtime environment based on both established and emerging standards. Stardust would significantly contribute to this goal.
- Java Workflow Tooling targets the same domain as Stardust. In some aspects (the Workflow Editor) it is very similar; in others it is more abstract, e.g. it only supports a generic workflow engine administration API, but does not deliver a concrete implementation of a process engine. By contrast Stardust is a complete BPMS with components for the whole process lifecycle in commercial operation for more than a decade. Details on how the two projects would coexist need to be evaluated, but Java Workflow Tooling could profit from many components that Stardust delivers.
- Business Intelligence and Reporting Tools (BIRT) The Stardust Process Workbench uses the Business Intelligence and Reporting Tools as base for its analysis and reporting functionality. There is a close collaboration with the project and the main committer, Actuate. Actuate is listed as an Interested Party in the present proposal.
- Eclipse Modeling Project The Stardust Process Workbench makes intensive use of several components of the Eclipse Modeling Project. Thus improvements of these underlying modules will have a straight impact on the Process Workbench.
The following individuals are proposed as initial committers to the project; these are all developers and enabling team for the current SunGard product IPP.
- Stephan Born, SunGard
- Monika Funke, SunGard
- Shrikant Gangal, SunGard
- Marc Gille, SunGard, Lead
- Subodh Godbole, SunGard
- Barry Grotjahn, SunGard
- Florin Herinean, SunGard
- Yogesh Manware, SunGard
- Vikas Mishra, SunGard
- Andreas Müller, SunGard
- Anoop Nair, SunGard
- Herbert Neureiter, SunGard
- Vikash Pandey, SunGard
- Ankita Patel, SunGard
- Rainer Pielmann, SunGard
- Holger Prause, SunGard
- Sven Rottstock, SunGard
- Robert Sauer, SunGard
- Christian Schenzel, SunGard
- Roland Stamm, SunGard
- Nicolas Werlein, SunGard
The following Architecture Council members will mentor this project:
- Chris Aniszczyk, Red Hat
- Adrian Mos, Xerox
The following individuals, organisations, companies and projects have expressed interest in this project:
- SAP - Patrick Schmidt, Development Manager, Netweaver BPM
- BIRT/Actuate - Mark Coggins, SVP Engineering
- Spagi - Antonio Majori, Senior Technical Manager
- Nuxeo – Eric Barroca, Founder and CEO
- Adrian Mos, SOA PMC
- April 2011 - proposal
- May 2011 - creation review
- June 2011 - initial contribution based on version 6.0 of the donor project.
- Beginning of Q3 2011 - approval of the code and other IP contributions and provisioning of the projects on Eclipse.org infrastructure.
- December 2011 - synchronization with the milestone release train of the successors to Eclipse 3.7/4.1
1The goal of the Eclipse SOA Platform Project is to deliver a packaged Open-Source SOA Platform solution. This includes a comprehensive SOA runtime environment and a suite of complementary tools and tool frameworks, designed to address the needs of architects, developers and deployers of SOA solutions. It is the aim of the project to be the natural and happy home of all future SOA-related projects within Eclipse.
2 SunGard’s adoption of IPP has followed an internal open source model, resulting in a community spread across geographies, product lines and customers
Changes to this Document
Version to be proposed
|08-Apr-2011||First Architecture Council Mentor added.|
|13-May-2011||Second Architecture Council Mentor added.|