24.02.2013 Aufrufe

MODELLGETRIEBENE ARCHITEKTUR IN EINEM J2EE ... - OXSEED

MODELLGETRIEBENE ARCHITEKTUR IN EINEM J2EE ... - OXSEED

MODELLGETRIEBENE ARCHITEKTUR IN EINEM J2EE ... - OXSEED

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

objekte<br />

modellgetriebene architektur<br />

Abb. 1: Die Architekturschichten des neuen Bausparsystems<br />

im Überblick (die Abk. WFMS steht für „Workflow-<br />

Management-System”)<br />

die Planungen einbezogen und verfolgt. Hierzu gehörte neben dem<br />

Aufbau der schichtenartigen Softwarearchitektur (siehe Abb. 1) das<br />

Herausarbeiten eines Designstils mit einem UML-Modell, das weitgehend<br />

von technischen Aspekten und Implementierungsdetails abstrahiert<br />

und die Grundlage einer translativen Codegenerierung bilden sollte.<br />

Als Werkzeuge für diesen Ansatz wurden „ArcStyler” (Interactive<br />

Objects Software GmbH) und „Rational Rose” (Rational Software<br />

Corporation) ausgewählt (vgl. [IOS02]). Die Interactive Objects<br />

Software GmbH hat nach unseren Vorgaben in wenigen Wochen eine<br />

Technologie-Projektion erstellt, die von uns ausgebaut wurde und selbständig<br />

weiterentwickelt wird. Sie enthält die Generierungsschablonen<br />

(Templates) der zu generierenden Artefakte, in die Aufrufe von Jython-<br />

Methoden 1 ) eingebettet sind, über die auf die Modellinformationen<br />

zugegriffen wird. Für die Erstellung dieser Schablonen bietet der<br />

ArcStyler eine integrierte Entwicklungsumgebung mit Debugging-<br />

Möglichkeiten an. Die Schablonen definieren geschützte Bereiche, in<br />

denen sich der Anwendungsentwickler ausschließlich bewegen und<br />

Fachlogik einfügen darf, da nur diese Bereiche in nachfolgenden<br />

Generierungsläufen erhalten bleiben. Hierzu muss dem Generator<br />

immer der aktuelle Quellenstand zur Verfügung gestellt werden.<br />

Die Generierung kann für einzelne Modellklassen, für Pakete von<br />

Modell-Klassen oder für das ganze Modell aus dem CASE-Werkzeug<br />

heraus aufgerufen werden. Um die zur Generierung notwendigen<br />

Parameter einstellen zu können, wurden in Rational Rose neben den<br />

1 )Jython ist eine Java-Implementierung der<br />

Skriptsprache Python (siehe: http://www.jython.org).<br />

speziellen Eigenschaftsleisten des ArcStylers auch eigene<br />

eingefügt, deren Properties die Generierungsvorlagen<br />

verwenden. Daneben wird die<br />

Generierung auch durch den Einsatz von Stereotypen<br />

gesteuert.<br />

Während die Kernteile des Designmodells (Klassen,<br />

Methoden, Assoziationen etc.) relativ technologieunabhängig<br />

sind, werden die technologiespezifischen<br />

Einstellungen innerhalb der leicht austauschbaren<br />

Eigenschaftsleisten gepflegt, und die<br />

Generierungsschablonen enthalten die Projektion auf<br />

die technische Umgebung. Damit kann unser Stil als<br />

konform zum Standard der „Model Driven<br />

Architecture” der OMG angesehen werden (vgl.<br />

[Koc02]). Der Ansatz der modellbasierten Generierung<br />

konzentriert sich auf diejenigen Komponenten und<br />

Anwendungsteile, bei denen fachliche Breite zu erwarten<br />

ist und deren Menge mit der Zahl der<br />

Anwendungsfälle stetig anwächst. Unsere Darstellung<br />

trägt dem Rechnung und setzt deshalb bewusst den<br />

Schwerpunkt auf den stilbildenden modellgetriebenen<br />

Ansatz.<br />

Methodenaufruf:<br />

<br />

<br />

<br />

<br />

615<br />

010<br />

AFH002<br />

<br />

<br />

<br />

<br />

Methodenantwort:<br />

<br />

<br />

<br />

<br />

<br />

<br />

Testfiliale B<br />

615<br />

Test-Name<br />

10<br />

<br />

<br />

Eschborn<br />

6236<br />

<br />

Stuttgarterstr. 1<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Listing 1: Beispiel des zur Server-Großrechner-<br />

Kommunikation eingesetzten, auf XML basierenden<br />

Protokolls. Es wird die Methode „getStandort” des<br />

COBOL-Moduls „BL-User” aufgerufen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!