Wie funktioniert AGen?

AGen ist mehr als ein Codegenerator. AGen ergänzt die bestehende Entwicklungsumgebung um eine kollaborative Modellierungsplattform, in der Projekte organisiert, Templates und Modelle entwickelt und gepflegt und neuer, reproduzierbarer Code automatisch generiert wird, ohne mit manuell erstelltem Code in Konflikt zu geraten.

Die Fachseite und Architekten nutzen die Modellierungsplattform, um ihre Aspekte der Anforderungen bzw. des Designs zu spezifizieren. Die Architektur der zu entwickelnden Anwendung wird dabei in Templates mit Hilfe des Template-Editors überführt. Produktmanager und Business-Analysten arbeiten hingegen mit dem Modell-Editor, der verschiedene Aspectviews rund um Entitäten, externe Interfaces und UI ermöglicht. Entwickler können jederzeit auf die Templates und die Modelltextdateien zugreifen und schreiben den manuellen Code in ihrer gewohnten IDE (Integrated Development Environment). Bestimmte Entwickler haben die Rolle des Generatorarchitekten, der die Integrität der verschiedenen Modellaspekte und Templates sicherstellt sowie die Automatisierungspatterns erkennt und in Templates umsetzt.

Somit müssen die Entwickler nicht immer und immer wieder die Code-Zeilen schreiben, die sich innerhalb der Anwendung in ähnlicher Art und Weise häufig wiederholen. Dies entlastet nicht nur die vorhandenen Ressourcen, sondern trägt darüber hinaus zu einer höheren Code-Qualität und Konsistenz auf allen Ebenen der Anwendung bei, sei es in der Datenbank, dem Server oder im Front-End. Auch die oft aufwändige Fehlersuche und -behebung wird minimiert, da der jeweilige Bug nur noch im Template gefixt werden muss und der Code somit automatisch an allen relevanten Stellen der Anwendung korrigiert wird. Da die Codegenierung jederzeit durch die Roundtrip-Fähigkeit genutzt werden kann, lassen sich durch hochiterative Generierungszyklen Anforderungsänderungen agil berücksichtigen. Neue Bedürfnisse der Kunden, Erweiterungen, Funktionsanpassungen oder sogar eine komplette Software-Renovierung lassen sich schneller und zuverlässiger programmieren und in die Anwendung implementieren.

Aber AGen kann noch mehr: Um aktuelle Kundenanforderungen definieren zu können, muss man nicht vorab Informatik studiert haben. Projektleiter und Produktmanager können weiterhin mit Excel, Word, XML etc. arbeiten, um Funktionen zu spezifizieren und in moderne Web-Anwendungen zu transformieren. Dafür sorgen Plug-ins der Modellierungsplattform.