Software-Modelle: preiswerter, schneller, genauer
» Von , 24.03.2010 14:03.
Fallbeispiel: Credit Suisse
Auch die Credit Suisse, mit mehr als 6000 Unix- und Windows-Servern, 800 verschiedenen Applikationen und mehr als 350 parallel laufenden Projekten ein ziemlich grosser Dampfer, betreibt modellgetriebene Software-Entwicklung. Ausgangspunkt im Entwicklungsprozess ist das Interface Management System (IFMS), ein Design-Werkzeugg, das ein Service- und Datentyp-Repository sowie einen Governance Enforcer zur Durchsetzung von Regularien enthält. 40 Mannjahre hat die Credit Suisse in die Entwicklung des IFMS investiert. Die damit entworfenen geschäftlichen Ablaufszenarien übersetzt ein Generator anschliessend in ein implementationsunabhängiges Service-Meta-Modell (SMM), das als Basis für konkrete Applikationen dient (WSDL, XSD, PL? und andere). Manuelles Programieren wird nicht überflüssig, aber auf essentiellen Code reduziert.
500'000 Franken gut investiert
"Der Betrieb von IFMS und SMM-Generator kosten uns jährlich etwa eine halbe Million Franken", sagt Thiago Pfiffner, Program Manager bei der Credit Suisse. Aber das Geld scheint gut investiert, denkt man an die dadurch erzielten Vorteile: kürzere "Time to Market", schnellere, einfachere Implementierung, höhere Compliance und reduzierte Betriebskosten.
Eine Blick in die Zukunft riskiert Professor Boger von der HTWG Konstanz (Technik, Wirtschaft und Gestaltung). Boger unterscheidet zwischen textuellen (Xtext, EBNF), internen und grafischen DSLs. Eine ganz einfache textuelle, domänenspezifische Sprache sei zum Beispiel die Notation, mit der Schachprofis ihre Partien dokumentieren. Interne DSLs, die zweite Kategorie, werden in Programmiersprachen eingebettet und haben den grossen Vorteil, dass sie direkt ausgeführt respektive interpretiert werden können.
Das heute so weit verbreitete Java sei jedoch als Träger interner DSLs nicht so gut geeignet. Neuere Sprachen wie Ruby, Scala und Groovy integrieren viel besser. "Scala ist der Thronfolger von Java und wird in Zukunft dessen Platz einnehmen", prophezeite deshalb Boger. Zurzeit kann es Scala in punkto Attraktivität mit dem Platzhirsch Java, Google-Statistiken zeigen das, aber noch nicht aufnehmen.
UML 2.0 zu komplex
Das Paradigma der modellgetriebenen Software-Entwicklung wird laut Boger nicht, wie eigentlich naheliegend, durch die Unified Modelling Language (UML) vorangetrieben, sondern durch (engere) domainenspezifische Sprachen. Die Begründung: Die zweite UML-Version sei extrem komplex ausgefallen, was sich in der Praxis leider nachteilig auswirke. Unter anderem das von Boger massgeblich mitentwickelte grafische MDSL-Werkzeug Poseidon erlaubt es, DSLs für unternehmensinterne Zwecke selbst zu entwerfen, um danach schneller, preiswerter und präziser zu entwickeln.



KOMMENTARE
KOMMENTAR SCHREIBEN