Zum vollständigen Presseartikel

Transcription

Zum vollständigen Presseartikel
Stardust - eine vollstandige BPM-Suite
in Eclipse
Simone Seurer, Herbert Neureiter, Sven Rottstock, Jan Hendrik Scheufen, Marc Gille
Business Process Management-Suiten (BPMS) sind längst Bestandteil von
Unternehmensplattformen. Mit Stardust steht in der Eclipse Kepler-Release eine vollständige und
industrieerprobte BPMS mit Modellierung, Prozessausführung, Simulation, Monitoring und
Reporting eingebettet in Eclipse und unter der Eclipse Public License zur Verfügung.
Markt und Historie
Lange schon gibt es Initiativen um Anwendungsaspekte wie Workflow, Service-Orchestrierung,
Dokumentenverarbeitungen nicht anwendungsspezifisch zu codieren, sondern als generische
Systemkomponente bereitzustellen und über graphische Repräsentation der entsprechenden
Geschäftsprozessmodelle idealerweise durch die Fachabteilung selbst zu konfigurieren. Anfang des
Jahrtausends hat sich für diesen Ansatz der Oberbegriff Business Process Management (BPM)
etabliert. Hersteller wie IBM, ORACLE und SAP liefern schon seit einigen Jahren Business Process
Management-Suiten (BPMS) als Bestandteil ihrer Technologieplattformen Websphere, Fusion und
Netweaver aus. Rudimentäre Workflow-Funktionalität ist über die Microsoft Workflow Foundation
Bestandteil der .NET-Technologie.
Der Markt an Open Source Systemen ist überschaubar: jBPM [jBPM] als Bestandteil des Red
Hat/JBoss-Portfolios existiert bereits längere Zeit, ursprünglich allerdings als reine BPM EngineImplementierung mit Programmierschnittstelle und nur rudimentären Endbenutzer- und
Oberflächenkomponenten. Einer der beiden Hauptentwickler von jBPM, Tom Bayens, hatte JBoss im
Streit um Lizenzfragen verlassen und das Projekt Activiti [Activiti] innerhalb der Alfresco-Organisation
[Alfresco] initiiert. Auch Activiti hat Tom Bayens jüngst wieder verlassen und arbeitet nun an Effektif
[Effektif], einem Cloud-Angebot für BPM. Das Berliner Unternehmen Camunda führt einen eigenen
Branch von Activiti als Camunda Fox weiter [Camunda Fox]. Eine weitere Open Source BPMS steht
mit Bonitasoft [Bonitasoft] zur Verfügung, ist aber nur bedingt in offene Plattformen integriert. All
dies zeigt die Volatilität des Open Source Marktes für BPM und macht es schwer für Unternehmen,
sich auf diese Technologien für einen wesentlichen Bestandteil ihrer IT-Infrastruktur zu verlassen.
Auch wenn die grundsätzliche Haltung zu Open Source-Produkten offen und positiv ist, werden für
Kernkomponenten wie BPMS Wartungsvereinbarungen mit entsprechenden Service Level
Agreements (SLAs) benötigt.
Mit Stardust steht nun eine 13 Jahre alte, industrieerprobte, standardkonforme und vollständige
BPM-Plattform unter der Eclipse Public License (EPL) [EPL] zur Verfügung. Ursprung von Stardust ist
die in Deutschland entwickelte CARNOT Process Engine, die von 2000-2006 von der CARNOT AG,
Frankfurt am Main entwickelt wurde. Die CARNOT AG wurde Ende 2006 von dem amerikanischen
Unternehmen SunGard [SunGard], einem führenden Anbieter für Softwaresysteme und Dienste im
Finanzdienstleistungsbereich, übernommen. Bei SunGard wurde die CARNOT Process Engine zum
Rückgrat von SunGard’s Infrastruktursoftwareplattform Infinity ausgebaut und in Infinity Process
Platform umbenannt. Die Infinity Process Platform wird in über 60 SunGard-Produkten bei weltweit
über 1.600 Kunden eingesetzt. Das Einsatzspektrum reicht von Dokumentenverarbeitungssystemen
mit einigen 100.000 Dokumenten pro Tag, über interaktive Workflows mit Tausenden parallelen
Benutzern bis hin zu skalierbaren Niedriglatenzanwendungen mit Tausenden von Prozessen in der
Sekunde.
SunGard stellt seit 2010 die Codebasis der Infinity Process Platform unter der Eclipse Public License
(EPL) [EPL] quelloffen zur Verfügung. Mit fast 3 Millionen Zeilen Code ist Stardust einer der größten
Codebeiträge in der Geschichte von Eclipse und ein signifikanter Bestandteil der insgesamt 58
Millionen Codezeilen der Kepler-Release.
Anders als für viele andere Open Source-Produkte ist das Ziel der Stardust-Initiative für SunGard
Offenlegung, Verbreitung und Weiterentwicklung der eigenen Basistechnologie. SunGard bietet
Wartungsverträge und Cloud-basierte Laufzeitumgebungen an, nicht aber zusätzliche kommerzielle
Produktkomponenten: Stardust ist die vollständige und aktuelle Codebasis der Infinity Process
Platform.
Stardust ist Teilprojekt des SOA Platform Top Level-Projektes [SOA Platform] in Eclipse; Kollaboration
und Integration mit anderen Teilprojekten wurde z.B. auf der EclipseCon 2013 vorgestellt [SOA
EclipseCon]. Mit dem Kepler-Release von Eclipse hat Stardust den Übergang von Incubation in den
Release-Status vollzogen und wird als Bestandteil von Kepler ausgeliefert.
Architektur
Stardust erlaubt komplette Modellierung und Konfiguration von Geschäftsprozessen mit Aktivitäten,
Kontrollfluss, Daten und Datenfluss, Anwendungsintegration sowie Geschäftsprozess-Teilnehmern
über die BPMN-Notation [BPMN] in einer in Eclipse eingebetteten Modellierungsumgebung. Nichtinteraktive Dienste (z.B. Methoden von Java-Klassen oder Spring Beans, Web/REST Services), Scripts
(z.B. Datentransformation) und interaktive Elemente (z.B. HTML5-Oberflächenbausteine) sowie
Datenstrukturen (z.B. Java-Klassen, XSDs) können in ein und derselben Umgebung definiert und
verwendet werden. Hierbei sind Basismechanismen von Eclipse wie Refactoring, Referenzsuche,
Debugging und automatische Validierung durchgängig integriert.
Diagramm 1: Stardust-Modellierungsumgebung
Die Prozessmodelle werden zur Zeit noch in XPDL [XPDL] abgelegt, eine Umstellung auf BPMN
Serialisierung [BPMN] ist in Arbeit. Zur Anwendungsintegration existieren fertige Konnektorbausteine
(z.B. für Web/REST Services oder Spring Beans). Stardust orientiert sich jedoch immer mehr an
Apache Camel [Camel] als Standard für Konnektivität: Events und Serviceaufrufe können direkt über
im Prozessmodell eingebettete Camel Routes definiert werden. Somit wird zur Systemanbindung
häufig kein weiterer Code benötigt; das Prozessmodell ist das einzige Deployment-Artefakt, was die
Verwaltung des Anwendungslebenszyklus erheblich vereinfacht.
Stardust besitzt eine sehr leistungsfähige Simulationskomponente mit der Vorhersagen über das
Laufzeitverhalten von Prozessen oder Auslastung von Systemen und Mitarbeitern getroffen werden
können. Hierzu werden entweder stochastische Eigenschaften wie Prozessrate über die Zeit oder die
Verteilung der Dauern von Aktivitäten angegeben. Diese Eigenschaften können auch von
bestehenden Laufzeitdaten abgeleitet werden. Die Simulation erfolgt transient im Hauptspeicher und
erlaubt somit die Berechnung von Vorhersagen „über Jahre in Sekunden“. Die Simulationsergebnisse
werden graphisch und tabellarisch angezeigt (Diagramm 2). Ebenso kann die Simulation reale
Laufzeitdaten erzeugen, die dann mit bisherigen Laufzeitdaten und der Reporting-Komponente zu
Soll/Ist-Vergleichen genutzt werden können.
Diagramm 2: Stardust Simulationsumgebung
Die Laufzeitumgebung für Stardust ist ein EJB oder Web Application/Spring-Container (Application
Server) sowie eine relationale Datenbank (Audit Trail Database) und ein Dokumenten-Repository auf
Basis von Apache JackRabbit [JackRabbit]. Stardust integriert sich hierbei in die Mechanismen der
Application Server, so dass Transaktionsmanagement, Clustering und Failover, Ressourcen
Management durchgängig verwendet werden und skalierbare, robuste Konfigurationen möglich sind.
Zur schnellen Entwicklung und Validierung bietet Stardust eine in Eclipse eingebettete
Laufzeitumgebung auf Basis von Apache Tomcat und Derby an, die fertig konfiguriert über eine
Dynamic Web Project Konfiguration zur Verfügung steht. In diese Umgebung können in Eclipse
entwickelte Prozessmodelle direkt deployt und Laufzeitfunktionalität (z.B. Browserportale oder Web
Service/REST-Schnittstellen) aufgerufen werden.
Diagramm 3: Stardust-Architektur
Stardust stellt für den Zugriff auf Modell- und Laufzeitdaten Open Data Access (ODA)-Datenquellen
und dazu Konfigurationsoberflächen zur Verfügung, die sich nahtlos in die Business Intelligence and
Reporting-(BIRT)-Umgebung in Eclipse [BIRT] einbetten lassen. So können in BIRT Reports auf
Prozess- und in Prozessen bearbeitete Daten definiert werden.
Diagramm 4: Stardust Reporting
Einige Eigenschaften der oben aufgeführten Komponenten sind produktionskritisch und nur teilweise
und unzureichend bei anderen Open Source BPMS vorhanden, z.B.





Skalierbare, ausfallsichere Architektur mit clusterfähigen Caching-Funktionen,
Mandantenfähigkeit zur Unterstützung logisch unabhängiger Instanzen in derselben
Application Server und Datenbankinstallation,
Hot Deployment von Modellen für 24 x 7 Betrieb,
Parallele Verwaltung und Deployment verschiedener, ggf. voneinander abhängiger
Prozessmodelle, um verschiedenen Entwicklungs- und Endanwender-Teams unabhängiges
Arbeiten mit einer und derselben Laufzeitumgebung zu ermöglichen, aber dennoch eine
Gesamtübersicht für das Management zu liefern und
Parametrierbarkeit der Laufzeitumgebung, um beim Übergang zwischen Test-, Abnahmeund Produktionsumgebung schnell und ggf. per XML-Konfiguration Aspekte wie Web
Service/REST-Endpunkte oder Mail Server-Adressen umzuschalten zu können
Die ersten Schritte
Stardust ermöglicht es, mit erdenklich wenig Aufwand, die ersten Gehversuche zu wagen und
Ergebnisse zu erzielen, indem sowohl die Modellierungs- als auch eine Laufzeitumgebung als Teil der
Eclipse Plug-Ins zur Verfügung stehen.
Download
Um Stardust auszuprobieren wird lediglich eine Version der Eclipse Kepler IDE benötigt (die beim
Verfassen dieses Artikels verfügbare Version ist RC3), auf deren Basis die Stardust Plug-Ins und
andere Abhängigkeiten direkt von der Kepler Update Site installiert werden können.
Nach dem ersten Start der Eclipse Kepler IDE wird hierzu über den Update Manager (Help  Install
New Software …) die Kepler Update Site im Drop-Down Menü Work With ausgewählt
(http://download.eclipse.org/releases/kepler) und die folgenden Features werden installiert:
-
-
In der Rubrik Business Intelligence, Reporting and Charting sollte zunächst das BIRT
Framework ausgewählt werden. Diese Komponente ist Voraussetzung für die ReportErstellungs-Funktionen in Stardust.
Unter SOA Development finden sich die Features für Eclipse Process Manager ..., die der
Einfachheit halber alle selektiert werden sollten (s. Diagramm ).
Diagramm 5: Installation der Stardust Features
Nach einem Neustart der Eclipse IDE stehen nun alle Stardust Funktionen zur Verfügung.
Siehe auch [Installation] für eine detailliertere Form der hier beschriebenen Installationsschritte.
Setup
Die Stardust Plug-Ins beinhalten eine Integration mit dem WTP (Web Toolkit Project) von Eclipse, die
als Rapid Application Development bezeichnet wird. Diese Variante einer Laufzeitumgebung besteht
aus einer Plattform aus Tomcat Server und Derby Datenbank, die beide innerhalb des Eclipse
Workspace verwaltet werden. Die Stardust Engine und das Web Portal werden über ein Dynamic
Web Application Projekt auf dieser Plattform zum Einsatz gebracht.
Das Einrichten dieser Umgebung ist im Detail in der Dokumentation beschrieben [Stardust
Documentation] und ebenfalls Teil der Stardust Tutorials, die als Cheat Sheets zur Verfügung stehen
(Help -> Cheat Sheets … -> Process Manager -> Process Manager Cheat Sheets (s. Fehler!
Verweisquelle konnte nicht gefunden werden.).
Diagramm 6: Installation der Stardust Features
Tomcat Server Setup
Die Installation eines Tomcat Servers (Version 6.x) erfolgt ganz regulär im Eclipse Servers View oder
per File  New  Other  Server. Lediglich ein wenig Extra-Konfiguration im Properties Editor des
Servers ist hiernach noch notwendig, bevor der Server eingesetzt werden kann.
1. Unter Open Launch Configuration  Arguments sollte dem Server etwas mehr HeapSpeicher und auch PermGenSpace zur Verfügung gestellt werden, z.B. -Xms768m –
XX:MaxPermSize=256m.
Diese Werte stellen eine praxis-erprobte Standard-Konfiguration dar, die den meisten realen
Einsatzszenarien für Stardust genügen sollte.
2. Ebenfalls im Properties Editor des Servers wird von Stardust eine zusätzliche Sektion namens
Audit Trail Datasource hinzugefügt, die das Erzeugen einer eingebetteten Derby DB
ermöglicht, die mit dem Server hochgefahren wird.
Dynamic Web Application Projekt
Durch die bereits erwähnte Integration von Stardust mit dem WTP kann beim Anlegen eines Dynamic
Web Application Projekts in der Konfigurationsauswahl die Option Stardust Portal selektiert werden,
die dem Projekt Stardust-spezifische Facetten beisteuert.
Nach Ausführung dieser Schritte steht im Workspace ein Web Projekt mit allen Stardust-Artefakten
zur Verfügung, dass über das Kontext-Menü des Tomcat Servers per Add and Remove … publiziert
werden kann. Nach Starten des Servers ist die Login-Seite des Stardust Portals unter der URL
http://localhost:8080/stardust-portal zu erreichen.
Beispielprojekt
Um einen Einblick in die Funktionen und Fähigkeiten der Stardust BPMS zu geben, wollen wir in
diesem Artikel ein Beispielprojekt vorstellen, dass sich sehr nah am Support Case Tutorial (s. auch
Cheat Sheets oben) orientiert. Das Ergebnis des Support Case Tutorials kann unter [Support Case]
heruntergeladen werden.
Die folgenden zwei Bereiche sollen vermittelt werden:


Erzeugung eines Prozess Modells mit grundlegenden BPMN Elementen wie
Aktivitäten, Daten-Objekten, Services, Benutzerrollen, etc.
Hochladen eines Prozessmodells in die Laufzeitumgebung und Ausführen von
Prozessinstanzen.
Als ersten Schritt erzeugen wir innerhalb des Web Projekts ein neues Prozessmodell via File  New
 Other  Process Manager Wizards Process Model und nennen es ACME Support Case Model.
Bei Abschluss des Dialogs wird die Datei ACMESupportCaseModel.xpdl angelegt und das Modell
automatisch im Modell Editor geöffnet. Neben dem Model Editor zur grafischen Modellierung ist die
Eclipse Outline View ein entscheidendes Instrument bei der Erstellung des Prozessmodells (s.
Diagramm 9).
Datenmodell
Als nächstes wenden wir uns der Erstellung eines geeigneten Daten-Modells zu: Als Datentyp wurde
der sogenannte Structured Data Type gewählt, der es ermöglicht, im Modell eine DatentypHierarchie aufzubauen. Die Datentyp-Definitionen werden als XML Schema Elemente (Complex
Types) im Modell abgelegt. Auch der Import oder das Referenzieren externer, bereits existierender
XSDs wird unterstützt. All diese Funktionen sind über die Outline View erreichbar (s. Diagramm 7).
Diagramm 7: Outline View mit Prozessmodell
Fehler! Verweisquelle konnte nicht gefunden werden. zeigt das simple Datenmodell, das unserem
Support Case Beispiel zugrunde gelegt wird.
Diagramm 8: Datenstrukturdefinition
Das Prozessdiagramm
Nach der Definition der Datenstrukturen kann innerhalb des Modell Editors der Prozess- und
Datenfluss zusammengesetzt werden. Hierzu werden aus der Palette links im Editor die Elemente
angewählt und durch einen weiteren Klick im Diagramm platziert. Das vielseitige Connect erlaubt es,
sowohl den sequentiellen Fluss zwischen den Aktivitäten, als auch den Datenfluss (Input/Output)
jedes einzelnen Schrittes zu modellieren.
Wir erzeugen und platzieren die folgenden Elemente im Diagramm:

Support Case Data-Datenobjekt (eine Instanz der zuvor definierten Struktur)



Aktivitäten: Enter Data, Analyze To Solve, Deliver Patch und Notify Customer
Rollen: Callcenter Agent, Engineer, ACME Headquarters
Manueller Trigger zum Starten des Prozesses aus dem Portal heraus
Diagramm 8 zeigt das fertige Prozessmodell.
Diagramm 9: Prozessdiagram eines simplen Support Case Prozesses
Der Ablauf des Prozesses ist relativ selbsterklärend. Die folgenden Punkte sollen allerdings
herausgestellt werden:
-
-
Alle Aktivitäten außer Notify Customer sind sogenannte User Tasks, d.h. interaktive Schritte,
in denen ein Benutzer mit der notwendigen Gruppenzugehörigkeit (z.B. Engineer) den Task
über ein (Web-) Formular bearbeitet und abschließt.
Nach der Analyze To Solve Aktivität wird ein XOR Gateway eingesetzt, um über die
Bedingungen an den Transitionen den Weg hin zu Folgeaktivitäten zu steuern.
Das Symbol Customer Email repräsentiert den Aufruf einer Java Klasse, die in Stardust als
POJO Applikation konfiguriert wurde.
Für die interaktiven User Tasks ist ein grafisches User Interface notwendig, damit der Benutzer die
Daten des Prozesses einsehen und bearbeiten kann. Im Falle der manuellen Aktivitäten generiert
Stardust automatisch Formulare mit Feldern und Input Elementen basierend auf den verwendeten
Datentypen und weiteren Metadaten, die das Aussehen des Formulars beeinflussen.
Für Fälle, bei denen die so generierten UIs nicht den Ansprüchen gerecht werden, kann die Manuelle
Aktivität durch eine UI Mashup Aktivität ausgetauscht werden, die es erlaubt, jede Form einer
externen UI als Formular für den User Task einzubinden, z.B. JSF, PHP, ASPX, HTML5, etc.
Diagramm 10 zeigt die automatisch generierte UI für die Enter Data Aktivität.
Diagramm 10: Automatisch generiertes Formular ausgehend von den Prozessdaten
Integration von projektspezifischem Code
Wie bereits erwähnt wird in der Aktivität Notify Customer die Methode einer Java Klasse als Service
aufgerufen und die Kunden-Emailadresse wird als Parameter in den Methodenaufruf hineingegeben.
Zur Konfiguration der Klasse muss der Editor diese auf dem Klassenpfad finden können, den Eclipse
für das umgebende Projekt bereitstellt.
Diagramm 11: Einbindung von Java Code als POJO Applikation
Das Modell wurde zwar innerhalb des Web Projekts gespeichert, dennoch sollte für den Java Code
ein weiteres Projekt als JEE Utility Module angelegt werden, da es auf diese Weise sehr leicht dem
Web Projekt im Properties Panel Deployment Assembly hinzugefügt werden kann. Außerdem
werden hierdurch Stardust-Produktcode und projektspezifischer Code sauber voneinander getrennt.
Einsatz des Prozessmodells
Bei Einsatz eines Rapid Application Web Projekts kann das Prozessmodell direkt aus der Outline View
auf den Server geladen werden (Rechts-Klick auf das Top-Level Element  Deploy Model. Der
Deployment Wizard kennt automatisch die Remoting Adresse des Stardust Portals, solange sich das
Model innerhalb des Web-Projekts befindet.
Prozess Portal
Nachdem das Prozessmodell in der Web Applikation eingespielt wurde, kann man sich als
Administrator anmelden und in der Administrations-Perspektive im Participant Management View
Nutzer anlegen und Rollen zuweisen.
Durch Zuweisung der Rolle Callcenter Agent wird z.B. die Autorisierung erteilt, einen Support Case
Prozess ad-hoc zu starten. (Zur Erinnerung: das Prozessdiagramm enthielt einen manuellen Trigger,
der für diese Rolle konfiguriert ist). Nach Starten eines Prozesses wird die erste Aktivität angesteuert
und da diese ebenfalls von jemandem mit der Rolle Callcenter Agent bearbeitet werden darf, öffnet
das Portal automatisch das Formular mit automatisch generierten Feldern für die Aktivität Enter
Data (s. Diagramm 9).
Ressourcen
Releaseplanung
Das erste Release 1.0 des Projekts Stardust wurde am 26.06.2013 als Teil des Kepler Release Trains
veröffentlicht und unterstützt dementsprechend die aktuellste Version 4.3.0 der Eclipse Plattform
wie auch die aktuellsten Versionen der zur Installation von Stardust benötigten Features und Plugins
wie zum Beispiel EMF 2.6.0, GEF 3.9.0 und BIRT 4.3.0.
Künftig wird das Projekt Stardust neben den jährlichen Hauptreleases auch an den SR1 und SR2
Wartungsreleases im September und im Februar des Folgejahres teilnehmen. So wird sichergestellt,
dass kontinuierlich neue Funktionalitäten und Bug Fixes veröffentlicht werden können und die
Kompatibilität zu den aktuellen Eclipse Versionen gegeben ist. Die Release Planung ist unter
http://projects.eclipse.org/projects/soa.stardust für alle Interessierten verfügbar.
Informationsquellen für Anwender
Neben den Download Servern für Produktreleases und Quellcode (siehe auch Abschnitte zu
Installation und Arbeiten am Quellcode) stehen Anwendern vielfältige Informationsquellen zur
Nutzung von Stardust zur Verfügung, die den Einstieg erleichtern.
Die Eclipse Stardust Projektseite https://projects.eclipse.org/projects/soa.stardust bietet schnellen
Zugriff auf Projektressourcen wie zum Beispiel Download Links, Release Planung, Quellcode,
Statistiken und vieles mehr.
Wer weitergehende Informationen zur Funktionsweise und Benutzung sucht, wird unter
http://wiki.eclipse.org/Stardust fündig:



Der Bereich Knowledge Base enthält zahlreiche Dokumente zu Themen wie Erste Schritte,
Laufzeitumgebungen für unterschiedliche Plattformen, Einbettung in eigene Anwendungen,
und vieles mehr.
Wer sich schon vor der eigentlichen Installation auf einfache Weise einen Eindruck von der
Funktionsweise und den Möglichkeiten des Produkts verschaffen möchte, findet im Bereich
Training Videos kommentierte Videos [Videos] zu vielen Bereichen des Produkts. Wer
anschließend das gesehene vertiefen möchte, findet in der Online Dokumentation
(http://help.eclipse.org/kepler/index.jsp) weitere Informationen.
Falls unvorhergesehene Schwierigkeiten auftauchen sollten empfiehlt sich ein Blick in die
FAQs oder das Forum.
Für Fragen, die sich auf diese Weise nicht beantworten lassen: Das Stardust Team freut sich über
neue Anfragen oder Kommentare im Forum, der Stardust Mailingliste [email protected] oder
über die Facebook Seite https://www.facebook.com/eclipsestardust.
Arbeiten am Quellcode
Stardust hat seinen Quellcode in das Git Repository von Eclipse.org abgelegt, das über
http://git.eclipse.org/c/stardust einsehbar ist. Wer Stardust selbst kompilieren oder anpassen
möchte, kann sich die Quellen mit einem Git Client auf seinen Rechner clonen. Hierfür stehen eine
Reihe von Programmen zur Verfügung, wie z.B. das EGit Eclipse Plugin, TortoiseGit oder msysgit. Da
sich die Quellen über mehrere Git Repositories erstrecken, empfiehlt sich das Skript aus
http://wiki.eclipse.org/Stardust/Source_Code#Downloading_the_Source_Code zu verwenden. Um
anschließend das Projekt kompilieren zu können, muss ein JDK 1.6 und Maven in Version 3.0.3 oder
höher installiert sein. Der Build Prozess ist dann in zwei Schritte aufgeteilt. Im Ersten werden die
Basiskomponenten gebaut und im zweiten Schritt werden mittels Maven/Tycho die Plugins und
schließlich das p2 Repository bereitgestellt. Die jeweiligen Projekte lassen sich auch in Eclipse
einbinden, um direkt aus der IDE heraus zu entwickeln und die Änderungen direkt testen zu können.
Problemlösung und Projektbeiträge
Treten beim Arbeiten mit dem Quellcode Probleme auf, die auch unter Zuhilfenahme der oben
erwähnten Ressourcen nicht gelöst werden können, wäre die Eclipse Bugzilla Instanz
(https://bugs.eclipse.org/bugs/) möglicherweise einen Blick wert. Eine Suchanfrage für das Projekt
SOA/Stardust führt den Benutzer zu einer Liste der gemeldeten Fehlerberichte und
Änderungswünsche. Eventuell ist das beobachtete Verhalten ja bereits bekannt oder die gewünschte
Änderung bereits eingeplant. Falls nein, kann dort ein neuer Fehlerbericht oder Änderungswunsch
eingetragen werden.
Eigene Änderungen am Stardust Code, die längerfristig relevant und erwartungsgemäß von
allgemeinem Interesse sind, sollten möglichst ans Projekt kommuniziert werden, damit sie
gegebenenfalls in den Hauptversionsstrang eingepflegt und so für alle Benutzern verfügbar gemacht
werden können. Dies dient allen Anwendern, vereinfacht längerfristig aber auch die Projektstruktur
des ursprünglichen Autors, da der geänderte Code nicht mehr lokal gebaut werden muss und bei
künftigen Versionswechseln kein Zusatzaufwand mehr entsteht.
Auch dieser Prozess beginnt üblicherweise mit einem neuen Änderungswunsch oder Fehlerbericht in
Bugzilla. Für die eigentliche Übergabe von vorgeschlagenen Änderungen ans Stardust Projekt wird
wie in vielen Projekten das Code Review Werkzeug Gerrit benutzt. Dieses Werkzeug bietet
Unterstützung für den notwendigen Review durch Stardust Committer und speichert automatisch
alle notwendigen Daten. Eine detaillierte Anleitung findet sich unter
http://wiki.eclipse.org/Stardust/Contributing_via_Gerrit.
Zukunft
Stardust folgt dem Trend immer stärkerer Browser-Orientierung („Development on the Web for the
Web“). Der BPMN 2.0 Browser Modeler wird momentan massiv weiterentwickelt und folgt ähnlichen
Konzepten für die Erweiterbarkeit und Integration wie Eclipse (Extension Points). Die Erweiterungen
können in HTML und JavaScript vorgenommen werden. Zur Zeit werden Komponenten zur
Regelverwaltung (Rules Management) und ein Reporting Wizard in die Browser-Oberfläche
integriert. itPearls [itPearls] hilft mit Arbeiten zur BPMN 2.0-Kompatibilität.
Diagramm 12: Stardust BPMN 2.0 Browser Modeler
Parallel zur Weiterentwicklung des Browser Modelers wird eine Homogenisierung der EclipseModellierungsumgebung mit dem BPMN 2.0 Modeler-Projekt [BPMN Modeler] angestrebt.
Zum Aufbau einer kompletten, ggf. verteilten Web-basierten Entwicklungsumgebung wird Stardust
mit Orion [Orion] integriert [Orion EclipseCon]. Entwickler können so mit Orion Web-Oberflächen,
Anwendungslogik, Geschäftsprozessmodelle und Regelsätze erstellen und deployen.
Weiter existiert ein Teilprojekt für eine Endbenutzer-Oberfläche für mobile Endgeräte auf Basis von
jQuery Mobile [jQuery Mobile]. In all diesen Initiativen werden gerne Committer aufgenommen.
Referenzen
Weblinks
[Activiti] http://www.activiti.org/
[Alfresco] http://www.alfresco.com/
[BIRT] http://www.eclipse.org/birt
[Bonitasoft] http://www.bonitasoft.com
[BPMN] http://www.omg.org/spec/BPMN/2.0/
[BPMN Modeler] http://projects.eclipse.org/projects/soa.bpmn2-modeler
[Camel] http://camel.apache.org/
[Camunda Fox] http://www.camunda.com/fox/product/overview/
[Effektif] http://www.column2.com/2013/03/effektif-bpm-in-the-cloud/
[EPL] http://www.eclipse.org/legal/epl-v10.html
[Installation] http://wiki.eclipse.org/Stardust/Project_Plan/Kepler_RC3
[itPearls] www.itpearls.com
[JackRabbit] http://jackrabbit.apache.org
[jBPM] http://www.jboss.org/jbpm/
[jQuery Mobile] http://jquerymobile.com/
[OMG] http://www.omg.org
[Orion]http://www.eclipse.org/orion
[Orion EclipseCon] http://www.slideshare.net/marcgille7/stardust-orion-integration-orion-soasymposium-eclipse-con-2013
[SOA EclipseCon] http://www.slideshare.net/marcgille7/soa-symposium-eclipse-con-2013
[SOA Platform] http://www.eclipse.org/soa/
[SunGard] http://www.sungard.com
[Support Case]
http://help.eclipse.org/kepler/topic/org.eclipse.stardust.docs.dev/html/examples/tutorials/supportcase/support-case.zip
[Stardust Documentation]
http://help.eclipse.org/kepler/topic/org.eclipse.stardust.docs.dev/html/toc.html?cp=32
[XPDL] http://www.xpdl.org/
Videos
[Videos] http://www.eclipse.org/stardust/documentation/training-videos.php
Simone Seurer ist seit 2001 Mitglied des
CARNOT und später Infinity Process Platform
teams. Mittlerweile beschäftigt sie sich als
Configuration und Release Engineer
hauptsächlich mit der Build-Landschaft von
Stardust.
Dr. Herbert Neureiter ist Produktmanager für
Business Process Management bei der Sungard.
Er beschäftigt sich seit 15 Jahren mit den
Themen Produktmanagement,
Projektmanagement und Qualitätssicherung im
Bereich von J2EE Enterprise Software.
Sven Rottstock ist Senior Java Developer und seit
2006 Mitglied des des Infinity Teams bei
SunGard. Er beschäftigt sich hauptsächlich mit
Build- und JEE-Deployment-Aufgaben.
Jan Hendrik Scheufen stieß 2005 zu SunGard und
betreut seit mehreren Jahren als Senior Solution
Architect den Aufbau komplexer EnterpriseLösungen mit dem Fokus auf BPM, Workflow
und EAI.
Dr. Marc Gille ist Mitgründer der CARNOT AG
und Vater der CARNOT Process Engine. Bei
SunGard ist er für die Infinity Process Platform
verantwortlich. Er ist Project Lead für Stardust
und leitet ebenso das SOA Platform Project in
Eclipse.