• Keine Ergebnisse gefunden

Eine Entwicklungsplattform für die architekturzentrierte Erstellung betrieblicher Anwendungssysteme auf Basis von Open-Source

N/A
N/A
Protected

Academic year: 2022

Aktie "Eine Entwicklungsplattform für die architekturzentrierte Erstellung betrieblicher Anwendungssysteme auf Basis von Open-Source"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Eine Entwicklungsplattform für die architekturzentrierte Erstellung betrieblicher Anwendungssysteme

auf Basis von Open-Source

Martin Lehmann, Robert Nikonowicz { martin.lehmann | robert.nikonowicz }@sdm.de sd&m Research, sd&m AG, Berliner Str. 76, 63065 Offenbach

Dr. Martin Haft martin.haft@sdm.de

sd&m Research, sd&m AG, Carl-Wery-Str. 42, 81739 München

Abstract:Die sd&m AG konzipiert eine Entwicklungsplattform für die Entwick- lung betrieblicher Anwendungssysteme. Diese Entwicklungsplattform steht in der Tradition der bewährten sd&m-Quasar-Architektur und bildet eine „out-of-the- box“-Lösung für die dort definierte Referenzarchitektur. Die Entwicklungsplatt- form basiert auf Open-Source-Produkten, -Komponenten und -Werkzeugen.

1 Einführung

Quasar ist die Referenzarchitektur für betriebliche Informationssysteme und kondensiert damit langjährige Projekterfahrung der sd&m AG. Wesentliche Grundprinzipien einer Quasar-konformen Anwendungsarchitektur sind die Trennung von Fachlichkeit (A-Software) und Technik (T-Software) und die Bildung von Komponenten (vgl.

[Hu04]). Diese Quasar-Prinzipien sind gut verstanden und bilden eine bewährte Grund- lage für die Anwendungsarchitektur in einer Vielzahl von sd&m-Entwicklungsprojekten.

Jedoch findet eine wirklich formalisierte und systematische Umsetzung dieser Konzepte nur selten statt. Darüber hinaus wird in Entwicklungsprojekten eine effizient nutzbare Plattform für die Anwendungsentwicklung benötigt.

Zum Einen gilt es also, die Lücke zwischen Architekturverständnis und einer formali- sierten Umsetzung der Architekturprinzipien zu schließen, zum Anderen eine einheitli- che „out-of-the-box“-Umgebung für sd&m-Entwicklungsprojekte bereitzustellen. Dazu konzipiert sd&m Research die nachstehend beschriebene Entwicklungsplattform. Sie erlaubt eine architekturkonforme Erstellung betrieblicher Anwendungssysteme: Die Quasar-Architektur wird in einem Metamodell formalisiert, ihre Prinzipien durch Model- lierungs- und Generierungsansätze eingehalten. Kern dieser Entwicklungsplattform ist die technische Plattform für Server und Client, die mit Open-Source-Produkten und -Komponenten implementiert ist und gegen die generiert wird.

Wir skizzieren in Kapitel 2 zunächst die architekturzentrierte Software-Erstellung, die auf Modellierungs- und Generierungsansätzen basiert. Im Kapitel 3 beschreiben wir die technische Plattform. Wir ziehen abschließend ein Fazit, warum sich Open-Source für die sd&m-Entwicklungsplattform bewährt.

(2)

2 Die sd&m-Entwicklungsplattform setzt die Quasar-Architektur um

Die skizzierte Lücke in der Umsetzung der Quasar-Prinzipien kann geschlossen werden, indem zunächst die Quasar-Prinzipien formalisiert werden: Der Einsatz von Modellie- rungs- und Generierungstechniken auf Basis der Architektur-Metamodelle ermöglicht erst die architekturkonforme Software-Erstellung.

T-Plattform1 T-Plattform2 AnwendungA AnwendungB

cd Quasar Architecture

«Abstract T Component»

Client Management

«A Component»

Dialog

«Abstract T Component»

Application Kernel

Facade «Abstract T Component»

Authorization

«Abstract T Component»

Persistence

«A Component»

Application Component

«Abstract T Component»

Transaction

Abb. 1 Die Entwicklungsplattform ermöglicht eine architekturzentrierte Software-Erstellung

Eine konkreteAnwendung(vgl. Abb. 1 rechts) besteht aus konkreten Instanzen der An- wendungskomponenten wie „Vertragskomponente“ oder „Rechnungsdialog“ und wird nach Regeln der A-Architektur modelliert. Insbesondere wird die Architektur der zu erstellenden Anwendungen durch Architektur-Metamodelle formalisiert und durch Architektur-Modelle beschrieben. Die modellgetriebene Software-Erstellung sorgt dafür, dass Anwendungen, die mit der Entwicklungsplattform erstellt werden, eine Quasar- konforme Architektur aufweisen.

Zentraler Bestandteil der Zielarchitektur ist eine technische Plattform (T-Plattform).

Verschiedene T-Plattformen können zur Umsetzung alternativ herangezogen werden, so beispielsweise Plattformen auf Basis von Open-Source-Komponenten oder alternativ die JEE-Plattform. Die sd&m-Entwicklungsplattform konzentriert sich bewusst auf Open- Source: Produkte wie z.B. JBoss und MySQL bilden eine Laufzeit-Umgebung für die Anwendung. Die technischen Dienste der Quasar-Referenz-Architektur (vgl. Abb. 1 links) in Form wiederverwendbarer Komponenten wie z.B. Hibernate und Spring defi- nieren dietechnische Architektur(T-Architektur) der Anwendung.

(3)

Aus den Anwendungsmodellen wird ein Code-Rahmen zur manuellen Implementierung der fachlichen Logik der Anwendung generiert. Auch Glue-Code wird generiert, der zwischen Anwendungskomponenten und den Komponenten einer konkreten T-Plattform vermittelt. „Hibernate“-Mappings für fachliche Entitäten oder „Spring“-Konfigurationen sind Beispiele für solche Glue-Code-Artefakte.

Entwicklungsplattform: Nutzungssicht

Dem Anwender stellt sich dasFrontendder Ent- wicklungsplattform als Modellierungs-, Generie- rungs- und Entwicklungs-Umgebung für die Erstellung Quasar-konformer Anwendungen dar (vgl. Abb. 2). Aktuell beschäftigt sich sd&m mit Definition und Umsetzung dieses Frontends auf Basis von Open-Source-Produkten. Dies umfasst die Definition der Modellierungssprachen zur Erfassung der im Architektur-Metamodell defi- nierten Aspekte und die Auswahl passender O- pen-Source-Werkzeuge für entsprechende Mo- dell-Editoren. Die Integration mit dem Backend zu einer einheitlichen Modellierungs- und Gene- rierungs-Umgebung ist ebenfalls Bestandteil dieser Aufgabe. Dieses enthält Generierungs- werkzeuge, die mit Hilfe von openArchitecture- Ware1 umgesetzt sind. Zur Beschreibung der A-Architektur einer Anwendung verwenden sie ein Architektur-Metamodell, das auf Basis der Metamodellierungssprache eCore des „Eclipse Modeling Frameworks“1implementiert ist.

3 Die sd&m-Entwicklungsplattform basiert auf Open-Source

Die sd&m-Entwicklungsplattform basiert an vielen Stellen auf Open-Source, zum Ein- satz kommen Produkte, Werkzeuge und Komponenten. Dieses Kapitel zeigt, wie die T-Plattform die Quasar-Referenzarchitektur mit Open-Source-Komponenten implemen- tiert. Die T-Plattform bietet Entwicklungsprojekten den Mehrwert, Best Practices zu solchen Komponenten wie z.B. Hibernate aufzubereiten. Sie macht dafür Vorgaben, wie eine effiziente und korrekte Nutzung solcher Komponenten sichergestellt werden kann und gibt für die einzelnen Dienste und Komponenten verschiedene Strukturierungsmerk- male für Architektur und Code (wie z.B. Konfigurationsbeispiele, Verzeichnisstrukturen und Namenskonventionen) vor. Die T-Plattform besteht aus Server-T-Plattform und Client-T-Plattform:

1openarchitectureware.org,www.eclipse.org/modeling/emf/

Abb. 2 Nutzungssicht

(4)

Server-T-Plattform: Die Server-T-Plattform bereitet serverseitige technische Dienste der Quasar-Referenzarchitektur (vgl. Abb. 1 links) auf: Der O/R-Mapper „Hi- bernate“2 kommt für die Dienste „Persistence“ und „Transaction“ zum Einsatz. Das

„Spring“-Framework2 strukturiert die Server-Anwendung und sorgt als Integrations- komponente für lose Koppelung und Trennung von A- und T-Software. Das „Acegi“- Security-Framework2implementiert die technischen Dienste „Authentication / Authori- zation“. Schnittstellen zu externen Systemen werden als Adapter-Dienst u.a. auf Basis der Protokolle RMI, SOAP, Hessian angeboten.

Client-T-Plattform: Die Quasar-Referenzarchitektur untergliedert den Client in Dialoge. Mit der Client-T-Plattform lassen sich Dialoge für Swing und JSF bauen.

Technische Basis ist auch hier Open-Source: Swing-Clients setzen Teile von CUF3ein und auch die JGoodies3 können integriert werden. Die JSF-Lösung setzt auf Open- Source-Implementierungen wie Apache MyFaces3 auf und erweitert diese um einen Dialogbegriff. AJAX-fähige JSF-UI-Component-Bibliotheken wie RichFa- ces/AJAX4JSF3ermöglichen Verarbeitungen innerhalb eines Dialoges ohne kompletten Server-Roundtrip. Doch nicht alle Quasar-Anforderungen an Dialoge werden durch Open-Source-Komponenten vollständig umgesetzt (vgl. [HO07]), was Erweiterungen durch zusätzliche, sd&m-eigene Bausteine erfordert: Dialoge müssen – anders als ser- verseitige Anwendungskomponenten – zur Laufzeit erzeugt und entfernt werden, wenn sie geöffnet und geschlossen werden, was letztlich einen Lebenszyklus der Dialogkom- ponenten entlang ihrer Hierarchie definiert. Dieser erweiterte Komponentenbegriff für Dialogkomponenten benötigt daher eine umfangreiches Dialog-Managementim Client.

Die Konfiguration der Dialogkomponenten zu einer Anwendung und die Konfiguration der Client-Server-Anbindung erfolgt über das Spring-Framework.

Um die T-Plattform tatsächlich „out-of-the-box“ nutzen zu können, liefert sie Ent- wicklungs- (u.a. Eclipse, Maven2), Test- (u.a. JUnit) und Laufzeit-Umgebung (z.B.

Datenbank MySQL4, Applikationsserver Jboss4 bzw. Tomcat4) direkt abgestimmt auf die Komponentenauswahl mit.

4 Warum Open-Source? – Ein Fazit

Der Einsatz der in Kapitel 3 beschriebenen Open-Source-Software hat sich in vielerlei Hinsicht für sd&m bewährt und als vorteilhaft herausgestellt. Für allseits bekannte Vor- züge von Open-Source-Software im Sinne einer allgemeinenWirtschaftlichkeitsbetrach- tung sei auf [VRKR07] verwiesen – diese sollen daher nur kurz dargestellt werden5, bevor wir auf sd&m-Spezifika eingehen:

2www.hibernate.org,www.springframework.org,www.acegisecurity.org

3cuf.sourceforge.net,www.jgoodies.com,myfaces.apache.org,labs.jboss.com/portal/jbossrichfaces

4www.mysql.com,www.jboss.org,tomcat.apache.org

5Natürlich gelten die genannten Qualitätsmerkmale nicht für jede Art von Open-Source-Software per se, aber eine Reihe von Open-Source-Produkten kann durchaus mit ihnen glänzen.

(5)

Open-Source bietet einen reichhaltigen Fundus an implementierter Funktionalität mit hohem Reifegrad – gerade und insbesondere bei Entwicklungssystemen. Hinter Open- Source steht eine starke Entwicklergemeinde mit gutem Support, gute Entwicklerdoku- mentation ist vorhanden. Open-Source liefert den Quellcode mit, durchaus von Vorteil, wenn komplexe Fehlersituationen zu analysieren sind.

Für sd&m spielen bei der Auswahl der Open-Source-Produkte und insbesondere wieder- verwendbarer Komponenten für die technischen Dienste vor allem folgende Merkmale eine entscheidende Rolle: Open-Source-Produkte sind schnell und einfach verfügbar – Provider wie SourceForge oder java.net stellen bewährte und verlässliche Infrastruktur bereit. Die eingesetzten Open-Source-Produkte sindleichtgewichtigund in Form kleiner, flexibler Distributionen (z.B. mit ZIP-Files) verfügbar und schnell installiert. Open- Source-Software ist leicht und flexibel kombinierbar: Standardisierte Schnittstellen lässt Open-Source-Software schnell und effizient zu höherwertigen Einheiten kombinieren.

Insbesondere in der Landschaft technischer Komponenten ist dies Voraussetzung für eine effiziente Umsetzung der skizzierten technischen Dienste. So hat sich speziell das Spring-Framework als hervorragendes Integrationsframework bewährt, ohne das eine komponentenorientierte Architektur und die Umsetzung der Quasar-Prinzipien nur schwer zu realisieren wäre.

Open-Source setzt sich bei vielen Kunden und damit Entwicklungsprojekten von sd&m zunehmend durch. Die genannten Gründe führen zu einer breiten Akzeptanz von Open- Source und machen daher Open-Source-Produkte, -Werkzeuge und -Komponenten zur idealen Basis der sd&m-Entwicklungsplattform.

Literaturverzeichnis

[HHS04] Martin Haft, Bernhard Humm, Johannes Siedersleben: "The architect's dilemma - will reference architectures help?" In: R. Reussner et al. (Ed.): Proceedings of the First International Conference on the Quality of Software Architectures (QoSA 2005). Lecture Notes in Computer Science 3712, S. 106 - 122. Springer-Verlag Berlin Heidelberg 2005.

[HSS05] Bernhard Humm, Ulf Schreier, Johannes Siedersleben: Model-Driven Development – Hot Spots in Business Information Systems. In: A. Hartman and D. Kreische (Eds.): Pro- ceedings of the European Conference on Model Driven Architecture (ECMDA-FA 2005), Lecture Notes in Computer Science 3748, pp. 103 – 114, 2005. Springer-Verlag Berlin Heidelberg 2005.

[HO07] Martin Haft, Bernd Olleck: "Komponentenbasierte Client-Architektur". Akzeptiert für:

Informatik-Spektrum, Band 30, Heft 3, Juni 2007

[Hu04] Bernhard Humm: Technische Open Source Komponenten implementieren die

Referenzarchitektur Quasar. In: Helmut Eirund, Heinrich Jasper, Olaf Zukunft: ISOS 2004 - Informationsysteme mit Open Source, Proceedings GI-Workshop pp. 77-87. Ge- sellschaft für Informatik 2004

[Sie04] Johannes Siedersleben: Moderne Softwarearchitektur, dpunkt Verlag, 2004

[VRKR07] Michael Vetter, Thomas Renner, Holger Kett, Sascha Rex: Open-Source-Software – Einsatzstrategien, Reifegrad und Wirtschaftlichkeit. In: Open Source Jahrbuch 2007.

Zwischen Softwareentwicklung und Gesellschaftsmodell, S.195f. Bernd Lutterbeck, Matthias Bärwolff, Robert A. Gehring (Hrsg.). Lehmanns Verlag. Berlin 2007, ISBN-13:

978-3865411914.www.opensourcejahrbuch.de

Referenzen

ÄHNLICHE DOKUMENTE

• Globale Variable: kann (solange das Programm ausgeführt wird) von allen Prozeduren und Funktionen verwendet werden. • Lokale Variable: wird in einer Prozedur oder Funktion

F¨ur eine effiziente Ausf¨uhrung muss der Publisher also sicherstellen, dass nach Bearbeitung eines Auftrages stets alle weiteren abh¨angigen Auftr¨age (sofern keine

Der Unendlich-Knoten kann als Unterteil sowohl in komplexe Komponenten eingehen als auch zur Auswahl unterhalb eines Alternativknotens stehen (maximal ein Unendlich- Knoten).

In diesem Beitrag wurden ein Konzept f¨ur die Bereitstellung von Diensten und deren kon- textsensitive Auswahl und Nutzung sowie eine prototypische Umsetzung dieses Konzepts auf

In Fall einer Über- einstimmung werden dann die Adressdaten ausgelesen, die zur Darstellung des Standor- tes benötigten Geodaten von Google Maps geladen und die Standortinformationen

Der Ansatz einer AUTOSAR-spezifischen Programmiersprache im Sinne einer textuellen DSL stellt einen vielversprechenden Schritt dar, der neben einer Steigerung der Akzeptanz von

Komponente muss für die Wiederverwendung konzipiert sein Dokumentation, Testumgebung, Tutorien. Was wiederverwendbar ist, wird spät

starte leser(nächste Karte) neuer Bereich(nächste Karte) Kartenzähler := Kartenzähler + 1 warte solange Leser aktiv. until Leser