Architektur für Java Anwendungen mit Webfrontend

    Architektur für Java Anwendungen mit Webfrontend

Entwicklung eines einheitlichen Architekturmodells für alle bisherigen und zukünftigen Anwendungen auf Java Basis. Die Architektur ist in 3 Schichten aufgebaut:

  • Webschicht: Präsentationschicht zum Anzeigen und Bearbeiten der Daten. Realisierung mithilfe eines selbst entwickelten Frameworks (View/Action Modell ähnlich Struts). Zusätzlich sind immer wiederkehrende Probleme in der Frontendentwicklung abgefangen, wie doppelte Requests, mehrere Browserfenster auf derselben Session etc. Sehr einfaches erstellen der JSP Seiten durch ein Baukastenprinzip mit Taglibs.
  • Businessschicht: Abbilden der Workflows. Realisierung mit Stateless Sessionbeans. Die Webschicht hat nur eine Verbindung zur Businesschicht und ruft Workflows auf.
  • Servcieschicht: Bietet Funktionalität in Form von Diensten an. Realisierung mit Stateless Sessionbeans. Die Businessschicht kann sich zur Durchführung ihres Workflows der Dienste bedienen. Es gibt anwendungsspezifische Dienste, die nur von der jeweiligen Anwendung genutzt werden und allgemeine Dienste, die von mehreren Anwendungen genutzt werden. Ein Dienst deckt einen bestimmten, in sich abgeschlossenen, Bereich ab. D.h. ein Dienst darf keinen anderen Dienst aufrufen. Bsp.: Berechtigungsprüfung. Anwendungsspezifische Dienste sind z.B. Datenbankzugriffe.


Ziele:

  • Vereinfachung und Vereinheitlichung der Programmentwicklung
  • Wiederkehrende Probleme, gerade im Frontend-Bereich müssen nicht jedesmal wieder beachtet werden.
  • Aussehen und Design der Oberflächen wird zentral gesteuert und gepflegt.
  • Anlegen eines Pools von unternehmensweit gültigen Diensten und Objekten, die von jeder Anwendung genutzt werden. Dadurch müssen oft benötigte Funktionen/Dienste/Objekte nicht für jede Anwendung wieder neu "erfunden" werden (Stichwort: Zentralisierung, Vereinheitlichung).
  • Die Wartung der Anwendung wird vereinfacht, da man einzelne Module austauchen kann. Bei einer Änderung in einem Workflow muss i.d.R nicht das Frontend oder die Serviceschicht der Anwendung ausgetauscht werden, sondern nur die Businessschicht.
  • Anbinden von Fremdsystemen (iSeries) als Service


Zu Zeit werden die bestehenden Java Anwendungen an die neue Architektur angepasst. Neu- und Weiterentwicklungen sollen in Java realisiert werden. Im Fall von Weiterentwicklungen bedeutet das, dass vorhandene SNYNON/RPG Anwendungen umgestellt oder als Service integriert werden müssen.