| <!-- | |
| 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>Eclipse Process Manager (Stardust)</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 Eclipse Process Manager (Stardust) project is a proposed open source | |
| project under the | |
| <a href="http://www.eclipse.org/projects/project_summary.php?projectid=soa"> | |
| Service Oriented Architecture Top-Level Project</a>.<sup><a href="#ftn1">1</a></sup></p> | |
| <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> | |
| <h2>Background</h2> | |
| <!-- | |
| Optionally provide the background that has lead you to creating this project. | |
| --> | |
| <p>Business Process Management (BPM) has its roots in: </p> | |
| <ul> | |
| <li>Enterprise Application Integration,</li> | |
| <li>Human-centric workflow,</li> | |
| <li>Document Management and</li> | |
| <li>Business Intelligence. </li> | |
| </ul> | |
| <p>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. </p> | |
| <p>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. </p> | |
| <p>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.</p> | |
| <p>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.</p> | |
| <p>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.</p> | |
| <p>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.</p> | |
| <p>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.</p> | |
| <h2>Scope</h2> | |
| <!-- | |
| All projects must have a well-defined scope. Describe, concisely, what | |
| is in-scope and (optionally) what is out-of-scope. An Eclipse project | |
| cannot have an open-ended scope. | |
| --> | |
| <p>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.</p> | |
| <p>The contribution | |
| scope is: </p> | |
| <ul> | |
| <li>The business process modeling environment | |
| including human workflow, system integration, organizational and data | |
| modeling entirely based on Eclipse, facilitated by the <b>Process | |
| Workbench</b></li> | |
| <li>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</li> | |
| <li>The rapid application development environment | |
| embedded in Eclipse</li> | |
| <li>The simulation feature</li> | |
| <li>The interfaces to external systems (e.g. | |
| via Web Services or messaging), Document Repositories, Scanning Engines | |
| and Business Rules Management Systems</li> | |
| </ul> | |
| <p>Not in scope are:</p> | |
| <ul> | |
| <li>The Reporting Engine, which is handled by | |
| the Eclipse BIRT project</li> | |
| <li>Document Repositories, Scanning Engines | |
| and Business Rules Management Systems</li> | |
| <li>Application Servers and Database Management | |
| Systems being Runtime Environments for the Process Engine and the Process | |
| Portal and especially not</li> | |
| <li>Any business process models for an | |
| arbitrary industry</li> | |
| </ul> | |
| <p>These contributions are either | |
| complementary components to a BPMS or value add by industry providers in their | |
| respective application domains.</p> | |
| <!-- | |
| Describe the project here. Be concise, but provide enough information that | |
| somebody who doesn't already know very much about your project idea or domain | |
| has at least a fighting chance of understanding its purpose. | |
| --> | |
| <h2>Description</h2> | |
| <h3>Process Workbench</h3> | |
| <p>The contribution includes | |
| the <b>Process Workbench</b>, an integrated process modeling and development | |
| environment offering: </p> | |
| <ul> | |
| <li>Modeling of processes in the <b>Business | |
| Process Modeling Notation</b> (BPMN),</li> | |
| <li>Perspectives for process modeling | |
| including an <b>Analyst and a Development Perspective</b>,</li> | |
| <li>Importing and exporting functionality of | |
| process models in the <b>XML Process Definition Language</b> (XPDL) and</li> | |
| <li>A <b>Rapid Application Development Environment</b> | |
| within the Eclipse Workbench, which allows to execute process models on an | |
| embedded <b>Application Server</b> (Tomcat) using an embedded <b>DBMS</b> | |
| (Apache Derby).</li> | |
| </ul> | |
| <p>The Process Workbench is based on the | |
| Eclipse Modeling Project/Graphical Modeling Project and displays the genuine <b>Eclipse | |
| Look & Feel</b> and leverages various other Eclipse components and concepts | |
| such as:</p> | |
| <ul> | |
| <li>Project setup and management,</li> | |
| <li>Java classpath management and class resolution,</li> | |
| <li>Validation,</li> | |
| <li>Cross-referencing,</li> | |
| <li>Debugging and</li> | |
| <li>WTP integration for Rapid Application Development.</li> | |
| </ul> | |
| <p>Individuals proficient with Eclipse will know how to use | |
| the Stardust | |
| Process Workbench immediately. Comprehensive documentation for the whole suite | |
| is available via the <b>Eclipse Help System</b>.</p> | |
| <p>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 <b>Eclipse Update Mechanism</b>. </p> | |
| <p>The modeler (as well as the Runtime | |
| Environment) the can be extended by customers and partners via numerous Eclipse<b> | |
| Extension Points </b>e.g. to </p> | |
| <ul> | |
| <li>support new application or data integration technologies,</li> | |
| <li>add new message formats (e.g. SWIFT, FIX) and corresponding | |
| processing functionality,</li> | |
| <li>bind additional, use-case specific information to a process | |
| model,</li> | |
| <li>add external process model data sources (e.g.SOA Registries)</li> | |
| <li>and others. </li> | |
| </ul> | |
| <p>Support for <b>version control and | |
| concurrent modeling</b> via SVN is also provided.</p> | |
| <p>The Process Workbench, consisting of a set | |
| of Eclipse Plugins/Features, is fully <b>OSGi</b> enabled by design.</p> | |
| <h3>Monitoring and | |
| Reporting</h3> | |
| <p>Advanced functionality for monitoring and analysis | |
| of process and related data is based on the Eclipse <b>Business Intelligence | |
| and Reporting Tool</b> (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.</p> | |
| <h3>Simulation | |
| Feature</h3> | |
| <p>The Stardust Process Workbench also | |
| contains a <b>Simulation Feature</b> 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.</p> | |
| <h3>Process Runtime | |
| Environment</h3> | |
| <p>The contribution furthermore comprises a <b>Runtime | |
| Environment</b> that:</p> | |
| <ul> | |
| <li>supports EJB and Spring for a managed JEE | |
| environment,</li> | |
| <li>runs on all common application servers,</li> | |
| <li>can use most public DBMS for the audit | |
| trail,</li> | |
| <li>has an interface to many DMS via JCR and</li> | |
| <li>provides support for other widespread | |
| enterprise technologies like JTA, JMS, JDBC, JCA and EJB</li> | |
| </ul> | |
| <p>as well as a comprehensive end user portal | |
| supporting:</p> | |
| <ul> | |
| <li>web-based portals with support for modern | |
| Web technologies like AJAX as well as portals based on Java Swing with</li> | |
| <li>three perspectives</li> | |
| <ul> | |
| <li>the Workflow Execution Perspective for | |
| end users,</li> | |
| <li>the Business Control Center Perspective providing | |
| business monitoring and management capabilities and </li> | |
| <li>the Administration Perspective for administration | |
| tasks</li> | |
| </ul> | |
| </ul> | |
| <p>and finally a client for document scanning.</p> | |
| <p>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.</p> | |
| <h3>Architectural Overview</h3> | |
| <p>The following diagram provides an overview of the Stardust | |
| architecture as of today:</p> | |
| <p><img src="EPM-architecture-1.png" width="100%"></p> | |
| <p>The architecture of the Simulation Feature is shown in the next diagram: </p> | |
| <p><img src="EPM-architecture-2.png" width="100%"></p> | |
| <p>The next diagram shows the integration of Stardust and BIRT:</p> | |
| <p><img src="EPM-architecture-3.png" width="100%"></p> | |
| <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? | |
| --> | |
| <p>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.</p> | |
| <p>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.</p> | |
| <h2>Initial Contribution</h2> | |
| <!-- | |
| Projects are expected to arrive at Eclipse with existing code. | |
| Describe the existing code that will be contributed to the project. Please provide | |
| a couple of paragraphs describing the code with modest detail, including important | |
| information like code ownership (who holds the copyright?), and some consideration | |
| of community that exists around the code. Include a listing of third-party libraries | |
| and associated licenses. | |
| --> | |
| <p>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:</p> | |
| <ul> | |
| <li>the Process Engine Runtime Environment,</li> | |
| <li>the Process Workbench,</li> | |
| <li>the Reporting Facility,</li> | |
| <li>the Simulation Feature and</li> | |
| <li>the Process Portal</li> | |
| </ul> | |
| <p>as well as comprehensive documentation of | |
| the whole suite.</p> | |
| <p>More than a decade of product development, a proven track | |
| record and the knowledge base of the SunGard internal community<sup><a href="#ftn2" | |
| name="_ftnref2" title="">2</a></sup> 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.</p> | |
| <p>All IPP code – except used open source libraries – currently | |
| is owned by SunGard and licensed under a proprietary license. The complete code | |
| for the <em>Stardust</em> | |
| project will be relicensed under the EPL as part of the contribution to | |
| Eclipse.</p> | |
| <h2>Legal Issues</h2> | |
| <p>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.</p> | |
| <p>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.</p> | |
| <p>There are no dependencies on code under GPL.</p> | |
| <!-- | |
| 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? | |
| --> | |
| <h2>Relationship to other projects</h2> | |
| <h3>Service Oriented Architecture (Container)</h3> | |
| <p>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.</p> | |
| <p>Within the SOA top level project, the Stardust project has links to most of | |
| the other projects. </p> | |
| <ul> | |
| <li><strong>eBPM</strong> offers a significantly smaller subset | |
| of the Stardust functionality. Its sponsor, Spagi has already | |
| declared support for the Stardust project. <strong>eBAM</strong> | |
| from the same sponsor could be adapted to work with the Stardust | |
| project.</li> | |
| <li><strong>BPMN Modeler</strong> 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.</li> | |
| <li>The <strong>SCA Tools</strong> project and the <strong> | |
| Mangrove</strong> project complement Stardust. <strong>Swordfish</strong> | |
| 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.</li> | |
| <li><strong>Java Workflow Tooling</strong> 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.</li> | |
| <li><strong>Business Intelligence and Reporting Tools (BIRT)</strong> | |
| 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.</li> | |
| <li><strong>Eclipse Modeling Project</strong> 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.</li> | |
| </ul> | |
| <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; these are all developers and enabling team for the | |
| current SunGard product IPP.</p> | |
| <ul> | |
| <li>Stephan Born, SunGard</li> | |
| <li>Monika Funke, SunGard</li> | |
| <li>Shrikant Gangal, SunGard</li> | |
| <li>Marc Gille, SunGard, Lead</li> | |
| <li>Subodh Godbole, SunGard</li> | |
| <li>Barry Grotjahn, SunGard</li> | |
| <li>Florin Herinean, SunGard</li> | |
| <li>Yogesh Manware, SunGard</li> | |
| <li>Vikas Mishra, SunGard</li> | |
| <li>Andreas Müller, SunGard</li> | |
| <li>Anoop Nair, SunGard</li> | |
| <li>Herbert Neureiter, SunGard</li> | |
| <li>Vikash Pandey, SunGard</li> | |
| <li>Ankita Patel, SunGard</li> | |
| <li>Rainer Pielmann, SunGard</li> | |
| <li>Holger Prause, SunGard</li> | |
| <li>Sven Rottstock, SunGard</li> | |
| <li>Robert Sauer, SunGard</li> | |
| <li>Christian Schenzel, SunGard</li> | |
| <li>Roland Stamm, SunGard</li> | |
| <li>Nicolas Werlein, SunGard</li> | |
| </ul> | |
| <!-- | |
| 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>Chris Aniszczyk, <i>Red Hat</i></li> | |
| <li>Adrian Mos, <i>Xerox</i></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>SAP - Patrick Schmidt, Development | |
| Manager, Netweaver BPM</li> | |
| <li>BIRT/Actuate - Mark Coggins, SVP Engineering</li> | |
| <li>Spagi - Antonio Majori, Senior Technical | |
| Manager</li> | |
| <li>Nuxeo – Eric Barroca, Founder and CEO</li> | |
| <li>Adrian Mos, SOA PMC</li> | |
| </ul> | |
| <h2>Project Scheduling</h2> | |
| <!-- | |
| Describe, in rough terms, what the basic scheduling of the project will | |
| be. You might, for example, include an indication of when an initial contribution | |
| should be expected, when your first build will be ready, etc. Exact | |
| dates are not required. | |
| --> | |
| <ul> | |
| <li>April 2011 - proposal</li> | |
| <li>May 2011 - creation review</li> | |
| <li>June 2011 - initial contribution based on | |
| version 6.0 of the donor project. </li> | |
| <li>Beginning of Q3 2011 - approval of the | |
| code and other IP contributions and provisioning of the projects on | |
| Eclipse.org infrastructure.</li> | |
| <li>December 2011 - synchronization with the | |
| milestone release train of the successors to Eclipse 3.7/4.1</li> | |
| </ul> | |
| <h3>Footnotes</h3> | |
| <p><a name="ftn1">1</a>The | |
| 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. </p> | |
| <p><a name="ftn2">2</a> SunGard’s adoption of IPP has followed an internal open source model, | |
| resulting in a community spread across geographies, product lines and customers </p> | |
| <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>04-Mar-2011</td> | |
| <td>Document created</td> | |
| </tr> | |
| <tr> | |
| <td> | |
| <p>05-Apr-2011</p> | |
| </td> | |
| <td> | |
| <p>Version to be proposed</p> | |
| </td> | |
| <tr> | |
| <td>08-Apr-2011</td> | |
| <td>First Architecture Council Mentor added.</td> | |
| </tr> | |
| <tr> | |
| <td>13-May-2011</td> | |
| <td>Second Architecture Council Mentor added.</td> | |
| </tr> | |
| </table> | |
| </body> | |
| </html> |