Transformation Monolithischer Business-Softwaresysteme in Verteilte, Workflowbasierte Client-Server-Architekturen
Total Page:16
File Type:pdf, Size:1020Kb
Fakult¨at fur¨ Informatik CSR-10-03 Transformation monolithischer Business-Softwaresysteme in verteilte, workflowbasierte Client-Server-Architekturen Bj¨orn Krellner · Thomas Reichel · Gudula Runger¨ · Marvin Ferber Sascha Hunold · Thomas Rauber · Jurgen¨ Berndt · Ingo Nobbers Juli 2010 Chemnitzer Informatik-Berichte Schlussbericht BMBF-Verbundprojekt TransBS Transformation monolithischer Business-Softwaresysteme in verteilte, workflowbasierte Client-Server-Architekturen Gefördert durch das BMBF Fördernummern 01 ISF 10 A/B/C erstellt von: Björn Krellner1, Thomas Reichel1, Gudula Rünger1 Marvin Ferber2, Sascha Hunold2, Thomas Rauber2 Jürgen Berndt3, Ingo Nobbers3 1TU Chemnitz, Professur Praktische Informatik, 09107 Chemnitz 2Universität Bayreuth, Lehrstuhl für Angewandte Informatik II, 95440 Bayreuth 3Berndt & Brungs Software GmbH, Mottmannstr. 1–3, 53842 Troisdorf Chemnitz, im Juli 2010 Das diesem Bericht zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter den Förderkennzeichen 01 ISF 10 A – C gefördert. Die Verantwortung für den Inhalt dieser Veröffentlichung liegt bei den Autoren. Inhaltsverzeichnis 1 Kurzdarstellung 11 1.1 Aufgabenstellung . 11 1.2 Voraussetzung für die Durchführung des Vorhabens . 12 1.3 Planung und Ablauf des Vorhabens . 13 1.4 Anknüpfung an den wissenschaftlich-technischen Stand . 16 1.5 Zusammenarbeit mit anderen Stellen . 17 2 Eingehende Darstellung 19 2.1 Erzielte Ergebnisse und Aufbau des Berichts . 19 2.2 Wichtige Positionen des zahlenmäßigen Nachweises . 19 2.3 Notwendigkeit und Angemessenheit der geleisteten Arbeit . 20 2.4 Voraussichtlicher Nutzen, insbesondere Verwertbarkeit des Ergebnisses 20 2.5 Während der Durchführung des Projekts bekannt gewordener Fortschritt auf dem Gebiet des Vorhabens . 21 2.6 Erfolgte und geplante Veröffentlichungen des Ergebnisses . 22 3 GBware und GBwareD 25 3.1 Analyse von GBware . 25 3.1.1 Kurzbeschreibung GBware . 25 3.1.2 Systemarchitektur . 25 3.1.3 Abarbeitung der Geschäftsprozesse . 27 3.1.4 Ablaufumgebungen . 28 3.2 Erstellung eines Anforderungskatalogs an GBwareD . 29 3.2.1 Kundenspezifische Anforderungen . 29 3.2.2 Anforderungen an GBwareD . 30 3.2.3 Hard- und Softwarekonfiguration von GBwareD . 33 3.3 Vorbereitungs- und Anpassungsarbeiten für GBware . 34 3.3.1 Modularisierung von GBware . 34 3.3.2 Entwurf der Schnittstellen zwischen Modulen . 37 3.3.3 Extraktion der Workflow-Komponenten in GBware . 37 3.3.4 Testszenarien . 39 3.3.5 Kundenspezifische Konfigurationsmöglichkeiten . 40 4 Entwurf des Transformationssystems 43 4.1 Anforderungen an Transformationen und Transformationssystem . 43 4.2 Basistechnologien und verwandte Ansätze . 45 4.2.1 Verteilungsplattformen . 45 4.2.2 Transformationsframeworks und -ansätze . 46 4.2.3 Workflowbeschreibungen . 47 3 Inhaltsverzeichnis 4.3 Konzeption des Transformationsprozesses . 47 4.3.1 Softwaresichten . 48 4.3.2 Grobstruktur des Transformationsprozesses . 50 4.4 Entwurf einer Software-Architektur des Transformationssystems . 51 5 Auswahl einer Infrastruktur zur Realisierung des Transformations- systems 55 5.1 Model Driven Architecture (MDA) . 55 5.1.1 MDA Entwicklungsprozess . 56 5.1.2 MDA Werkzeuge . 57 5.2 Modellspezifikationen für Software und Transformationen . 58 5.3 Toolunterstützung der Verarbeitung der Transformation . 62 5.3.1 Compilerwerkzeuge . 62 5.3.2 Visualisierungswerkzeuge . 66 6 Entwicklung und Realisierung des Transformationssystems 69 6.1 Realisierung des Transformationssystems TRANSFORMR ........ 70 6.1.1 Inkrementeller Transformationsprozess . 70 6.1.2 Flexible Software Representation (FSR) . 72 6.1.3 Nutzerschnittstelle des Transformationssystems . 74 6.2 Metakomponenten des Transformationssystems . 76 6.3 Realisierung prototypischer Komponentenbildungstransformationen . 78 6.3.1 MemberGroups .......................... 80 6.3.2 Verschiebetransformationen . 82 6.3.3 Evaluierung der Verschiebetransformationen . 86 6.4 Realisierung prototypischer Filtertransformationen . 87 6.5 Skalierbarkeit des Transformationssystems . 90 7 Entwurf eines Client-Server-Frameworks CBFRAME 93 7.1 Zielsetzung . 93 7.2 Anforderungen . 93 7.3 Evaluation von Open Source Business-Software-Systemen . 94 7.4 Middleware-Plattform . 96 7.4.1 Anforderungen . 96 7.4.2 Java Enterprise Edition . 96 7.4.3 CORBA Component Model . 98 7.4.4 .NET Framework . 100 7.4.5 Zusammenfassung . 100 7.5 Transformation der grafischen Benutzeroberfläche . 101 7.5.1 Zielsetzung . 101 7.5.2 Konzepte zur UI-Transformation von GBware . 102 7.5.3 Zusammenfassung . 105 7.6 Rahmenarchitektur von CBFRAME .................... 105 7.7 Zusammenfassung . 106 4 Inhaltsverzeichnis 8 Auswahl einer Infrastruktur zur Realisierung des Client-Server- Frameworks 109 8.1 Zielsetzung . 109 8.2 Workflow-Beschreibungssprachen . 109 8.2.1 EPK . 109 8.2.2 BPMN . 110 8.2.3 Bewertung grafischer Modellierungswerkzeuge . 110 8.2.4 JPDL . 111 8.2.5 XPDL . 111 8.2.6 BPEL . 112 8.2.7 Fazit . 112 8.3 Vergleich verschiedener BPEL-Implementierungen . 113 8.4 Untersuchung der Kommunikationseigenschaften von JEE . 115 8.4.1 Anbindung von Legacy-Software über JMS . 115 8.4.2 Anbinden von Delphi-Clients an JEE-Applikationsserver . 116 8.4.3 Kommunikation mit Enterprise JavaBeans über CORBA . 118 8.5 Zusammenfassung . 119 9 Das Client-Server-Framework 121 9.1 Zielsetzung . 121 9.2 Das CBFRAME-Remote-Adapter-Pattern . 121 9.2.1 Musterbasierte Quellcodetransformation . 122 9.2.2 Verteilte Ausführung von Geschäftslogik . 123 9.2.3 Definition des CBFRAME-Remote-Adapter-Pattern . 124 9.2.4 Anwendung des CBFRAME-Remote-Adapter-Pattern . 125 9.2.5 Integration in TRANSFORMR .................. 127 9.2.6 CBFRAME-Remote-Adapter-Pattern für Webservices . 129 9.3 Effiziente verteilte Workflow-Abarbeitung . 131 9.3.1 Problemstellung und Ziele . 131 9.3.2 Automatische Transformation von BPEL-Prozessen . 133 9.3.3 Lastverteilungsverfahren für BPEL-Prozesse . 134 9.4 Zusammenfassung . 136 10 Prototypische Transformation der Referenzsoftware GBware 137 10.1 Prototypische Analyse und Transformation mit TRANSFORMR ..... 137 10.1.1 Anwendung von TRANSFORMR auf GBware . 137 10.1.2 Anwendung von TRANSFORMR auf TurboCASH . 141 10.2 Prototypische UI-Transformation von GBware . 144 10.2.1 Abstrakte UI-Zwischendarstellung . 144 10.2.2 GUI-Transformation von Delphi nach Java . 146 10.2.3 Anpassung der generierten GUI . 147 10.2.4 Diskussion über die Grenzen des Verfahrens . 148 10.3 Evaluierung von Kunden-Workflows . 149 10.3.1 Auswahl und Evaluierung der Workflow-Komponenten . 150 10.3.2 Anpassung der Kunden-Workflows . 152 10.4 Zusammenfassung . 152 5 Inhaltsverzeichnis 11 Zusammenfassung 155 12 Literaturverzeichnis 157 6 Abbildungsverzeichnis 3.1 3-Schicht Systemarchitektur der Business-Software GBware. 26 3.2 Schematische Darstellung der Abarbeitung eines Workflows in GBware. 27 3.3 Konzept der Systemarchitektur der verteilten Business-Software GBwa- reD. 33 3.4 Beispiel einer TTable mit generierten Adressdaten in einer Nutzer- schnittstelle. 36 3.5 Schematische Darstellung der Modellierung von Geschäftsprozessen in GBware als zustandsbasierte Workflows mit assoziierten Aktionen. 38 3.6 Nutzerschnittstelle des exemplarischen GBware mit reduzierter Funk- tionalität. 39 3.7 ER-Modell der Abbildung von Geschäftsprozessen in einer relationalen Datenbank. 40 4.1 Übergangsdiagramm der Flexible Software Representation (FSR) in verschiedene Softwaresichten. 48 4.2 Transformationsentscheidungen und Transformationsprozess. 50 4.3 Schematische Darstellung der Architektur des Transformationssystems. 51 5.1 Transformationsansatz nach der Model Driven Architecture (MDA). 56 5.2 Softwaremodelle Program Representation Graph und Dagstuhl Middle Model. 59 5.3 Entwurf der Flexible Software Representation. 61 5.4 Allgemeine Funktionsweise von TXL nach [15]. 63 6.1 Transformationsprozess des Toolsets TRANSFORMR........... 71 6.2 Abstraktionsebenen des Transformationsprozesses. 72 6.3 Softwaremodell (FSR) des Toolsets TRANSFORMR............ 73 6.4 Nutzerschnittstelle des Werkzeugs TRANSFORMR............ 74 6.5 Graph Dependency View des Toolsets TRANSFORMR.......... 75 6.6 Beispiel einer Source-to-Model Transformation. 77 6.7 TXL-Grammatik zum Hinzufügen von Annotationen. 78 6.8 Membergroup Browser zur Analyse der FSR. 82 6.9 Aufrufdiagramme zur Verschiebung einer common Membergroup. 83 6.10 Aufrufdiagramme zur Verschiebung einer strong Membergroup. 85 6.11 UML-Diagramme der Extraktion eines Interfaces aus Basismodulen. 88 6.12 Beispiel einer TXL-Transformationsregel zur Extraktion eines Interfaces. 89 6.13 Laufzeitverhalten der Extraktionsphase. 91 6.14 Speicherbedarf von Zwischendarstellung und Softwaremodell (FSR). 92 6.15 Beziehung von Laufzeit und Programmgröße in der Extraktionsphase. 92 7 Abbildungsverzeichnis 7.1 Frontend-Transformation, Konzept 1. 103 7.2 Frontend-Transformation, Konzept 2. 104 7.3 Architektur von CBFRAME für Web-Clients. 105 8.1 Beispiel grafisch modellierter Business Prozesses. (Links: BPMN, Rechts: EPK) . 110 8.2 Vergleich des erzielten Durchsatzes von JMS und MPI. 116 8.3 Mögliche Anbindung des GBware-Clients an Java Enterprise Server . 117 8.4 CORBA-JEE-Bridge. 118 8.5 Zugriff auf Java-Routinen von Delphi. 119 9.1 Schematische Darstellung der schrittweisen Anwendung einer muster- basierten Transformation. 123 9.2 UML-Darstellung des CBFRAME-Remote-Adapter-Pattern. 125 9.3 Anwendung des CBFRAME-Remote-Adapter-Pattern zur automati- schen Auslagerung von Methoden auf entfernte Server. 126 9.4 Beispiel eines Templates zur automatischen Erzeugung eines Servicean- bieters