Facebook Icon Twitter Icon

pmMDA II

Projektpartner

  

bbv Software Systems

Projektlaufzeit

  

Mai 2007 bis Dezember 2008

pmMDA II: Productivity Enhancement in Software Development using Model Driven Architecture Approach with integrated Workflows

 

Kurzbeschrieb

 

Beim «Model Driven Architecture (MDA)»-Ansatz der Object Management Group (OMG) wird die Funktionalität der Software technologieneutral modelliert statt codiert. Codegeneratoren erzeugen aus den Modellen die Software und reduzieren so den Entwicklungsaufwand und verbessern die SW-Qualität.

Das in einem KTI-Projekt entwickelte MDA-Werkzeug pmMDA generiert aus angereicherten UML-Modellen Teile des Business- und des User-Interface-Layers für Enterprise-Applikationen. pmMDA wird in diesem Projekt um integrierte Workflow-Funktionalitäten für die Unterstützung von Business-Process-Managment System erweitert. Weitere Zielsetzungen sind Persistenzfunktionen für einen effizienten Datenzugriff in verteilten System, verbesserte Bedienfunktionen sowie die Integration der .NET 3.0 Plattform.

(Folgeprojekt von pmMDA)

 

Wissenschaftlich - Technische Ziele

 

Einführung

Geschäftsprozesse beschreiben und steuern die Abläufe in einem Unternehmen. Ziel des Geschäftsprozessmanagements ist es, die in jedem Unternehmen existierende Information zu den Geschäftsprozessen zu nutzen, um sie optimal auf die Bedürfnisse der Kunden und das Unternehmen auszurichten und als Ergebnis die Unternehmensziele besser zu erreichen. Geschäftsprozessmanagement (oder BPM für Business Process Managment) umfasst im wesentlichen drei Teile: 

 

  • Planen und Modellieren der Prozesse
  • Durchführen der Prozesse bzw. Arbeiten nach Prozessen
  • Überwachen der Prozesse

 

Für das Planen und Modellieren der Prozesse steht heute eine Vielzahl von Tools – leider oft nur als Insellösung -  zur Verfügung. Die Umsetzung auf Softwarelösungen geschieht manuell, die resultierenden Applikationen sind in der Regel funktionsbasiert, d.h. die eigentliche Prozesslogik ist ausserhalb des Systems. Durchführen und Ueberwachen der Prozesse liegt daher in der Verantwortung der System-Benutzer und muss von diesen manuell überwacht werden.


Das Ausführen und Ueberwachen der Prozesse kann mit einem im BPM-System integrierten Workflow-Management System weitgehend automatisiert werden: Workflow-Managment-Systeme (WFM-Systeme) steuern die einzelnen automatisiert ablaufenden Workflows eines Geschäftsprozesses. Workflows sind aktiv und haben eine zustandsbehaftete Ablauflogik, sie leiten die jeweils nächsten Aktivitäten ein, sie interagieren dazu mit den Benutzern oder rufen Funktionen der einzelnen IT-Systeme auf. Im Gegensatz zu den kurzen Transaktionen eines funktionsbasierten Systems können sich Workflows über mehrere Tage oder gar Monate erstrecken.

 

pmMDA 

Model Driven Architecture ist ein Ansatz der durch die Object Management Group (OMG) international verbreitet wird. Dieser Ansatz reduziert die manuellen Tätigkeiten im Software Erstellungsprozess, erlaubt somit die Entwicklung in kleineren, agileren und kundennahen Teams und steigert die Effizienz insgesamt.
pmMDA ist ein Werkzeug, das aus technologieneutralen Modellen Code für Enterprise Applikationen erzeugt. pmMDA generiert in der aktuellen Version Code für die Definition und für den Zugriff auf Business-Daten in einem verteilten System sowie adaptierbare Dialog-Komponenten für die Client-Entwicklung.

 

pmMDA mit integrierten Workflows für BPM Management Applikationen
In diesem Projekt verfolgen wir einen integrierten Ansatz für eine nahtlose Unterstützung von Business-Prozessen von der Spezifikation bis zur Ausführung und Ueberwachung. Das bestehende pmMDA erlaubt die Modellierung und daraus die Generierung der Geschäftsobjekte. Die  pmMDA-Modellierungssprache wird durch eine geeignete (sog. Domain-specific-Language) graphische Notation für die Spezifikation der Workflows erweitert. Daraus lassen sich automatisch Workflows generieren, die u.a mit den generierten Business-Objekten interagieren können und auf einem eingebetteten Runtime ablaufen. pmMDA erlaubt mit diesen Erweiterungen das effiziente Realisieren von integrierten Workflow Management Systemen.


Stand der Technik
Heutige Workflow-Management-Systeme für die Steuerung von Geschäftsprozessen sind komplex und teuer in Beschaffung, Betrieb und Unterhalt. Sie werden vorwiegend für die Integration von heterogenen IT-Systemen in einem Unternehmen eingesetzt. Die Kommunikation mit den IT-Systemen geschieht über Services. Die zu integrierenden Systeme müssen daher eine service-orientierte Architektur aufweisen (SOA). Workflows werden entweder als Ablaufgraph oder als Zustandsdiagramm mit graphischen Notationen modelliert, daraus wird die Ablauflogik hergeleitet. Die Logik muss ohne Programmieraufwand einfach adaptierbar sein. Sie wird daher oft regelbasiert beschrieben und vom System zur Laufzeit interpretiert.

Neben den eigentlichen WFM-Server-Systemen werden vermehrt Software-Bibliotheken mit Workflow-Funktionen angeboten, mit denen sich Workflow-Funktionalität direkt in die eigene Applikation integrieren lässt. Damit lässt sich die in bestehenden Anwendungen vorherrschende starr ausprogrammierte funktionsbasierte Unterstützung von Geschäftsfällen durch eine flexiblere und mächtigere prozess-basierte Ablaufsteuerung erweitern oder gar ablösen.

In diesem Projekt planen wir die Integration der .NET-3.0 Workflow-Foundation SW-Bibliothek in das bestehende pmMDA Laufzeitsystem als Basis für die geplanten Erweiterungen.


Zielsetzungen dieses Projekts

Im KTI-Vorgängerprojekt pmMDA wurde - neben vielen anderen Resultaten - auch eine Roadmap für das Gesamtunterfangen erarbeitet. Das Resultat ist nachfolgend schematisch dargestellt.

Weite Teile dieser Roadmap konnten bereits im Vorgänger-Projekt pmMDA umgesetzt werden. Namhafte Aspekte sind jedoch neu identifiziert worden und waren nicht im Rahmen vom pmMDA Projekt geplant. Diese wesentlichen und innovativen Aspekte werden im vorgeschlagenen Nachfolgeprojekt pmMDA II konzipiert und realisiert.

 

Innovationsziel 1: Integrierte BPM Server
pmMDA erzeugt aus Modellen Business-Objekte, Persistenzhaltung, Client/Server-Komponente und eine Oberfläche. BPM-Server nutzen Workflow-Modelle von Geschäftsprozessen um Geschäftsabläufe zu lenken. In beiden Ansätzen stehen also Modelle im Zentrum. Die Modelle sind komplementär. Die Innovation besteht nun darin, einen deutlichen Mehrwert durch eine Fusion beider Ansätze zu erzielen. Dabei werden nicht die Modelle vereint, sondern so aufeinander abgestimmt, dass die generierte Software nahtlos zusammenarbeiten kann und der angestrebte Mehrwert und Effizienzgewinn erreicht wird. Eine solche Synthese ist aktuell nicht verfügbar und würde das pmMDA-System an die Front der «model driven»-Community bringen. Ausführung und Steuerung der Workflows wird durch die Windows Workflow Foundation (WF) sichergestellt. Die Workflows lassen sich textuell mit einer «Extensible Object Markup Language (XOML)» beschreiben, welche sich mit pmMDA relativ einfach generieren lässt.

Neben der Integration des Workflow-Management-Subsystems in das bestehende pmMDA-System ergeben sich weitere, für einen erfolgreichen Praxisansatz, folgende unerlässliche Funktionalitäten:

• Adaptierbare Prozesslogik

Die Ausführung der Geschäftsprozesse muss auf Ausnahmesituationen flexibel reagieren können. Dazu ist es notwendig, die Logik eines Workflows temporär zu adaptieren.

• Versionsbehaftete Prozesse

Die Logik von Workflows muss bedingt durch sich ändernde Anforderungen im Laufe der Zeit angepasst oder erweitert werden. Bei lange laufenden Workflows können nach solchen Anpassungen mehrere Versionen eines Workflows aktiv sein. Oft muss es sogar möglich sein, aktive Workflows im laufenden Betrieb unterbruchsfrei auf ein neuere Version zu migrieren. Diese Versionsthematik wird von keinem bestehenden System befriedigend abgedeckt. Mehrere Forschungprojekte an Universitäten beschäftigen sich heute mit dieser Thematik.

• Regelbasierte Logik

Oft muss sich die Businesslogik einfach und ohne Programmieraufwand an wechselnde Anforderungen anpassen lassen. Diese Anforderung lässt regelbasierte Ansätze umsetzen. pmMDAII muss dazu eine einfache anwendungsorientiere Definitionssprache für die Erfassung und Modifikation von Regeln unterstützen.

 

Innovationsziel 2: Persistenzhaltung und Performance für grössere Datenmengen
Bislang ist pmMDA für kleine bis mittlere Anwendungen mit einer Datenmenge von 1-2 Millionen Datensätzen ausgelegt. In diesem KTI Projekt sollen die model-driven Ansätze auch für grössere Datenmengen skalieren. Dabei werden die Themen von grossen Objekt-Bäumen (umfassende Tarifstrukturen) und Zeitreihen (z.B. Energiedaten) als Herausforderung bearbeitet.

Eine Vergleichsstudie soll die im pmMDA realisierte Persistenzhaltung (Object Relational Mapping) mit einer reinen objekt-orientierten Persistenzhaltung und einer direkten Implementation basierend auf SQL gegenüberstellen. Der Vergleich bezieht sich auf Performance, Speicherverbrauch sowie Einfachheit der Abbildung von Programm-Objekten auf Datenbank-Strukturen. Weiter soll die Nutzung der LINQ Technologie untersucht werden. Dadurch sind Abfragen innerhalb des Programmcodes elegant einbettbar und können schon beim Kompiliervorgang überprüft und für die Ausführung optimiert werden. Basierend auf den Resultaten dieser Studien wird eine optimierte pmMDA-Persistenzschicht konzipiert und entwickelt. Weiter sollen Software-Bausteine die Clients bei der effizienten Suche und Filterung von Objektlisten unterstützen.

 

Innovationsziel 3: .NET 3.0 Unterstützung

Microsoft .NET 3.0 eröffnet neue Dimensionen für die Gestaltung von Benutzeroberflächen, die Integration der Office Werkzeuge und für Collaborative Working. Diese Möglichkeiten werden vom heutigen pmMDA-Ansatz nicht unterstützt. Der innovative Teil ist nicht die Portierung auf die .NET 3.0 Plattform, sondern die Nutzung der neuen Aspekte in benutzerfreundlichen dokumentenbasierenden Benutzeroberflächen. Die Innovation besteht darin, Bewährtes um Neues anzureichern und somit zusätzlich Effizienz und Mehrwert zu erzeugen.