IT-Projekt

Dieser Abschnitt umfasst die Dokumentation des IT-Projekts und somit Informationen zur Entwicklung und produktiven Deploment der Anwendung. Zur Entwicklung wird das Tool Maven ( http://maven.apache.org) verwendet. Folgende zusätzliche Plugins werden benötigt:

Entwicklung

Während der Entwicklung werden Tests und Test-Deployments sowie Konfigurationen usw. von Maven durchgeführt bzw. gesteuert. Dabei gibt es unterschiedliche Befehle:

  • Die Hibernate Mapping Dateien werden mit dem Befehl maven xdoclet:hibernatedoclet erstellt.
  • Die Struts Konfigurationsdateien werden mit dem Befehl maven xdoclet:webdoclet erstellt.
  • Der Tomcat Context wird in der Datei src/config/pnptime.xml konfiguriert. Diese wird per maven copy-config in das entsprechende Verzeichnis der Tomcat Installation kopiert (z.B. $CATALINA_HOME/conf/Catalina/localhost/). Das Verzeichnis muss in project.properties als Property com.pnpconsult.zeiterfassung.tomcat.context.conf.dir definiert sein. Die Konfigurationsdatei ist so konfiguriert, dass der Context auf das Verzeichnis target/pnptime zeigt. Jeder maven war:webapp sorgt dementsprechend für eine aktualisierte Version der Webanwendung. Tomcat sollte diese Version dann automatisch neu laden.
  • Um eine möglichst schnelle Entwicklung gewährleisten zu können, sollte die Webanwendung komplett in src/webapp erzeugt werden können. Dafür müssen die Kompilate, Konfigurationsdateien und JSP Dateien in diesem Verzeichnis bzw. entsprechenden Unterverzeichnissen vorliegen. Dabei handelt es sich um folgende:
    1. Eclipse kompiliert in das Verzeichnis src/webapp/WEB-INF/classes.
    2. Alle (manuell gepflegten) Konfigurationsdateien liegen in dem Verzeichnis src/conf und entsprechenden Unterverzeichnissen. Sie müssen bei Änderungen mit Hilfe von maven configure-development in die entsprechenden Verzeichnisse unterhalb von src/webapp/WEB-INF kopiert werden. Gleichzeitig wird auch hibernatedoclet und webdoclet ausgeführt, sodass die Konfiguration dann auf dem aktuellen Stand ist.

In der Konfigurationsdatei src/conf/tomcat/pnptime.xml müssen die Einstellungen auf die entsprechende Datenbank vorgenommen werden. Um den JDBC Realm nutzen zu können, muss der entsprechende Datenbanktreiber (z.B. der MySQL Treiber) in das Verzeichnis $CATALINA_HOME/server/lib kopiert werden.

Die Datenbank wird über die Datei src/sql/create_table.sql erzeugt. Zum Betrieb muss ein Benutzer eingerichtet sein, der in src/java/hibernate.cfg.xml und src/conf/tomcat/pnptime.xml konfiguriert werden muss. Der Benutzer sollte Schreib- und Leserechte auf die Datenbank der Zeiterfassung haben.

Deployment

Neben den Konfigurationen (s.o.) kann die Webanwendung für das Deployment erzeugt werden.

  • Mit dem Befehl maven war wird eine deploybare .war Datei erzeugt.