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.