Voraussetzungen
Zur Installation des EMT-Portals werden folgende Dinge vorausgesetzt:
- Java Version 1.8.0_201
- PostgreSQL Datenbank v9.6
Andere Versionen können auch funktionieren, wurden aber von uns nicht getestet.
Downloaden der Fastlane Runtime
Zum Herunterladen der Fastlane Runtime müssen Sie sich mit einem ftp-client Ihrer Wahl (z.B. WinSCP) auf unseren Server Verbinden. Die erforderlichen Login-Daten sollten Sie von uns erhalten haben.
- Übertragungsprotokoll: FTP
- Verschlüsselung: TLS/SSL Explizite Verschlüsselung
- Server Url: download.next-level-apps.com
- Port: 21
In WinSCP können Sie ein neues Verbindungsziel angeben und die oben genannten Daten eingeben.
Nach einer erfolgreichen Verbindung sollten Sie sich im ihrem Downloadverzeichnis befinden. Dort können Sie die portal.zip herunterladen. Das heruntergeladene Archiv kann jetzt am gewünschten Installationspfad entpackt werden.
Einrichten der Konfigurationsdateien
Vor dem Starten der Fastlane ist es notwendig ein paar Anpassungen in den Konfigurationsdateien vorzunehmen.
Verbindung zum mBsE
Die Daten für das EMT-Portal werden vom mBsE per REST-Service bereitgestellt. Damit das Portal die Daten anfordern kann ist es notwendig die Datei /config/rest/default.json anzupassen.
Hier muss die ServerUrl entsprechend der mBsE Konfiguration angepasst werden.
{
"serverUrl": "http://176.9.78.74:8080",
"resourcePaths": [{
"id": "MBSE_AUTH",
"path": "myBusinessSmartEnergy/interface/{client}/portal/v1.0/auth/jwt/token"
},
{
"id": "MBSE_BUSINESS_PARTNER",
"path": "myBusinessSmartEnergy/interface/{client}/portal/v1.0/businesspartner"
},
{
"id": "MBSE_METERING_LOCATIONS",
"path": "myBusinessSmartEnergy/interface/{client}/portal/v1.0/businesspartner/meteringLocations"
},
{
"id": "MBSE_METER_TARIFF_INFO",
"path": "myBusinessSmartEnergy/interface/{client}/portal/v1.0/meteringlocation/{meterNumber}/meter"
},
{
"id": "MBSE_METER_READINGS",
"path": "myBusinessSmartEnergy/interface/{client}/portal/v1.0/metervalues/{meterNumber}/portal/{obis}?from={from}&to={to}"
}
],
"useBaseAuth": false,
"credentials": {
"username": "abc",
"password": "def"
},
"devMode": true,
"useSmartEnergyAuth":true
}
Datenbankverbindung
Zum Einrichten Der Datenbankverbindung gibt es zwei Konfigurationsdateien.
Die Datei “default.properties” befindet sich im Verzeichnis “/portal/jndi”.
fastlane/type=javax.sql.DataSource
fastlane/driver=org.postgresql.Driver
fastlane/url=jdbc:postgresql://localhost:5432/test
fastlane/user=emtadmin
fastlane/password=Test
fastlane/pool=dbConnectionPool
jdbc/masterdata/type=javax.sql.DataSource
jdbc/masterdata/driver=org.postgresql.Driver
jdbc/masterdata/url=jdbc:postgresql://localhost:5432/test
jdbc/masterdata/user=emtadmin
jdbc/masterdata/password=Test
jdbc/masterdata/pool=dbConnectionPool
contact/type=javax.sql.DataSource
contact/driver=org.postgresql.Driver
contact/url=jdbc:postgresql://localhost:5432/test
contact/user=emtadmin
contact/password=Test
contact/pool=dbConnectionPool
sweConfig/type=javax.sql.DataSource
sweConfig/driver=org.postgresql.Driver
sweConfig/url=jdbc:postgresql://localhost:5432/test
sweConfig/user=emtadmin
sweConfig/password=Test
sweConfig/pool=dbConnectionPool
portalConfig/type=javax.sql.DataSource
portalConfig/driver=org.postgresql.Driver
portalConfig/url=jdbc:postgresql://localhost:5432/test
portalConfig/user=emtadmin
portalConfig/password=Test
portalConfig/pool=dbConnectionPool
dashboard/type=javax.sql.DataSource
dashboard/driver=org.postgresql.Driver
dashboard/url=jdbc:postgresql://localhost:5432/test
dashboard/user=emtadmin
dashboard/password=Test
dashboard/pool=dbConnectionPool
dashboard/dbcpMaxActive=20
dashboard/dbcpMaxWait=1000
dashboard/dbcpMaxIdle=2
postcdDS/type=javax.sql.DataSource
postcdDS/driver=org.postgresql.Driver
postcdDS/url=jdbc:postgresql://localhost:5432/test
postcdDS/user=emtadmin
postcdDS/password=Test
postcdDS/pool=dbConnectionPool
In dieser Datei müssen die Variablen “url”, “user” und “password” in jedem Block angepasst werden. Die URL ist wie folgt aufgebaut: jdbc:postgresql://serverip:port/datenbankName In der angegebenen Datenbank muss ein Schema mit dem Namem public existieren.
Im Verzeichnis “/portal/config” befindet sich die Datei application.properties
#DB properties:
db.driver=org.postgresql.Driver
#db.url=jdbc:h2:data/h2db/h2db;AUTO_SERVER=TRUE;AUTO_SERVER_PORT=42421;MULTI_THREADED=TRUE
db.url=jdbc:postgresql://localhost:5432/test
db.username=emtadmin
db.password=Test
#Hibernate Configuration:
hibernate.dialect=com.nextlevel.portal.spring.db.CustomPostgreSQLDialect
hibernate.hbm2ddl.auto=update
hibernate.default_schema=public
#passwordPolicy.xmlConfigurationPath=config/XmlConfiguration.xml
passwordPolicy.hashFunctionType=SHA-512
passwordPolicy.minLength=8
passwordPolicy.maxLength=16
passwordPolicy.whitespaceAllowed=false
passwordPolicy.nrOfReqDigits=1
passwordPolicy.nrOfReqLowerCase=1
passwordPolicy.nrOfReqUpperCase=1
passwordPolicy.nrOfReqNoAlphabetic=1
passwordPolicy.nrOfRegCharacteristics=3
passwordPolicy.nrOfOldForbiddenPasswords=5
passwordPolicy.alphabeticalSequenceAllowed=false
passwordPolicy.maxAlphabeticalSequence=3
passwordPolicy.numericalSequenceAllowed=false
passwordPolicy.maxNumericalSequence=3
passwordPolicy.quertySequenceAllowed=false
passwordPolicy.useDictionary=true
passwordPolicy.maxDictionaryWordLength=6
passwordPolicy.dictionaryPath=src/main/resources/dictionary/mlang/german.txt
passwordPolicy.doesPasswordExpire=true
passwordPolicy.passwordExpirationPeriod=1 6 0
passwordPolicy.areFailedLoginTriesLimited=false
passwordPolicy.maxFailedLoginTries=0
passwordPolicy.useSalt=false
passwordPolicy.updateOldHashes=MD5
restClient.configPath=config/rest/default.json
#admin properties
admin.persistAdminUser=true
admin.persistedAdminUserName=nli-admin
admin.persistedAdminPassword=Test
In dieser Datei müssen wie auch vorher “url”, “user” und “password” eingetragen werden.
Ports der Fastlane
Standardmäßig sind für das EMT-Portal die Ports 9091 für http und 19091 für https eingestellt.
Um festzulegen unter welchem Port das Portal zu erreichen ist muss im Verzeichnis “portal/deployed_modules” die Datei WebContainerJetty_nextlevel.com_1.0.properties angepasst werden.
In der ersten Zeile kann der HTTP-Port geändert werden und in Zeile sechs kann der HTTPS-Port angepasst werden.
#[ModuleId: Name:WebContainerJetty, Provider:nextlevel.com, Version:1.0, Alias:jetty]
#Thu Jan 25 12:52:31 CET 2018
HTTP_PORT=9091
CERTIFICATE_ALIAS=jetty_test
HTTP_SESSION_TIMEOUT=3600000
TRUSTSTORE_PASSWORD=kspassword
KEYSTORE_PATH=config/test_keystore.jks
HTTPS_PORT=19091
KEYMANAGER_PASSWORD=keypassword
KEYSTORE_PASSWORD=kspassword
TRUSTSTORE_PATH=config/test_keystore.jks
HTTP_CONNECTION_MAX_IDLE_TIME=6200000
REST_INTERNAL_PORT=10085
CROSS_FILTER_ENABLED=false
CROSS_FILTER_ALLOWED_ORIGINS=*
CROSS_FILTER_ALLOWED_METHODS=GET,POST,HEAD
CROSS_FILTER_ALLOWED_HEADERS=X-Requested-With,Content-Type,Accept,Origin
DOS_FILTER_ENABLED=false
DOS_FILTER_DELAY_MS=-1
DOS_FILTER_MAX_CONNECTIONS_PER_SECOND=5000
ACCESS_LOG_ENABLED=true
ACCESS_LOG_DIRECTORY=logs
ACCESS_LOG_RETAIN_DAYS=5
ACCESS_LOG_TIME_ZONE=GMT
REST_INTERNAL_CONNECT_TIMOUT_MS=600
REST_TRACE=false
GZIP_FILTER_ENABLED=true
GZIP_FILTER_ALLOWED_MIME_TYPES=text/html,text/xml,text/plain,text/css,text/javascript,text/json,application/x-javascript,application/javascript,application/json,application/xml,application/xml+xhtml,image/svg+xml
GIZP_FILTER_ALLOWED_METHODS=GET,POST,HEAD
GZIP_FILTER_ALLOWED_ORIGINS=*
MIN_THREADS=1
MAX_THREADS=200
CACHE_CONTROL_HEADER=public, max-age=31536000, stale-while-revalidate=2592000
THROW_SECURITY_EXCEPTION=false
Standard Administrator
Zum Setzen des Standardadministrators müssen in der Datei application.properties (“/portal/config”) die Werte admin.persistedAdminUserName und admin.persistedAdminPassword entsprechend des gewünschten Benutzernamens bzw. Passwort gesetzt werden. Dieser admin wird beim starten der Fastlane in der Datenbank hinterlegt und hat Zugriff auf alle Funktionen der Admin Seite.
Starten des Portals
Linux
Zum Starten des Portals wird im root Verzeichnis des Portals das Skript startStopFastlaneRuntime mit dem Parameter start ausgeführt. Der Startorgang kann, je nachdem wie viele Mandanten installiert sind, einige Minuten dauern.
./startStopFastlaneRuntime start
In der Datei nohup.out wird die Ausgabe des Portals gespeichert und eventuelle Fehler geloggt.
Windows
Unter Windows kann das Portal mithilfe der Datei “bin/startFastlaneRuntime.bat” gestartet werden. Nach dem Start öffnet sich ein Konsolenfenster, indem die eventuellen Fehlermeldungen ausgegeben werden könnnen. Der Startvorgang kann, je nachdem wie viele Mandanten installiert sind, einige Minuten dauern.
Updaten des Portals
Die Portalupdates stehen als Download einzelner Module auf unserem Download-Server bereit. Hierzu müssen die entsprechenden Module heruntergeladen werden und im Ordner “/portal/deployed_modules” verschoben werden. Dabei muss darauf geachtet werden, dass gleiche Module mit einer älteren Versionsnummer gelöscht werden. Sonst kann es unter umständen passieren, dass beim Starten des Portals das falsche Modul geladen wird.