Stardust - A Comprehensive Business Process Management Suite

History

Initiatives to address software solution aspects like Workflow, Service Orchestration and Document Processing with modeling instead of coding exist for quite a while. At the beginning of the millenium, the term Business Process Management (BPM) had been established for this approach.

Technology vendors like IBM, ORACLE or SAP deliver Business Process Management Suites (BPMS) as part of their technology platforms IBM Websphere, ORACLE Fusion and SAP Netweaver. Basic workflow and orchestration functionality is also provided via the Microsoft Workflow Foundation component in the .NET stack.

The corresponding open source market is still small. jBPM as part of the Red Hat/JBoss portfolio exists for quite a while; originally as a very coding-centric implementation and only recently with sufficient end user and user interface components.One of the founders of jBPM, Tom Bayens had left JBoss due to discrepencies on licensing policy and had initiated the project Activiti as part of the Alfresco organization. Tom also left Activiti recently and is now focussing on Effektif, a Cloud offering for BPM. The Berlin-based company Camunda is continuing with their own branch of the Activiti code base as Camunda BPM. Bonitasoft is another open source offering partially using proprietary concepts for their delivery.

All the above indicates the volatility of the open source market for BPM and makes it difficult for enterprises to rely on these technologies as part of their IT infrastructure. Even being generally open-minded regarding open source technology, enterprises will need reliable technology with appropriate Service Level Agreements (SLAs).

With Stardust, a 13-year-old, industry-proven and standards-compliant technology is provided under the Eclipse Public License (EPL). Origin of Stardust is the CARNOT Process Engine which had been developed by CARNOT AG in Germany between 2000 and 2006. End of 2006 CARNOT AG was acquired by SunGard, a leading provider for systems and services in the Financial Services space. SunGard has made the CARNOT Process Engine the backbone of their infrastructure platform Infinity and rebranded it into Infinity Process Platform. The Infinity Process Platform is used in more than 60 SunGard products and in over 1.600 deployments across the world. The usage profiles goes from document processing with hundreds of thousands of documents per day over human-centric workflow with thousands of users to low-latency applications with thousands of processes per second.

In 2010, SunGard has contributed the entire Infinity Process Platform code base to Eclipse into the Eclipse Process Manager (Stardust) project. With the Eclipse Kepler Release, Stardust has matured to Release status. With about 3 Mio. lines of code, Stardust is one of the biggest code contribution in the history of Eclipse ever and a significant part of the 58 Mio. lines of code in Kepler. Stardust is part of the SOA Platform top-level project. Collaboration with other subprojects under this top-level project has been recently presented at EclipseCon 2013. SunGard is continuing to offer maintenance, support and Cloud/hosting services for Stardust.

Architecture

Stardust supports comprehensive modeling of Business Processes with Activities, Data, Sequence Flow, Data Flow, invoked Applications and Workflow Participants following the Business Process Model and Notation (BPMN) 2.0 Standard from the Object Management Group (OMG). Non-interactive Services like Java Classes, Spring Beans or REST/Web Services, scripts like Message Transformations or interactive UI components e.g. HTML5 pages as well as Data Structures (e.g. Java Classes, XSDs) can all be defined and integrated in the Eclipse-based modeling environment of Stardust. Standard Eclipse functionality like Refactoring, Reference Search or Validation is integrated.

modeling

Stardust is leaning more and more towards Apache Camel to leverage its broad variety of connectors; Camel routs can be used directly as Event Sources and Services in Stardust.

Stardust has a powerful Simulation Component which allows to predict runtime behavior of processes or workload on systems and human resources. The basis for simulation are stochastic properties as incoming process rate or the distribution of activity durations. There data can also be derived from existing runtime data. The simulation algorithm runs transiently within Eclipse and allows to calculate the behavior of the system over years by executing thousands of probability experiments per second. The results are displayed graphical and in a tabular view in Eclipse. After the simulation run, the evolution of durations, workload can be watched "like a video" with pause and position operations.

simulation

Changes of specific parameters for optimization can be applied. As the resulting simulated processes can also be written to an Audit Trail Database and hence can be a resource for reporting, "as is" and "what if "comparisons can be performed.

simulation reporting

Stardust's Runtime Environemnt is a (possibly clustered) EJB or Web Application/Spring Container (Application Server) with (relational) Audit Trail Database and Document Repository. Hereby, Stardust is integrated with the services of the Application Server such as Transaction Management, Custering and Failover and Resource/Connection Management to ensure scalable, robust operations. For fast development Stardust provides an embedded Runtime Environment in Eclipse based on Apache Tomcat and Apache Derby, which comes ready to use with a Dynamic Web Project Configuration. This way Process Models can be deployed directly from Eclipse and runtime functionality (Portal, Web/REST Services) can be invoked against the embedded server.

architecture

The End User Portal is Java Server Faces based but currently transitioned to HTML 5. The portal provides different Perspectives for end users, managers and administrators.

portal

Non-invasive, REST-based concepts for UI mashups of arbitrary, not-necessarily co-located UI components as interactive steps in the process flow exist.

ui mashup

The Stardust Monitoring and Reporting Feature provides a tight integration with BIRT; Stardust Model and Runtime data are exposed via Open Data Access (ODA) Data Sources and corresponding wizards and can be used combined with other Data Sources in BIRT to create and retrieve reports.

reporting

Some elements of the components are essential for mission-critical production deployments and only partially or insufficiently available with other open source BPMS:

  • Scalable, failover architecture with cluster-enabled caching functionality,
  • Multi-tenancy with independent logical instances within one physical deployment
  • Hot deployment (overwrite and versioning) of process models in 24 x 7 operations
  • Parallel management and deployment of different, possibly idenpendent Process Models to allow different project and end user teams to work independently of each other but still provide holistic access to business process data for the management
  • Configurability of Runtime Environments for the transition between test, User Acceptance Test (UAT) and production environments e.g. to parameterize aspects as Web Service/REST endpoints or Mail Server addresses.

Getting Access

All information regarding Stardust can be obtained from its Project Page and its Homepage, e.g. a rich Wiki page, training videos and a discussion forum, where a lot of issues and questions have been discussed. All Stardust documentation is available online with the Eclipse Online Help.

Installation and first steps with Stardust as part of Kepler can be obtained from the Installation Guide (for Kepler RC3). The best way to get you hands on Stardust functionality after the installation is probably with the Support Case Tutorial which shows you how to create a process model, deploy the same into an embedded runtime environment in Eclipse and access the end user portals via your browser.

If you intend to build Stardust locally, you may clone the corresponding Git Repositories. Detailed documentation on how to build Stardust locally can be found here.

To get in touch with or even become a member of the Stardust team feel free and very welcome to contact stardust-dev@eclipse.org.

Future

Stardust is following the trend of more and more browser-orientation ("development on the Web for the Web"). The BPMN 2.0 Browser Modeler as an alternative modeling environment to the modeling environment in Eclipse is currently extended in short Sprints and follows similar concepts (Extension Points) as Eclipse regarding its extensibility. Extensions can be provided in HTML and JavaScript agnostic to the server technology in use. Currently components for Rules Managament and a Reporting Wizard are added to the Browser Modeler.

Committers from itPearls are helping with improvements on BPMN 2.0 compatibility.

browser modeler

To establish a complete, possibly distributed web-based development environment the Stardust Browser Modeler is integrated with Orion. This way, developers can use Orion to create Web UI, business logic, business process models and rules and deploy the compound solution into a runtime environment.

orion

 

As well as progressing with the Browser Modeler, we intend to collaborate with the BPMN2 Modeler project to provide a homogenous modeling environment in Eclipse.

Another subproject in Stardust is creating an end user interface for mobile devices with jQuery Mobile exists in Git.

All these activities are open to contributions and contributors and committers are very welcome.

About the Author
Marc Gille

Marc Gille
SunGard