Entwicklung mittles Codeerzeugung

Jan Burse, erstellt 02. Mai 2009 Die Entwicklung des Verkaufsystems ist weiterhin in vollem Gang. Gelegenheit inne zu halten und zu schauen wie sich das Vorgehen bei Webanwendungen zum Vorgehen bei einfachen Anwendungen abhebt. Was sofort auffällt bei Webanwendungen ist die Tatsache dass man nicht die Kontrolle über alle Komponenten hat. Dieses Phänomen zeigt sich am deutlichsten beim Client, ist aber in gewisser Weise auch beim Server vorhanden, wenn man z.B. das Webhosting Fremden überlässt. Der Vielfältigkeit im Bereich des Clients tragen wir Rechnung indem wir aufmehreren Zielsystemen gleichzeitig Entwickeln und Testen. Die verschiedenen Zielsysteme sind über eine Versionsverwaltung verbunden. Innerhalb der Clients finden wir verschiedene Plattformen, verschiedene Browser und verschiedene Mailer. Dadurch dass wir nur auf HTML und CSS setzen, sowie möglichst wenig JavaScript, ufern die Probleme zwar nicht aus, dennoch muss auf die verschiedenen Look & Feel geachtet werden. Schliesslich muss mit den Macken der gängigen Browser und Mailer gekämpft werden. Wir gehen sogar soweit dass wir den Server auf verschiedenen Plattformen ausführen, die sogar über unterschiedliche Datenbanksysteme verfügen. Einerseits um Flexibilität im Webhosting zu erreichen. Andrerseits können wir so schneller entwickeln und testen, weil wir weder auf eine zentrale Erstellung noch eine dezidierte Verteilung warten müssen. Diese Möglichkeit eröffnet uns nicht zuletzt Java durch seine Standardisierung und seine Verteilungsmöglichkeiten. Der Datenbankzugriff via Matula leistet hier aber ebenfalls seinen Betrag. Mittels der Cursor-Objekte können wir eine Vielzahl von Server mit einer Vielzahl von Datenbanksystemen verbinden. Wir haben bisher nur über den Zusatzaufwand durch Webentwicklung gesprochen. Man kann in der Webentwicklung jedoch auch Vorteile finden, die zu einer Beschleunigung bei der Entwicklung und beim Testen führen. Speziell sei hier die Möglichkeit der automatischen Generierung von Programmcode. Wir setzen die Technik schon für die Erzeugung der Java Cursor-Objekte ein. Das Ausgangsmaterial ist das Datenbankschema um Anmerkungen ausgestattet. Der Generator ist selber als Webanwendung ausgeführt und benutzt auf JSP basierende Codevorlagen. Wir setzen den Generator auch für die Erzeugung von Listen, Displays und Bäumen ein. Die Codevorlagen erzeugen dann JSP Seiten die auf die Cursor-Objekte zugreifen. Das Ergebnis sind Mini-Anwendungen im „Ultra Thin“ Client Stil. Gemessen am aktuellen Stand der Entwicklung des Verkaufssystems ist der Anteil nicht unerheblich. So basiert 31% der Funktionalität des Verkaufssystems auf generierten Mini-Anwendungen, wobei diese hauptsächlich im Bereich der internen Verwaltungsfunktionen zum Einsatz kommen. Externe Benutzerschnittstellen finden sich hingegen nicht, da diese nicht auf den einfachen generischen Abläufen und Layouts der Mini-Anwendungen aufbauen können.

Kommentare