Versonsverwaltung von Modellen
Die kommende Version 1.6.2 des IX JEE Worklfow Systems wird die Verwaltung verschiedener Versionsstände eines Modells unterstützen. Dadurch ist es möglich Geschäftsprozesse in unterschiedlichen Versionen parallel zu betreiben. Gerade bei langlaufenden Geschäftsprozessen ist diese Funktion unabdingbar, um die Nachvollziehbarkeit eines Vorgangs bei gleichzeitiger Veränderung der betrieblichen Bedingungen zu gewährleisten.
Ermöglicht wird dies durch die vom IX Modeller unterstützte Verwaltung von Versionsnummern.

Durch die Vergabe einer Versionsnummer werden künftig alle Modell Objekte über das Attribut $ModelVersion gekennzeichnet.
Weist bei der Verarbeitung eines WorkItems dieses ebenfalls das Attribut $ModelVersion auf, versucht der IX JEE WorkflowManager das Workitem mit einem entsprechenden Versionsstand zu verarbeiten. Falls kein passender Versionsstand im WorkflowSystem verwaltet wird, greift der WorkflowManager automatisch auf den höchsten verfügbaren Versionsstand zu. Dadurch ist vor allem auch die Abwärtskompatibilität bestehender Systeme gewährleistet. Nach Erfolgreicher Verarbeitung wird ein Workitem immer mit dem zuletzt verwendeten Versionsstand gekennzeichnet.
Einsatzszenarien
Durch die Unterstützung von Versionsständen der Modelle können verschiedene Szenarien abgebildet werden. So können wie bereits oben angesprochen künftig Geschäftsmodelle während der Laufzeit angepasst und verändert werden, ohne dass bereits laufende Vorgänge davon betroffen sind. Darüber hinaus ist auch eine automatische Aktualisierung eines Geschäftsprozesses jederzeit möglich. Über den IX Modeller können unterschiedliche Versionsstände eines Modells bequem über eine Versionsverwaltung wie z.B. Subversion oder CVS verwaltet werden.
Ein weiteres Einsatzgebiet sind komplexe Anwendungssysteme mit unterschiedlichen Geschäftsprozess- gruppen, die in Abhängigkeit eines Bearbeitungsstandes zum Einsatz kommen können. Hier steuert die Applikation durch Selektion einer bestimmten Modellversion das Verhalten eines Vorgangs.
Anforderungen
Die Verwaltung unterschiedlicher Versionsstände ist aber der IX JEE Workflow Version 1.6.2 und Verwendung des IX Modellers ab der Version 2.2.5 sowie die IX Modeller Webservice Schnittstelle 1.3.1 verfügbar. Die Web Service Schnittstelle kann über den Updateservice problemlos aktualisiert werden. Eine Anpassung von Applikationen ist nicht erforderlich. Eine aktualisierte Version des IX JEE Admin Interfaces erlaubt darüberhinaus auch die Verwaltung von Modellversionen über einen Webbrowser.
Die Versionen werden ab November 2008 zur Verfügung gestellt.
Posted at 10:59AM Okt 12, 2008
Posted by: Ralph
Category: General
Neue Version 1.6 - Imixs IX JEE Workflow
Aktuell arbeiten wir an der neuen Version 1.6 der Imixs IX Workflow API wie auch der IX JEE Workflow Server Implementierung.
Die neue Version beinhaltet einen Report Service. Der Report Servier stellt eine mächtige Report Funktion bereit welche die dynamische Abfrage von Geschäftsprozessen erlaubt. Der Report Service wird mit den bestehenden IX REST Services verbunden so dass eine sehr einfache Anwendung von Reports gewährleistet ist.
Auch der IX Workflow Modeller wird um einen Report Editor erweitert der die Erstellung und Verwaltung von *.ixr files direkt in einem Eclispe Projekt erlaubt.
Insgesamt stellt das neue Release eine deutliche Erweiterung des IX Workflow dar. Der Source code der neuen Version 1.6 kann über das subversion repository in einer pre-beta Version abgerufen werden:
https://ix-workflow.dev.java.net/source/browse/ix-workflow/
Posted at 11:34PM Sep 01, 2008
Posted by: Ralph
Category: General
Dynamische Abfragen mit EQL
Das Imixs IX Workflow System stellt eine flexible Funktion für dynamische Abfragen von Geschäftsdaten bereit. Zum Einsatz kommt hier die sogenannte Entity Query Language - kurz EQL. EQL ist vergleichbar mit SQL und der neuste JEE Standard für die Abfrage objekt-relationaler Daten.
Eine typische EQL Abfrage hat dabei folgende Form und gleicht damit einem typischen SQL Statement:
SELECT project from Entity AS project
Mit Hilfe der WHERE Klausel können - analog zu SQL - Abfragen verfeinert und erweitert werden. Damit ist es möglich beliebige Daten aus einem Datenbanksystem zu selektieren, um diese dann weiter zu verarbeiten.
Der Imixs IX EntityService stellt neben den Standardmethoden auch Methoden für EQL Abfragen bereit. Auch hier wird auf die JEE Implementierung des EJB Containers zugegriffen. Im Gegensatz zu dem von der Java Persistence API bereitgestellten EntityManager verfügt der Imixs IX EntityService aber über eine wichtige Erweiterung: Der IX EntityService erlaubt einen gesicherten Zugriff auf Datensätze.
Dazu werden bei jeder EQL Abfrage die individuellen Benutzerrechte geprüft und durch das IX Workflow System nur Daten selektiert; die vom betreffenden Anwender auch gelesen werden dürfen. D.h. die Abfrage erfolgt ausschließlich mit den Benutzerrechten des aktuell angemeldeten Users und garantiert so die korrekte Abfrage von geschützten Daten. Ein unerlaubter Zugriff auf geschützte Daten wird somit verhindert. Da über das IX Workflow Management System festgelegt werden kann, welche Daten von welchen Benutzern zu einem bestimmten Zeitpunkt gelesen werden dürfen, kann das Abfrage Ergebnis einer EQL Abfrage durch den IX EntityServer für unterschiedliche Benutzer unterschiedlich aussehen. Das IX Workflowsystem erlaubt also nicht nur die Abfrage von Daten, sondern vielmehr den dynamischen Zugriff auf Geschäftsprozesse und deren Daten.
Indexe
Damit Daten mit Hilfe von EQL ausgelesen werden können, müssen im IX Workflow System entsprechende Indexe auf einzelne Felder exisiteren. Diese Indexe werden in der Regel durch die entsprechende Anwendung erzeugt bzw. werden von IX Worklfow Manager und IX Model Manager automatisch bereitgestellt. Jeder so erzeugte Index kann dann in ein EQL Statement aufgenommen werden.
EQL Beispiele
Mit Hilfe unterschiedlich komplexer EQL Abfragen lassen sich beliebige Daten aus einem Workflow System selektieren. Die nachstehenden Beispiele sollen einen Eindruck vermitteln wie Abfragen aufgebaut und eingesetzt werden können. Dabei wird davon ausgegangen, dass durch das Workflowsystem Indexe auf die Felder "type", "namcreator", "namteam", "txtname" existieren.
Einfache Abfrage
Diese Abfrage selektiert alle Vorgänge vom Type "project". Dazu wird das Attribut "type" auf einen bestimmten Wert abgefragt:
SELECT project from Entity AS project
JOIN project.textItems AS t
WHERE t.itemName = 'type'
AND t.itemValue = 'project'
Sortierung einer Abfrage
Die nächste Abfrage ist ähnlich mit der vorhergenden, sortiert aber zusätzlich das Ergebnis alphabetisch nach dem Attribut "txtname":
SELECT project FROM Entity AS project
join project.textItems AS t1
join project.textItems AS t2
WHERE t1.itemName = 'type'
AND t1.itemValue = 'project'
AND t2.itemName = 'txtname'
ORDER BY t2.itemValue ASC
Abfrage mit Mehrfachbedingungen
Das nächste Beispiel zeigt, wie mit sogenannten multiple joins unterschiedliche Bedingungen abgefragt werden können. Der "IN" Operator erlaubt die Abfrage nach unterschiedlichen Werten mit einer Oder-Verknüpfung. Es werden dabei alle Datensätze vom Typ "project" abgefrage bei denen der Username "ronny" entweder der Ersteller ist oder ein Teammitglied ist. Auch hier wird das Egebnis zusätzlich sortiert:
SELECT project FROM Entity AS project
JOIN project.textItems AS t1
JOIN project.textItems AS t2
JOIN project.textItems AS t3
WHERE t1.itemName = 'type'
AND t1.itemValue = 'project'
AND t3.itemName = 'txtname'
AND t2.itemName IN ('namcreator','namteam')
AND t2.itemValue = 'ronny'
ORDER BY t3.itemValue ASC
Zu beachten ist hier, dass bei zunehmender Komplexität einer Abfrage die Antwortzeit - also die Dauer bis die selektierten Daten vom System berechnet sind - zunimmt.
Zeiträume Abfragen
Das letzte Beispiel zeigt, wie Zeiträume abgefragt werden können. Auch hier kann auf Attribute vom Typ Date zugegriffen werden, sofern dazu ein Index exisitert. Das IX Workflow System verfügt aber bereits über fest definierte Attribute, die das Erstellungsdatum bzw. das letze Änderungsdatum eines Vorgangs festhalten.
Die folgende Abfragte selektiert alle Vorgänge vom Typ "project", welche nach dem 1. August 2008 erzeugt wurden:
SELECT project FROM Entity AS project
JOIN project.textItems AS t1
JOIN project.textItems AS t2
WHERE t1.itemName = 'type'
AND t1.itemValue = 'project'
AND t2.itemName = 'txtname'
AND project.modified>='2008-08-01'
ORDER BY t3.itemValue ASC
Nützliche Links
Weitere Informationen über EQL sind auf folgenden Webseiten zu finden:
- Imixs Workflow & EQL
http://www.imixs.org/websites/imixs-org.nsf/chapter/3000.0020.0020.0007.?OpenDocument - Enterprise JavaBeansQuery Language (Sun)
http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/EJBQL.html
Posted at 11:28AM Aug 29, 2008
Posted by: Ralph
Category: General
Workflow Anwendungen einfach entwickeln....
Ein neues dreiteiliges Tutorial zeigt wie schnell man mit Hilfe der IX Open Source Workflow Komponenten selbst eine lauffähige Workflow Anwendung realisieren kann. Das englisch sprachige Tutorial ist in drei Teile aufgeteilt:
- Part I. - Setup and Modeling
- Part II. - Building Business Logic with EJB 3.0
- Part III. - Building a Web Frontend
Das Tutorial setzt Kenntnisse in der Java Programmierung voraus. Durch den Einsatz von Maven können aber auch Einsteiger schnell eine funktionierende Anwendung realisieren.
Über Fragen und Anregungen und Kommentare freuen wir uns natürlich.
Posted at 12:38PM Aug 03, 2008
Posted by: Ralph
Category: General
Geschäftsprozessmanagement mit lizenzkostenfreier Software
Auch im Geschäftsprozessmanagement ist Open Source wichtig. Open Source Software kann hier entscheidend dazu beitragen Geschäftsprozesse schneller und besser umzusetzen und darüber hinaus Einsparungen bei den hohen Lizenzkosten zu erzielen. Aber warum ist das so?
Open Source Software hat zwei wesentliche Faktoren die hier genauer betrachtet werden sollen: Zum einen ist es die Offenheit, die ja schon durch den Namen zum Ausdruck kommt, zum anderen ist es die Qualität die Open Source Projekte heute so erfolgreich machen.
Offenheit
Der freie Zugang zu Softwarequellen (Open Source = offene Quelle) erlaubt es, Software besser zu verstehen. Dies ist in einer Zeit, in der sich die Technologien extrem schnell wandeln und weiterentwickeln, sehr wichtig geworden.
Software, die unter dem Open-Source-Etikett vertrieben wird, muss mehrere Kriterien erfüllen:
Freie Weiterverbreitung:
Jeder darf Open-Source-Software nutzen und beliebig weiterverteilen.Verfügbarkeit des Quellcodes:
Das Software-Paket muss den Quellcode enthalten oder angeben, an welcher frei zugänglichen Stelle dieser zu erhalten ist.Änderungen am Quellcode:
Der Quellcode darf an eigene Bedürfnisse angepasst und in dieser veränderten Form weitergegeben werden.
Die Vorteile von Open-Source resultieren aus diesen drei Kernprinzipien. Jeder kann Open Source Software beliebig erweitern, verbessern und den individuellen Bedürfnissen anpassen. Fehler und Sicherheitslücken können schneller aufgespürt und behoben werden.
Qualität
Der zweite entscheidende Faktor bei Open Source Software ist die Qualität. Nicht nur Linux zeigt wie hoch die Qualität offener Software heute ist. Softwaresysteme müssen flexibel und anpassbar sein. Es müssen verschiedene Verfahren und Technologien abgebildet werden. Die Qualität der Software kommt darin zum Ausdruck wie offen diese in Hinblick auf diese Anforderungen ist. Es geht also nicht nur darum den Quell Code einer Software offen zu legen , sondern – was viel wichtiger ist – auch die Verfahren und Konzepte erfolgreich zu veröffentlichen. Nur so können die Vorteiler offener Software durch ein Unternehmen optimal genutzt werden.
Open Source im Geschäftsprozessmanagement
Die hier beschriebenen Ansätze gelten auch für Softwarelösungen im Geschäftsprozessmanagement. Geschäftsprozesse müssen schnell, flexibel und jederzeit erweiterbar sein. Eine hohe Qualität bei Workflow Management Lösungen ist unabdingbar. Die hinter der IT liegenden Konzepte müssen darüber hinaus auch verstanden werden und die Lösung muss den hohen Anforderungen heutiger Softwaretechniken gerecht werden.
Ändern sich die Rahmenbedingungen für einen Geschäftsprozess, muss darauf flexibel regiert werden können ohne die bisherigen Systeme neu entwickeln zu müssen. Flexibilität meint aber nicht alle heute bekannten Schnittstellen zu unterstützen, sondern vielmehr auf Technologien zu reagieren die erst in der Zukunft zu einem Hype werden könnten. Geschäftsprozesslösungen, die auf Open Source Software basieren, können dies weitaus besser, weil sie weniger stark an kommerzielle Konzepte gebunden sind. Es geht nicht darum ein einmal entwickeltes System möglichst oft bei unterschiedlichen Kunden einzusetzen, sondern für jede Anforderung die optimale Lösung auf Basis der bestmöglichen Technologie zu erstellen.
Lizenzkosten senken
Durch den großen Erfolg vieler Open Source Projekte in der jüngsten Vergangenheit hat sich heute ein Markt gebildet in dem reine Open Source Projekte mit kommerziellen Produkten konkurrieren. Im Gegensatz zu letzteren fallen aber bei Open Source Projekten in der Regel keine Lizenzkosten an. Die Kosten, die für die Realisierung kalkuliert werden müssen, beschränken sich auf die reinen Implementierungs- bzw. Anpassungskosten. Ist ein Geschäftsprozess auf Basis offener Software einmal realisiert, kann dieser leichter und kostengünstiger an neue Technologien und Softwaretrends angepasst werden. Open Source steht dann auch für Offenheit gegenüber neuen Trends. Dies soll an einigen Beispielen verdeutlicht werden:
Enterprise Application Server GlassFish
Ein Enterprise Application Server stellt ein Softwaresystem dar, das es erlaubt verschiedene Anwendungen und Geschäftsprozesse auf einer einheitlichen Server-Plattform zu betreiben. Die Server-Plattform stellt dabei alle notwendigen Technologien bereit, die für die Ausführung von geschäftskritischen Anwendungen im Unternehmen benötigt werden. Derartige Plattformen weisen heute ein Vielzahl an wichtigen Technologien wie zum Beispiel Sicherheit, Transaktionskontrolle und Skalierbarkeit auf.
Das Open Source Projekt GlassFish stellt eine solche Plattform bereit, die gleichzeitig den neuesten Stand der Technik darstellt. Das Projekt wurde von Sun initiiert um die als Industriestandard anerkannte Java Enterprise Technologie (JEE) als eigenständige Server-Plattform weiterzuentwickeln. Heute können Unternehmen diese Plattform nutzen, um damit Geschäftsanwendungen und Geschäftsprozesse in einem modernen Server Umfeld abzubilden.
JSF – MyFaces
Der Großteil heutiger Anwendungen wird als sogenannte Webanwendung realisert. D.h. die Anwendung kann einfach mit und über einen Webbrowser bedient werden. Eine aufwendige Installation am Arbeitsplatz des Mitarbeiters ist nicht mehr erforderlich.
Es gibt verschiedene Technologien für die Umsetzung derartiger Anwendungen. Eine der erfolgreichsten Technologien ist hier die JSF Technologie. Es handelt sich um eine komponentenorientierte Architektur die es erlaubt einzelne Teile einer Anwendung wiederzuverwenden. Das Open Source Projekt „MyFaces“ stellt eine Vielzahl sogenannter Eingabelelemente (Widgets) bereit,die es erlauben alle Arten von Formularen und Webseiten schnell zu realisieren. Wichtige Anforderungen an eine Anwendung wie einegute Bedienbarkeit und Internationalisierung sind damit gewährleistet.
MySQL und JavaDB
Auch im Datenbankmarkt sind Open Source Projekte längst etabliert. Zu den lizenzkostenfreien Datenbanklösungen zählen MySQL und JavaDB. Mit diesen Datenbanken können Anwendungsdaten verwaltet werden und mit der Datenbanksprache SQL abgefragt werden.
Diese Datenbanken werden in der Regel mit Applikationsservern kombiniert um die Geschäftsdaten zu verwalten.
Eclipse
Die Entwicklerplattform Eclipse hat sich in den letzten Jahren zum Standard in der Softwareentwicklung etabliert. Zunächst war das Open Source Projekt hauptsächlich für Softwareentwickler gedacht. Durch den großen Erfolg des Projekte sind nun aber auch viele andere Bereiche von diese Plattform durchdrungen. Vor allem im Bereich der Modellierung von Softwaresystemen und Geschäftsprozessen hat sich Eclipse als offene Plattform bewährt. So gibt es eine Vielzahl von sogenannten Plugins um Modelle für Geschäftsprozesse und Abläufe zu erstellen und untereinander auszutauschen.
Kombination von Technologieen
Diese Beispiel zeigen, dass es heute möglich ist moderne Softwarearchitekturen im Unternehmen aufzubauen ohne das dadurch unnötige Lizenzkosten entstehen. Die Kombination verschiedener Technologien wird dabei gerade erst durch Open Source möglich. Die unterschiedlichen Projekte nutzen dabei die Vorteile der Offenheit und ergänzen sich so gegenseitig. So verwendet beispielsweise der Applikationsserver GlassFish die Datenbank JavaDB zur Verwaltung von Geschäftsdaten und stellt JSF als Basis Technologie für die Erstellung von Webanwendungen bereit. Entwickeln sich diese Technologien weiter fließen die Ergebnisse auch in das Glassfish Projekt mit ein. So stellt die Kombination dieser Technologien eine Plattform bereit, die auch für das Geschäftsprozessmanagement von Unternehmen sehr erfolgreich genutzt werden kann.
Imixs IX Open Source Workflow
Auch die Imixs Software Solutions GmbH, die sich auf die
Programmierung von Workflow-Systemen spezialisiert hat, stellt einen
wesentlichen Teil seiner Technologie unter Open-Source
(www.imixs.org).
Bei imixs.org handelt es sich um ein Open Source
Projekt, das die Entwicklung eines Open Source Workflow Systems auf
Basis des JEE Standards zum Ziel hat.
Die Ergebnisse des imixs.org Projektes unterliegen dem GPL
Lizenzmodell.
Posted at 02:02PM Jul 19, 2008
Posted by: Ralph
Category: General