Web Frontend für AES Framework Reto Huber Adrian Ruoss Printscreen des AES-Fatclients Diplomanden Reto Huber, Adrian Ruoss Examinator Prof. Hans Rudin Experte Daniel Hiltebrand, CTO, Crealogix AG, Bubikon Themengebiet J2EE, Web Framoworks (Java Server Faces) Projektpartner alabus ag (Oerlikon) Aufgabenstellung: AES (alabus enterprise suite) ist ein volldynamisches, Metamodel-gesteuertes Applikationsframework und basiert auf J2EE Technologie, entwickelt durch die Firma alabus ag. Clientseitig umfasst das Applikationsframework einen Fatclient, welcher über XML mit dem Server kommuniziert. Die gesamte Business-Logik ist serverbasiert und der Client wird dynamisch über Metainformation gesteuert. Als Ergänzung zum Fatclient wird ein Web Frontend implementiert, in welchem Masken/Formulare über das Web zugreifbar sind. Diese Masken werden soweit möglich dynamisch über Meta- informationen zusammengebaut. Das Web Frontend strebt die Funktionalität des Fatclient an. für zukünftige Applikationen dient. Es werden wieder verwendbare Komponenten geschaffen, die sich in eine bestehende Webseite integrieren lassen. Dass dabei CI/CD (Corporate Identity / Corporate Design) Richtlinien zu berücksichtigen sind, versteht sich von selbst. Lösung: In einer ersten Phase wurden die AESspezifischen Anforderungen einigen am Markt erhältlichen Web Frameworks (Struts, Tapestry, Java Server Faces, Cocoon, Turbine) gegenübergestellt. Aus den Anforderungen des AES Frameworks ging hervor, dass AES ein ereignisorientiertes bzw. komponentenbasiertes Webframework voraussetzt. Die Wahl fiel dabei auf Java Server Faces, kurz JSF. Dabei handelt es sich um einen im Jahre 2004 veröffentlichten Standard, welcher von Sun Microsystems in Zusammenarbeit mit namhaften Firmen wie IBM, Oracle usw. entwickelt wurde. Ein zusätzliches Ziel der Arbeit: Als Grundlage des Web Frontends soll ein am Markt bestehendes Web Framework dienen. Es sollen der Nutzen und die Eignung für den Einsatz zusammen mit AES analysiert werden. Basierend auf dem so ermittelten Framework wird ein Prototyp implementiert. Es handelt sich dabei um ein Zeitrapportierungs-Tool, welches vollumfänglich durch das AES-Metamodel beschrieben ist. Es wird in erster Linie eine Architektur entworfen, welche als solide Grundlage Architekturübersicht des Web Frontends Plus von JSF ist seine Ausrichtung auf den Presentation-Layer. Weil die Business-Logik im AES bereits serverseitig implementiert ist, können so die Stärken von JSF im Presentation-Layer voll ausgenutz werden. Die Architektur (Design) des Web Frontends wurde anschliessend umgesetzt. Grosse Aufmerksamkeit galt dabei der Dynamik, da die gesamte Applikation durch das Metamodel beschrieben ist. Es wurden JSF Komponenten entwickelt, welche mit Hilfe von Services den Zugriff auf das AES-Framework kapseln. Der Webmaster kann diese Komponenten nach Belieben auf seiner Seite platzieren. Das CI/CD wird über CSS (Cascading Style Sheets) angepasst.