Erste Schritte Webportal

Inhalt

Ein Entwickler sollte sich eine lokale Ausführungsumgebung einrichten. Die folgenden Voraussetzungen sollten dafür installiert werden.

Integrierte Entwicklungsumgebungen

  • Wie bei allen Java-Projekten, bietet es sich an, zur Entwicklung auf eine IDE zurückzugreifen.

  • Während der ersten Entwicklungsphase kam dabei die Spring Tool Suite (STS) zum Einsatz. Die Projektdateien für diese IDE sind mit ins Repository eingecheckt.

  • Alternativ lässt sich das Projekt aber auch gut in Intellij IDEA einrichten. (aktuell - März 2017 - verwenden die meisten Gates-Backendentwickler die Intellij IDE)

Lokale Datenbanken

  • Als DBMS sollte Postgres lokal installiert werden.

  • Für die lokale Entwicklung sollte eine Datenbank mit dem Namen ps_dev erstellt werden.

  • Datenbank-Rolle für die Applikation einrichten

CREATE ROLE plusservices LOGIN PASSWORD '<passwort>' SUPERUSER INHERIT
CREATEDB NOCREATEROLE REPLICATION;

Lokaler Webserver (Tomcat)

  • Für das Deployment sollte ein lokaler Tomcat-Webserver eingerichtet werden.
  • Es kann der Tomcat 8.0 verwendet werden oder auch der bei der Installation der STS mitgelieferte Tomcat-Server von pivotal.

Build

  • Der gesamte Buildprozess des Webportals ist per Maven eingerichtet. Falls noch nicht vorhanden sollte also eine aktuelle Version von Maven installiert werden.

  • Für die unterschiedlichen Build-Konfigurationen wie dev oder verschiedene Kundenkonfigurationen sind maven-Profile angelegt.

  • Um das Webportal lokal zu testen, muss zunächst der maven-Build ausgeführt werden und dieses anschließend auf dem lokalen Tomcat-Server deployt werden.

Lokales System

  • Beim lokalen Deployment des Webportals (mit dev-Profil) wird das Datenbank-Schema mittels Liquibase automatisch migriert bzw. erstellt. Außerdem werden einige Testdaten als Seed in die Entwicklungsdatenbank eingetragen.

  • Auf dem lokal ausgeführten Webportal kann man sich dann z.B. am Mandanten 100 anmelden (http://localhost:8080/plusservices/100). Für das Login kann z.B. der Demo-Kunde (Login: "Kunde", Passwort: "1234") verwendet werden.

Achtung

Es ist unbedingt darauf zu achten, dass lediglich Builds mit dem dev-Profile lokal deployt werden!

Da in den Profil-Filtern (main/filters) auch Anmeldedaten für verschiedene Produktivsystem enthalten sind, besteht sonst die Gefahr, dass Livesysteme verändert werden.