releasenotes balvi schnittstellenserver€¦ · 2.5.1 die „context.xml“-parameter ... zu bss...
TRANSCRIPT
Isaac-Newton-Straszlige 11
August-Bebel-Straszlige 72
23562 Luumlbeck
14482 Potsdam
Tel +49 451 702 80-0
Tel +49 451 702 80-20
Fax +49 451 702 80-40
Fax +49 331 550 39-22
Releasenotes BALVI Schnittstellenserver (Version 30 vom 23092016)
Inhaltsverzeichnis
1 Allgemeine Aumlnderungen 2 11 Neuerungen in Version 30 2 12 WICHTIGE Hinweise zum Update von aumllteren Versionen (vor 28x) 4 13 Nacharbeiten nach dem Update auf Version 28 (ADMIN) 4 14 Neuerungen in Version 28 5 141 Jeder Schnittstellen-Server benoumltigt eine Kennung bdquoserverIDldquo 5 142 Optional ist nun eine Namensvergabe moumlglich 5 2 Administrator-Einstellungen 7 21 Allgemeine Hinweise zum Betrieb 7 211 Tomcat- und Java-Kompatibilitaumlt 7 212 Nutzung von Java-Proxyeinstellungen 7 213 Spracheinstellung Deutsch 8 214 Datenbankverbindung 8 215 Probleme beim Anlegen von LOB-Objekten 8 216 Umbenennung der gelieferten WAR-Datei 9 217 Server-Schnittstellen 9 22 Kompatibilitaumltsliste 10 23 Erforderliche Bibliotheken fuumlr Tomcat 11 24 Datenbank-Installation 11 241 Erstinstallation Datenbank-User anlegen 12 242 Rechte zuweisen 12 243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich 13 244 Welche Version des Grant-Skripts soll ich nehmen 14 245 Kombination von mehreren Verfahren 14 25 Konfiguration des Schnittstellen-Servers 15 251 Die bdquocontextxmlldquo-Parameter 15 26 Logging mit logback 26 27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner bdquoconfldquo erweitern 26 3 Die neue Browser-Oberflaumlche 27 31 Server-Protokoll 27 32 Jobs 28 33 Log-Ausgaben 28 34 LogoutAbmeldung vom System 29 35 Cache loumlschen 30 4 Einrichtung in BALVI iP 31
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
232
1 Allgemeine Aumlnderungen
Der neue BALVI Schnittstellen-Server (BSS) 30 ersetzt alle ausgelieferten Versionen
Der BSS ist ausschlieszliglich ein Zusatz-Server welcher an eine vorhandene BALVI iP
Datenbank angebunden werden kann um neue automatisierte webbasierte Schnittstellen
zur Verfuumlgung zu stellen
Zu diesen Schnittstellen gehoumlren bislang
BALVI mobil XT ab Version 15
Daten-Export an eFi (BVL nur fuumlr ausgewaumlhlte Test-Bundeslaumlnder)
Bidirektionale Datenaustausch-Schnittstelle zum LIMS
xDomea-konforme DMS-Web-Schnittstelle
Betriebsregister-Schnittstelle zum Abgleich von Betriebsstammdaten
TSK-Meldebogen-Schnittstelle (Sachsen)
Import-Schnittstelle xGewerbeanzeigen des BMWi gem Spez 11
RioPP LM ndash Uumlbernahme der Probenplaumlne (NRW)
Die meisten Schnittstellen koumlnnen durch BALVI dynamisch aktualisiert und erweitert
werden ohne dass dabei der Betrieb von BALVI iP beeinflusst wird In einzelnen Faumlllen ist es
jedoch erforderlich den BSS nach der Aktualisierung bzw Bereitstellung einer neuen
Schnittstelle neu zu starten
Da der BSS bislang als Erweiterung fuumlr BALVI iP konzipiert ist gibt es zusaumltzlich mehrere
BALVI iP Patches welche in die BALVI iP Datenbank eingespielt werden muumlssen um die
diversen Schnittstellen zu aktivieren bzw zu aktualisieren
Das Update des WAR auf die neue Version 30x hat folgende Grundvoraussetzungen
- BALVI iP 1240 (oder houmlher)
- Java 8
- Tomcat 8 (min 8030 oder neuer)
Sollten Sie noch eine aumlltere Version von BALVI iP einsetzen und koumlnnen aus
organisatorischen Gruumlnden nicht auf 1240 oder houmlher aktualisieren kontaktieren Sie bitte
den Support
11 Neuerungen in Version 30
Achtung Der BSS 30 setzt Java 8 voraus Java 7 ist nicht mehr nutzbar
Der BSS 30 beinhaltet alle Funktionalitaumlten des BSS 28 Zusaumltzlich ist es jetzt moumlglich ETL-
Transformation zu verarbeiten die mit der die ETL-Pentaho Engine durch BALVI entwickelt
wurden Damit wird der BSS auf das zukuumlnftige BALVI iP2 vorbereitet In diesem Zuge
wurden diverse Funktionalitaumlten aktualisiert
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
332
Daher muumlssen folgende Anpassungen an der contextxml vorgenommen werden bevor die
Version 30 gestartet werden darf
1) Neuer Parameter isJobServiceEnabled
Der Parameter availableServices wurde durch isJobServiceEnabled ersetzt (siehe
Kapitel 2516) Damit ist der Jobservice standardmaumlssig aktiv Suchen sie
availableServices und entfernen sie diesen
2) Neue Logging-Konfiguration
Zu BSS 30 wurde auf eine neue Logging-Klasse umgestellt (siehe Kapitel 26) Dafuumlr
muss die vorhandene log4j-commserverxml durch die logback-bssxml im Ordner
conf ausgetauscht werden damit der neue APPENDER genutzt werden kann
Entfernen sie log4jConfigLocation und fuumlgen loggingconf hinzu
In der Contextxml muss beim neuen Parameter loggingconf der Pfad zur
logback-bssxml eingetragen werden
3) DataSource-Factory
Ist die Factory noch auf orgapachecommonsdbcpBasicDataSourceFactory
eingestellt aumlndern sie diesen auf orgapachetomcatjdbcpoolDataSourceFactory
commonsdhcp wird nicht mehr von Java 8 unterstuumltzt (siehe Kapitel 2511)
Optional Neue Datenquellen ergaumlnzen
Die erste Schnittstelle welche die neue Funktionalitaumlt benoumltigt ist die Datenuumlbergabe von
Probenplaumlnen aus dem Modul bdquoRioPP LM (NRW)ldquo an BALVI iP1 Da der BSS zukuumlnftig mehrere
Module verbinden wird werden ggf mehrere DataSources benoumltigt je Fachmodul wird
dann eine DataSource durch BALVI benannt
Um ETL-Engine (Kettle) mitzuteilen welche DataSource das auszufuumlhrende Modul benoumltigt
sind folgende Umgebungseinstellungen in die ContextXML einzufuumlgen
Beispiel
ltResource
name=jdbckettleiP1DataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10
maxIdle=5
ltResourcegt
Da Kettle fuumlr die Ausfuumlhrung verschieden Ausfuumlhrungsdateien benoumltigt fuumlgt man zwingend
den Parameter kettlePluginDirectory ein Bei dem Wert value legt man das Verzeichnis fest
wo die entsprechenden Dateien gefunden werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
432
ltEnvironment
name=kettlePluginDirectory
value=hometest_ip2_bsskettleplugins
type=javalangString
override=true
gt
12 WICHTIGE Hinweise zum Update von aumllteren Versionen
(vor 28x)
Bei der Version 280 handelt es sich um ein Feature-Update welches fuumlr mehr Stabilitaumlt
bei der Verwendung von zeitgesteuerten Jobs sorgt
Dabei ist es erforderlich
a) Das beiliegende IP-Patch auszufuumlhren bevor das WAR ausgetauscht wird
Ansonsten wird der folgende Fehler bei der Job-Bearbeitung auftreten
ORA-00904 bdquoSERVER_IDldquo unguumlltiger Bezeichner
b) die vorhandene contextxml zu erweitern und den neuen Environment-Parameter
bdquoserverIDldquo zu ergaumlnzen
c) Die vorhandenen Jobs durch den ADMIN wieder zu aktivieren
Erlaumluterungen zu diesem Parameter finden Sie unter den bdquoNeuerungen in Version 28ldquo
13 Nacharbeiten nach dem Update auf Version 28 (ADMIN)
Sofern Sie schon aktive bdquoJobsldquo im BSS in Verwendung haben werden diese mit dem Update
automatisch deaktiviert da die Jobs nun an den ausfuumlhrenden Server gebunden werden
muumlssen Dieses bdquobindenldquo geschieht indem Sie den Job in der Detailansicht oumlffnen und dort
den Haken hinter bdquoJob an Server bindenldquo setzen und speichern
Danach wird der Job wieder aktiv in der Uumlbersicht angezeigt Diesen Konfigurationsschritt
muumlssen Sie nun jedes Mal durchfuumlhren nachdem die Datenbank von Produktion auf Test
geklont wurde
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
532
14 Neuerungen in Version 28
141 Jeder Schnittstellen-Server benoumltigt eine Kennung bdquoserverIDldquo
Viele Kunden nutzen den Schnittstellenserver mehrfach in Ihrer Umgebung da mehrere
BALVI iP Installationen (zB Produktion und Test) in der Infrastruktur existieren
Da die Schnittstellenkonfiguration fuumlr den BSS in der Datenbank abgelegt wird kam es in
manchen Faumlllen vor dass nach einem Klon der Produktionsdatenbank auf ein Testsystem die
im BSS angelegten Jobs sofort nach dem Start in der Testumgebung wieder angesprungen
sind Um dieses Problem zu beseitigen muss jeder BSS ab Version 28 eine eindeutige
bdquoserverIDldquo zugewiesen bekommen Diese Server-ID wird in daher in der bdquocontextxmlldquo
hinterlegt um neutral zur Datenbank zu sein
Ist keine Environment-Variable bdquoserverIDldquo vorhanden so wird der Start des BSS 28 (oder
houmlher) sofort mit einer Fehlermeldung abgebrochen Im Server-Protokoll wird dabei der
Fehler bdquoERROR [IdentityServiceImpl] serverID must not be emptyrdquo ausgegeben Danach
kommt sofort die Meldung dass der BSS wieder heruntergefahren wird
INFO [localhost-startStop-1] [ContextCreationListener]
BALVI-Schnittstellen-Server
Version 280
hellip
ERROR [localhost-startStop-1] [IdentityServiceImpl] serverID must not be empty
ERROR [localhost-startStop-1] [ContextLoader] Context initialization failed
Um eine ldquoserverIDrdquo zu vergeben fuumlgen Sie in der contextxml folgende Angabe ein
lt--
ID fuumlr den Server
Diese muss pro Schnittstellenserver eindeutig sein
Eine Aumlnderung dieser ID fuumlhrt sofort dazu dass alle
Eingerichteten Server-Jobrsquos inaktiv werden und neu mit
Der Instanz gekoppelt werden muumlssen um wieder aktiviert
werden zu koumlnnen
Als value kann ein Text der max Laumlnge von 32 Zeichen
vergeben werden zB ProductionEnvNode1 fuumlr die Produktion
und TestEnvNode1 fuumlr die Testumgebung
--gt
ltEnvironment
name=serverID
value=ProductionEnvNode1
type=javalangString
override=true
gt
142 Optional ist nun eine Namensvergabe moumlglich
Auf Wunsch mehrerer Kunden wurde die Option geschaffen jedem Server zusaumltzlich einen
kundenspezifischen bdquoTitelldquo zu geben um die Server besser unterscheiden zu koumlnnen
lt--
Visueller Name des Servers in der Oberflaumlche
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
632
(Optional)
--gt
ltEnvironment
name=serverName
value=Testumgebung Tomcat 8 mit Test-DB
type=javalangString
override=true
gt
Der hier angegebene Text wird in der Kopfzeile mit ausgegeben
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
732
2 Administrator-Einstellungen
21 Allgemeine Hinweise zum Betrieb
211 Tomcat- und Java-Kompatibilitaumlt
Der BALVI Schnittstellenserver wurde getestet und freigegeben fuumlr Apache Tomcat 8 (ab
Version 8030 oder neuer) Zudem sind die aktuellste (letzte offizielle) Java 8 (ab Java SE
8u40) getestet worden und koumlnnen verwendet werden
Es wird dringend empfohlen bei Java immer die Version mit den aktuellen
Sicherheitsupdates zu verwenden Beachten Sie dabei jedoch dass nicht die Aktualisierung
auf eine andere Java-Version (zB Java 9) gemeint ist
Freigegebene Major-Versionen werden explizit von BALVI benannt Falls Sie vor haben die
Major-Version zu aumlndern pruumlfen Sie bitte die aktuellen Release-Notes oder kontaktieren die
BALVI Kundenbetreuung
212 Nutzung von Java-Proxyeinstellungen
Der BALVI Schnittstellenserver verwendet fuumlr ausgehende Verbindungen die Java-Net
Einstellungen welche in der Java-Dokumentation1 beschrieben sind Falls sie Jobs
einsetzen welche ausgehenden Zugriff auf Adressen im Internet benoumltigen kann es
passieren dass sie zB eine bdquojavanetUnknownHostExceptionldquo im Protokoll finden dann
muumlssen sie ihre Proxy-Umgebung in den Java-Umgebungseinstellungen ergaumlnzen
Die folgenden Parameter sollte daher in ihrer Umgebung gesetzt werden wenn der Zugriff
auf das Internet nur uumlber einen Proxy moumlglich ist
-DproxySet=true
-DproxyHost=10111213
-DproxyPort=8888
-DhttpnonProxyHosts=domainorg|localhost|10
Bitte beachten sie dass der Server nach einer Aumlnderung neu gestartet werden
muss damit die Einstellungen wirksam werden
2121 Proxy-Einstellung unter Windows (Tomcat-Dienst)
Verwenden Sie bitte das Dienste-Konfigurationsprogramm (zB tomcat7wexe) und
ergaumlnzen Sie die fehlenden Einstellungen
1 httpdocsoraclecomjavase8docstechnotesguidesnetpropertieshtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
832
2122 Proxy-Einstellung unter Linux
In Linux wird in der Konfigurationsdatei (zB conftomcat7conf) die Variable
bdquo$JAVA_OPTSldquo entsprechend erweitert und die Werte uumlbergeben Beachten Sie dabei
bitte dass die Variablen von Linux (bzw der Bash) gelesen werden Daher muss das bdquoPipeldquo-
Zeichen bdquo|ldquo mit bdquoldquo maskiert werden ansonsten erhalten Sie ggf bei der Verarbeitung der
Umgebungsvariable bdquohttpnonProxyHostsldquo Fehlermeldungen in der Linux-Konsole welche
dazu fuumlhren dass das Java nicht korrekt konfiguriert werden kann
JAVA_OPTS=$JAVA_OPTS -DproxySet=true -DproxyHost=10111213 -DproxyPort=8888
JAVA_OPTS=$JAVA_OPTS -DhttpnonProxyHosts=domainorg|localhost|10
213 Spracheinstellung Deutsch
Es wurde festgestellt dass unter einigen Linux-Versionen die Spracheinstellung beim
Starten des Apache Tomcat nicht auf eine deutsche Umgebung verweist Dieses kann
technische Probleme verursachen Unter Linux sollte die Einstellung (Umgebungsvariable)
entsprechend auf LANG=de_DEUTF-8 eingestellt sein
214 Datenbankverbindung
Wenn Sie eine Firewall zwischen dem Oracle-Server und dem Database Connection Pool
(DBCP) verwenden sollte unbedingt die bdquovalidationQueryldquo in der DBCP-Konfiguration
aktiviert werden damit die Anwendung schneller freie Connections aus dem Pool erhalten
kann Die Dokumentation zu den Einstellmoumlglichkeiten ist in der beiliegenden Contextxml
ergaumlnzt worden
Bitte beachten Sie dass dringende empfohlen wird die bdquoFactoryldquo auf
orgapachetomcatjdbcpoolDataSourceFactory anzupassen falls sie noch auf
bdquoorgapachecommonsdbcpBasicDataSourceFactoryldquo eingestellt ist
215 Probleme beim Anlegen von LOB-Objekten
Der BALVI Schnittstellen-Server erfordert die JDBC-Spezifikation DBCP V4 welche durch die
Factory bdquoorgapachetomcatjdbcldquo ab Tomcat 7 automatisch bereitgestellt wird
Wenn die Pooling-Komponente oder der Oracle-Treiber nicht JDBC4-Kompatibel sind gibt es
beim bearbeiten von LOB-Objekten in Java diverse Exceptions zB
Servletservice() for servlet soapws threw exception
javalangAbstractMethodError
orgapachecommonsdbcpPoolingDataSource$PoolGuardConnectionWrappercreateClob()Ljava
sqlClob
at debalvicoreauditspyConnectionSpycreateClob(ConnectionSpyjava511)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
932
Ursache dieses Problem ist meistens dass noch nicht auf bdquoorgapachetomcatjdbcldquo
umgestellt wurde
216 Umbenennung der gelieferten WAR-Datei
Das im Paket von BALVI gelieferte WAR kann jederzeit umbenannt werden (zB als
ROOTwar) ohne dass dabei spezielle Einstellungen in der bdquocontextxmlldquo erforderlich sind
Beachten Sie dabei jedoch dass die zum WAR zugehoumlrige contextxml im Apache Tomcat
immer denselben Namen erhaumllt wie das WAR zB commserverwar und commserverxml
Der Name ist dabei Ausschlaggebend fuumlr die Zugriffs-Adresse (Context) im Apache Tomcat
selbst Die Benennung des WAR in bdquocommserverwarldquo wuumlrde folgendermaszligen aufzurufen
sein httpserverportcommserver
217 Server-Schnittstellen
Die Uumlberarbeitung bzw Erweiterung der Export- und Importschnittstellen welche uumlber den
Schnittstellenserver bereitgestellt werden ist unabhaumlngig vom Schnittstellenserver selbst
Die Schnittstellen sind daher nicht Bestandteile des Schnittstellenserver und werden je
Verfahren separat ausgeliefert Ggf ist es fuumlr unterschiedliche Schnittstellen erforderlich
die Grant-Rechte zu aktualisieren (Vgl bdquoWann ist die Ausfuumlhrung des Grant-Skripts
erforderlichldquo)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1032
22 Kompatibilitaumltsliste
Diverse Verfahren setzen eine Mindestversion des Schnittstellen-Servers voraus Die
Schnittstellen sind jedoch so konzipiert dass eine Aktualisierung auf eine houmlhere Version
des Servers ohne Anpassung an den vorhandenen Schnittstellen jederzeit moumlglich ist
Derzeit sind folgende Mindestanforderungen gegeben
1 Mobil XT 170 oder houmlher setzt Server 265 und BALVI iP 124x voraus
2 Mobil XT 183 oder houmlher setzt Server 281 und BALVI iP 124x voraus
3 Die Schnittstelle eFI setzt Server 251 und BALVI iP 122c voraus
4 Die Schnittstelle LIMS setzt Server 265 voraus
5 Die Schnittstelle TSK (SN) setzt Server 265 voraus
6 Die Schnittstelle xDomea (SN) setzt Server 265 und Java 7 voraus
7 Die Schnittstelle xGewerbeanzeigen setzt Server 281 BALVI iP 124x Java 8 mit
der bdquoJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy2ldquo und
das Grant Skript 158 oder houmlher voraus
8 Die Schnittstelle RioPP LM (NRW) setzt zwingen Server 30x und die ETL-
Konfiguration voraus
2 httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1132
23 Erforderliche Bibliotheken fuumlr Tomcat
Dateiname Funktion Quelle
ojdbc6jar Oracle 11gR2 Clientpaket Oracle JDBC Client fuumlr Java 16 ersetzt die bisherige Version bdquoojdbc14jarldquo Die alte Library muss auf jeden Fall entfernt werden
httpwwworaclecomtechnetworkdatabaseenterprise-editionjdbc-112010-090769html
encrypted-datasource-110-alljar
Die Library muss auf jeden Fall entfernt werden Wird derzeit nicht weiter gepflegt da kein Interesse an der Funktionalitaumlt bestand
slf4j-api-1511jar
slf4j-log4j12-1511jar
log4jdbc4-12beta2jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
commons-dbcp-14jar
commons-pool-154jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
Erwartet wird stattdessen ab Tomcat7 die mitgelieferte bdquotomcat-jdbcjarldquo
log4j-1216jar (oder houmlher)
Logging-Funktionalitaumlt Apache Log4j httploggingapacheorglog4j12downloadhtml
bcprov-jdk15on-153jar (oder houmlher)
BouncyCastle Security Provider fuumlr SSLAES hellip wird ab Version 27 im Ordner bdquolibldquo des Tomcat erwartet Sollte es aus Sicherheitsgruumlnden erwuumlnscht sein eine aktuellere Version einzusetzen ist dieses idR moumlglich
httpmvnrepositorycomartifactorgbouncycastlebcprov-jdk15on153
24 Datenbank-Installation
Der Schnittstellen-Server benoumltigt auszligerhalb des angebundenen BALVI iP keine eigenen
Tabellen Die Web-Anwendung kann im einfachsten Fall direkt auf das Schema von BALVI iP
zugreifen indem der User und das Passwort des BALVI iP-Schemas in der Contextxml
eingetragen werden (nicht empfohlen)
Sollte dieses aus Sicherheitsgruumlnden nicht erwuumlnscht sein (empfohlen vom BSI und BALVI)
finden Sie im Paket ein GRANT-Skript um Zugriffsrechte vom BALVI iP Schema fuumlr den
Webservice-Schema-User einzurichten
Zwischen dem Schema von BALVI iP und jeder Web-Anwendung ist dann eine Trennung
moumlglich um sicherzustellen dass der Datenbank-Benutzer welcher in der Tomcat-
Konfiguration fuumlr die Web-Anwendung eingetragen wird geaumlndert oder geloumlscht werden
kann ohne dass die Windows-Anwendung BALVI iP davon betroffen ist Zudem vergibt das
von BALVI gelieferte Grant-Skript keine Rechte zum Loumlschen von Tabellenstrukturen oder
Tabelleninhalten so dass der Webservice nur festgelegte Daten aumlndern oder lesen darf Es
wird empfohlen je Web-Anwendung einen eigenen Datenbank-Benutzer zu vergeben wenn
sie ein BALVI iP mit mehreren Webservices verbinden wollen
Die Moumlglichkeiten im Uumlberblick
1) Sie betreiben den Webservice mit einem eigenstaumlndigen Oracle-Benutzer In diesem
Fall muss das Grant-Skript ausgefuumlhrt werden um den Webservice-Benutzer und
BALVI iP-Benutzer zu koppeln
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
232
1 Allgemeine Aumlnderungen
Der neue BALVI Schnittstellen-Server (BSS) 30 ersetzt alle ausgelieferten Versionen
Der BSS ist ausschlieszliglich ein Zusatz-Server welcher an eine vorhandene BALVI iP
Datenbank angebunden werden kann um neue automatisierte webbasierte Schnittstellen
zur Verfuumlgung zu stellen
Zu diesen Schnittstellen gehoumlren bislang
BALVI mobil XT ab Version 15
Daten-Export an eFi (BVL nur fuumlr ausgewaumlhlte Test-Bundeslaumlnder)
Bidirektionale Datenaustausch-Schnittstelle zum LIMS
xDomea-konforme DMS-Web-Schnittstelle
Betriebsregister-Schnittstelle zum Abgleich von Betriebsstammdaten
TSK-Meldebogen-Schnittstelle (Sachsen)
Import-Schnittstelle xGewerbeanzeigen des BMWi gem Spez 11
RioPP LM ndash Uumlbernahme der Probenplaumlne (NRW)
Die meisten Schnittstellen koumlnnen durch BALVI dynamisch aktualisiert und erweitert
werden ohne dass dabei der Betrieb von BALVI iP beeinflusst wird In einzelnen Faumlllen ist es
jedoch erforderlich den BSS nach der Aktualisierung bzw Bereitstellung einer neuen
Schnittstelle neu zu starten
Da der BSS bislang als Erweiterung fuumlr BALVI iP konzipiert ist gibt es zusaumltzlich mehrere
BALVI iP Patches welche in die BALVI iP Datenbank eingespielt werden muumlssen um die
diversen Schnittstellen zu aktivieren bzw zu aktualisieren
Das Update des WAR auf die neue Version 30x hat folgende Grundvoraussetzungen
- BALVI iP 1240 (oder houmlher)
- Java 8
- Tomcat 8 (min 8030 oder neuer)
Sollten Sie noch eine aumlltere Version von BALVI iP einsetzen und koumlnnen aus
organisatorischen Gruumlnden nicht auf 1240 oder houmlher aktualisieren kontaktieren Sie bitte
den Support
11 Neuerungen in Version 30
Achtung Der BSS 30 setzt Java 8 voraus Java 7 ist nicht mehr nutzbar
Der BSS 30 beinhaltet alle Funktionalitaumlten des BSS 28 Zusaumltzlich ist es jetzt moumlglich ETL-
Transformation zu verarbeiten die mit der die ETL-Pentaho Engine durch BALVI entwickelt
wurden Damit wird der BSS auf das zukuumlnftige BALVI iP2 vorbereitet In diesem Zuge
wurden diverse Funktionalitaumlten aktualisiert
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
332
Daher muumlssen folgende Anpassungen an der contextxml vorgenommen werden bevor die
Version 30 gestartet werden darf
1) Neuer Parameter isJobServiceEnabled
Der Parameter availableServices wurde durch isJobServiceEnabled ersetzt (siehe
Kapitel 2516) Damit ist der Jobservice standardmaumlssig aktiv Suchen sie
availableServices und entfernen sie diesen
2) Neue Logging-Konfiguration
Zu BSS 30 wurde auf eine neue Logging-Klasse umgestellt (siehe Kapitel 26) Dafuumlr
muss die vorhandene log4j-commserverxml durch die logback-bssxml im Ordner
conf ausgetauscht werden damit der neue APPENDER genutzt werden kann
Entfernen sie log4jConfigLocation und fuumlgen loggingconf hinzu
In der Contextxml muss beim neuen Parameter loggingconf der Pfad zur
logback-bssxml eingetragen werden
3) DataSource-Factory
Ist die Factory noch auf orgapachecommonsdbcpBasicDataSourceFactory
eingestellt aumlndern sie diesen auf orgapachetomcatjdbcpoolDataSourceFactory
commonsdhcp wird nicht mehr von Java 8 unterstuumltzt (siehe Kapitel 2511)
Optional Neue Datenquellen ergaumlnzen
Die erste Schnittstelle welche die neue Funktionalitaumlt benoumltigt ist die Datenuumlbergabe von
Probenplaumlnen aus dem Modul bdquoRioPP LM (NRW)ldquo an BALVI iP1 Da der BSS zukuumlnftig mehrere
Module verbinden wird werden ggf mehrere DataSources benoumltigt je Fachmodul wird
dann eine DataSource durch BALVI benannt
Um ETL-Engine (Kettle) mitzuteilen welche DataSource das auszufuumlhrende Modul benoumltigt
sind folgende Umgebungseinstellungen in die ContextXML einzufuumlgen
Beispiel
ltResource
name=jdbckettleiP1DataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10
maxIdle=5
ltResourcegt
Da Kettle fuumlr die Ausfuumlhrung verschieden Ausfuumlhrungsdateien benoumltigt fuumlgt man zwingend
den Parameter kettlePluginDirectory ein Bei dem Wert value legt man das Verzeichnis fest
wo die entsprechenden Dateien gefunden werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
432
ltEnvironment
name=kettlePluginDirectory
value=hometest_ip2_bsskettleplugins
type=javalangString
override=true
gt
12 WICHTIGE Hinweise zum Update von aumllteren Versionen
(vor 28x)
Bei der Version 280 handelt es sich um ein Feature-Update welches fuumlr mehr Stabilitaumlt
bei der Verwendung von zeitgesteuerten Jobs sorgt
Dabei ist es erforderlich
a) Das beiliegende IP-Patch auszufuumlhren bevor das WAR ausgetauscht wird
Ansonsten wird der folgende Fehler bei der Job-Bearbeitung auftreten
ORA-00904 bdquoSERVER_IDldquo unguumlltiger Bezeichner
b) die vorhandene contextxml zu erweitern und den neuen Environment-Parameter
bdquoserverIDldquo zu ergaumlnzen
c) Die vorhandenen Jobs durch den ADMIN wieder zu aktivieren
Erlaumluterungen zu diesem Parameter finden Sie unter den bdquoNeuerungen in Version 28ldquo
13 Nacharbeiten nach dem Update auf Version 28 (ADMIN)
Sofern Sie schon aktive bdquoJobsldquo im BSS in Verwendung haben werden diese mit dem Update
automatisch deaktiviert da die Jobs nun an den ausfuumlhrenden Server gebunden werden
muumlssen Dieses bdquobindenldquo geschieht indem Sie den Job in der Detailansicht oumlffnen und dort
den Haken hinter bdquoJob an Server bindenldquo setzen und speichern
Danach wird der Job wieder aktiv in der Uumlbersicht angezeigt Diesen Konfigurationsschritt
muumlssen Sie nun jedes Mal durchfuumlhren nachdem die Datenbank von Produktion auf Test
geklont wurde
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
532
14 Neuerungen in Version 28
141 Jeder Schnittstellen-Server benoumltigt eine Kennung bdquoserverIDldquo
Viele Kunden nutzen den Schnittstellenserver mehrfach in Ihrer Umgebung da mehrere
BALVI iP Installationen (zB Produktion und Test) in der Infrastruktur existieren
Da die Schnittstellenkonfiguration fuumlr den BSS in der Datenbank abgelegt wird kam es in
manchen Faumlllen vor dass nach einem Klon der Produktionsdatenbank auf ein Testsystem die
im BSS angelegten Jobs sofort nach dem Start in der Testumgebung wieder angesprungen
sind Um dieses Problem zu beseitigen muss jeder BSS ab Version 28 eine eindeutige
bdquoserverIDldquo zugewiesen bekommen Diese Server-ID wird in daher in der bdquocontextxmlldquo
hinterlegt um neutral zur Datenbank zu sein
Ist keine Environment-Variable bdquoserverIDldquo vorhanden so wird der Start des BSS 28 (oder
houmlher) sofort mit einer Fehlermeldung abgebrochen Im Server-Protokoll wird dabei der
Fehler bdquoERROR [IdentityServiceImpl] serverID must not be emptyrdquo ausgegeben Danach
kommt sofort die Meldung dass der BSS wieder heruntergefahren wird
INFO [localhost-startStop-1] [ContextCreationListener]
BALVI-Schnittstellen-Server
Version 280
hellip
ERROR [localhost-startStop-1] [IdentityServiceImpl] serverID must not be empty
ERROR [localhost-startStop-1] [ContextLoader] Context initialization failed
Um eine ldquoserverIDrdquo zu vergeben fuumlgen Sie in der contextxml folgende Angabe ein
lt--
ID fuumlr den Server
Diese muss pro Schnittstellenserver eindeutig sein
Eine Aumlnderung dieser ID fuumlhrt sofort dazu dass alle
Eingerichteten Server-Jobrsquos inaktiv werden und neu mit
Der Instanz gekoppelt werden muumlssen um wieder aktiviert
werden zu koumlnnen
Als value kann ein Text der max Laumlnge von 32 Zeichen
vergeben werden zB ProductionEnvNode1 fuumlr die Produktion
und TestEnvNode1 fuumlr die Testumgebung
--gt
ltEnvironment
name=serverID
value=ProductionEnvNode1
type=javalangString
override=true
gt
142 Optional ist nun eine Namensvergabe moumlglich
Auf Wunsch mehrerer Kunden wurde die Option geschaffen jedem Server zusaumltzlich einen
kundenspezifischen bdquoTitelldquo zu geben um die Server besser unterscheiden zu koumlnnen
lt--
Visueller Name des Servers in der Oberflaumlche
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
632
(Optional)
--gt
ltEnvironment
name=serverName
value=Testumgebung Tomcat 8 mit Test-DB
type=javalangString
override=true
gt
Der hier angegebene Text wird in der Kopfzeile mit ausgegeben
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
732
2 Administrator-Einstellungen
21 Allgemeine Hinweise zum Betrieb
211 Tomcat- und Java-Kompatibilitaumlt
Der BALVI Schnittstellenserver wurde getestet und freigegeben fuumlr Apache Tomcat 8 (ab
Version 8030 oder neuer) Zudem sind die aktuellste (letzte offizielle) Java 8 (ab Java SE
8u40) getestet worden und koumlnnen verwendet werden
Es wird dringend empfohlen bei Java immer die Version mit den aktuellen
Sicherheitsupdates zu verwenden Beachten Sie dabei jedoch dass nicht die Aktualisierung
auf eine andere Java-Version (zB Java 9) gemeint ist
Freigegebene Major-Versionen werden explizit von BALVI benannt Falls Sie vor haben die
Major-Version zu aumlndern pruumlfen Sie bitte die aktuellen Release-Notes oder kontaktieren die
BALVI Kundenbetreuung
212 Nutzung von Java-Proxyeinstellungen
Der BALVI Schnittstellenserver verwendet fuumlr ausgehende Verbindungen die Java-Net
Einstellungen welche in der Java-Dokumentation1 beschrieben sind Falls sie Jobs
einsetzen welche ausgehenden Zugriff auf Adressen im Internet benoumltigen kann es
passieren dass sie zB eine bdquojavanetUnknownHostExceptionldquo im Protokoll finden dann
muumlssen sie ihre Proxy-Umgebung in den Java-Umgebungseinstellungen ergaumlnzen
Die folgenden Parameter sollte daher in ihrer Umgebung gesetzt werden wenn der Zugriff
auf das Internet nur uumlber einen Proxy moumlglich ist
-DproxySet=true
-DproxyHost=10111213
-DproxyPort=8888
-DhttpnonProxyHosts=domainorg|localhost|10
Bitte beachten sie dass der Server nach einer Aumlnderung neu gestartet werden
muss damit die Einstellungen wirksam werden
2121 Proxy-Einstellung unter Windows (Tomcat-Dienst)
Verwenden Sie bitte das Dienste-Konfigurationsprogramm (zB tomcat7wexe) und
ergaumlnzen Sie die fehlenden Einstellungen
1 httpdocsoraclecomjavase8docstechnotesguidesnetpropertieshtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
832
2122 Proxy-Einstellung unter Linux
In Linux wird in der Konfigurationsdatei (zB conftomcat7conf) die Variable
bdquo$JAVA_OPTSldquo entsprechend erweitert und die Werte uumlbergeben Beachten Sie dabei
bitte dass die Variablen von Linux (bzw der Bash) gelesen werden Daher muss das bdquoPipeldquo-
Zeichen bdquo|ldquo mit bdquoldquo maskiert werden ansonsten erhalten Sie ggf bei der Verarbeitung der
Umgebungsvariable bdquohttpnonProxyHostsldquo Fehlermeldungen in der Linux-Konsole welche
dazu fuumlhren dass das Java nicht korrekt konfiguriert werden kann
JAVA_OPTS=$JAVA_OPTS -DproxySet=true -DproxyHost=10111213 -DproxyPort=8888
JAVA_OPTS=$JAVA_OPTS -DhttpnonProxyHosts=domainorg|localhost|10
213 Spracheinstellung Deutsch
Es wurde festgestellt dass unter einigen Linux-Versionen die Spracheinstellung beim
Starten des Apache Tomcat nicht auf eine deutsche Umgebung verweist Dieses kann
technische Probleme verursachen Unter Linux sollte die Einstellung (Umgebungsvariable)
entsprechend auf LANG=de_DEUTF-8 eingestellt sein
214 Datenbankverbindung
Wenn Sie eine Firewall zwischen dem Oracle-Server und dem Database Connection Pool
(DBCP) verwenden sollte unbedingt die bdquovalidationQueryldquo in der DBCP-Konfiguration
aktiviert werden damit die Anwendung schneller freie Connections aus dem Pool erhalten
kann Die Dokumentation zu den Einstellmoumlglichkeiten ist in der beiliegenden Contextxml
ergaumlnzt worden
Bitte beachten Sie dass dringende empfohlen wird die bdquoFactoryldquo auf
orgapachetomcatjdbcpoolDataSourceFactory anzupassen falls sie noch auf
bdquoorgapachecommonsdbcpBasicDataSourceFactoryldquo eingestellt ist
215 Probleme beim Anlegen von LOB-Objekten
Der BALVI Schnittstellen-Server erfordert die JDBC-Spezifikation DBCP V4 welche durch die
Factory bdquoorgapachetomcatjdbcldquo ab Tomcat 7 automatisch bereitgestellt wird
Wenn die Pooling-Komponente oder der Oracle-Treiber nicht JDBC4-Kompatibel sind gibt es
beim bearbeiten von LOB-Objekten in Java diverse Exceptions zB
Servletservice() for servlet soapws threw exception
javalangAbstractMethodError
orgapachecommonsdbcpPoolingDataSource$PoolGuardConnectionWrappercreateClob()Ljava
sqlClob
at debalvicoreauditspyConnectionSpycreateClob(ConnectionSpyjava511)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
932
Ursache dieses Problem ist meistens dass noch nicht auf bdquoorgapachetomcatjdbcldquo
umgestellt wurde
216 Umbenennung der gelieferten WAR-Datei
Das im Paket von BALVI gelieferte WAR kann jederzeit umbenannt werden (zB als
ROOTwar) ohne dass dabei spezielle Einstellungen in der bdquocontextxmlldquo erforderlich sind
Beachten Sie dabei jedoch dass die zum WAR zugehoumlrige contextxml im Apache Tomcat
immer denselben Namen erhaumllt wie das WAR zB commserverwar und commserverxml
Der Name ist dabei Ausschlaggebend fuumlr die Zugriffs-Adresse (Context) im Apache Tomcat
selbst Die Benennung des WAR in bdquocommserverwarldquo wuumlrde folgendermaszligen aufzurufen
sein httpserverportcommserver
217 Server-Schnittstellen
Die Uumlberarbeitung bzw Erweiterung der Export- und Importschnittstellen welche uumlber den
Schnittstellenserver bereitgestellt werden ist unabhaumlngig vom Schnittstellenserver selbst
Die Schnittstellen sind daher nicht Bestandteile des Schnittstellenserver und werden je
Verfahren separat ausgeliefert Ggf ist es fuumlr unterschiedliche Schnittstellen erforderlich
die Grant-Rechte zu aktualisieren (Vgl bdquoWann ist die Ausfuumlhrung des Grant-Skripts
erforderlichldquo)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1032
22 Kompatibilitaumltsliste
Diverse Verfahren setzen eine Mindestversion des Schnittstellen-Servers voraus Die
Schnittstellen sind jedoch so konzipiert dass eine Aktualisierung auf eine houmlhere Version
des Servers ohne Anpassung an den vorhandenen Schnittstellen jederzeit moumlglich ist
Derzeit sind folgende Mindestanforderungen gegeben
1 Mobil XT 170 oder houmlher setzt Server 265 und BALVI iP 124x voraus
2 Mobil XT 183 oder houmlher setzt Server 281 und BALVI iP 124x voraus
3 Die Schnittstelle eFI setzt Server 251 und BALVI iP 122c voraus
4 Die Schnittstelle LIMS setzt Server 265 voraus
5 Die Schnittstelle TSK (SN) setzt Server 265 voraus
6 Die Schnittstelle xDomea (SN) setzt Server 265 und Java 7 voraus
7 Die Schnittstelle xGewerbeanzeigen setzt Server 281 BALVI iP 124x Java 8 mit
der bdquoJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy2ldquo und
das Grant Skript 158 oder houmlher voraus
8 Die Schnittstelle RioPP LM (NRW) setzt zwingen Server 30x und die ETL-
Konfiguration voraus
2 httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1132
23 Erforderliche Bibliotheken fuumlr Tomcat
Dateiname Funktion Quelle
ojdbc6jar Oracle 11gR2 Clientpaket Oracle JDBC Client fuumlr Java 16 ersetzt die bisherige Version bdquoojdbc14jarldquo Die alte Library muss auf jeden Fall entfernt werden
httpwwworaclecomtechnetworkdatabaseenterprise-editionjdbc-112010-090769html
encrypted-datasource-110-alljar
Die Library muss auf jeden Fall entfernt werden Wird derzeit nicht weiter gepflegt da kein Interesse an der Funktionalitaumlt bestand
slf4j-api-1511jar
slf4j-log4j12-1511jar
log4jdbc4-12beta2jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
commons-dbcp-14jar
commons-pool-154jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
Erwartet wird stattdessen ab Tomcat7 die mitgelieferte bdquotomcat-jdbcjarldquo
log4j-1216jar (oder houmlher)
Logging-Funktionalitaumlt Apache Log4j httploggingapacheorglog4j12downloadhtml
bcprov-jdk15on-153jar (oder houmlher)
BouncyCastle Security Provider fuumlr SSLAES hellip wird ab Version 27 im Ordner bdquolibldquo des Tomcat erwartet Sollte es aus Sicherheitsgruumlnden erwuumlnscht sein eine aktuellere Version einzusetzen ist dieses idR moumlglich
httpmvnrepositorycomartifactorgbouncycastlebcprov-jdk15on153
24 Datenbank-Installation
Der Schnittstellen-Server benoumltigt auszligerhalb des angebundenen BALVI iP keine eigenen
Tabellen Die Web-Anwendung kann im einfachsten Fall direkt auf das Schema von BALVI iP
zugreifen indem der User und das Passwort des BALVI iP-Schemas in der Contextxml
eingetragen werden (nicht empfohlen)
Sollte dieses aus Sicherheitsgruumlnden nicht erwuumlnscht sein (empfohlen vom BSI und BALVI)
finden Sie im Paket ein GRANT-Skript um Zugriffsrechte vom BALVI iP Schema fuumlr den
Webservice-Schema-User einzurichten
Zwischen dem Schema von BALVI iP und jeder Web-Anwendung ist dann eine Trennung
moumlglich um sicherzustellen dass der Datenbank-Benutzer welcher in der Tomcat-
Konfiguration fuumlr die Web-Anwendung eingetragen wird geaumlndert oder geloumlscht werden
kann ohne dass die Windows-Anwendung BALVI iP davon betroffen ist Zudem vergibt das
von BALVI gelieferte Grant-Skript keine Rechte zum Loumlschen von Tabellenstrukturen oder
Tabelleninhalten so dass der Webservice nur festgelegte Daten aumlndern oder lesen darf Es
wird empfohlen je Web-Anwendung einen eigenen Datenbank-Benutzer zu vergeben wenn
sie ein BALVI iP mit mehreren Webservices verbinden wollen
Die Moumlglichkeiten im Uumlberblick
1) Sie betreiben den Webservice mit einem eigenstaumlndigen Oracle-Benutzer In diesem
Fall muss das Grant-Skript ausgefuumlhrt werden um den Webservice-Benutzer und
BALVI iP-Benutzer zu koppeln
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
332
Daher muumlssen folgende Anpassungen an der contextxml vorgenommen werden bevor die
Version 30 gestartet werden darf
1) Neuer Parameter isJobServiceEnabled
Der Parameter availableServices wurde durch isJobServiceEnabled ersetzt (siehe
Kapitel 2516) Damit ist der Jobservice standardmaumlssig aktiv Suchen sie
availableServices und entfernen sie diesen
2) Neue Logging-Konfiguration
Zu BSS 30 wurde auf eine neue Logging-Klasse umgestellt (siehe Kapitel 26) Dafuumlr
muss die vorhandene log4j-commserverxml durch die logback-bssxml im Ordner
conf ausgetauscht werden damit der neue APPENDER genutzt werden kann
Entfernen sie log4jConfigLocation und fuumlgen loggingconf hinzu
In der Contextxml muss beim neuen Parameter loggingconf der Pfad zur
logback-bssxml eingetragen werden
3) DataSource-Factory
Ist die Factory noch auf orgapachecommonsdbcpBasicDataSourceFactory
eingestellt aumlndern sie diesen auf orgapachetomcatjdbcpoolDataSourceFactory
commonsdhcp wird nicht mehr von Java 8 unterstuumltzt (siehe Kapitel 2511)
Optional Neue Datenquellen ergaumlnzen
Die erste Schnittstelle welche die neue Funktionalitaumlt benoumltigt ist die Datenuumlbergabe von
Probenplaumlnen aus dem Modul bdquoRioPP LM (NRW)ldquo an BALVI iP1 Da der BSS zukuumlnftig mehrere
Module verbinden wird werden ggf mehrere DataSources benoumltigt je Fachmodul wird
dann eine DataSource durch BALVI benannt
Um ETL-Engine (Kettle) mitzuteilen welche DataSource das auszufuumlhrende Modul benoumltigt
sind folgende Umgebungseinstellungen in die ContextXML einzufuumlgen
Beispiel
ltResource
name=jdbckettleiP1DataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10
maxIdle=5
ltResourcegt
Da Kettle fuumlr die Ausfuumlhrung verschieden Ausfuumlhrungsdateien benoumltigt fuumlgt man zwingend
den Parameter kettlePluginDirectory ein Bei dem Wert value legt man das Verzeichnis fest
wo die entsprechenden Dateien gefunden werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
432
ltEnvironment
name=kettlePluginDirectory
value=hometest_ip2_bsskettleplugins
type=javalangString
override=true
gt
12 WICHTIGE Hinweise zum Update von aumllteren Versionen
(vor 28x)
Bei der Version 280 handelt es sich um ein Feature-Update welches fuumlr mehr Stabilitaumlt
bei der Verwendung von zeitgesteuerten Jobs sorgt
Dabei ist es erforderlich
a) Das beiliegende IP-Patch auszufuumlhren bevor das WAR ausgetauscht wird
Ansonsten wird der folgende Fehler bei der Job-Bearbeitung auftreten
ORA-00904 bdquoSERVER_IDldquo unguumlltiger Bezeichner
b) die vorhandene contextxml zu erweitern und den neuen Environment-Parameter
bdquoserverIDldquo zu ergaumlnzen
c) Die vorhandenen Jobs durch den ADMIN wieder zu aktivieren
Erlaumluterungen zu diesem Parameter finden Sie unter den bdquoNeuerungen in Version 28ldquo
13 Nacharbeiten nach dem Update auf Version 28 (ADMIN)
Sofern Sie schon aktive bdquoJobsldquo im BSS in Verwendung haben werden diese mit dem Update
automatisch deaktiviert da die Jobs nun an den ausfuumlhrenden Server gebunden werden
muumlssen Dieses bdquobindenldquo geschieht indem Sie den Job in der Detailansicht oumlffnen und dort
den Haken hinter bdquoJob an Server bindenldquo setzen und speichern
Danach wird der Job wieder aktiv in der Uumlbersicht angezeigt Diesen Konfigurationsschritt
muumlssen Sie nun jedes Mal durchfuumlhren nachdem die Datenbank von Produktion auf Test
geklont wurde
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
532
14 Neuerungen in Version 28
141 Jeder Schnittstellen-Server benoumltigt eine Kennung bdquoserverIDldquo
Viele Kunden nutzen den Schnittstellenserver mehrfach in Ihrer Umgebung da mehrere
BALVI iP Installationen (zB Produktion und Test) in der Infrastruktur existieren
Da die Schnittstellenkonfiguration fuumlr den BSS in der Datenbank abgelegt wird kam es in
manchen Faumlllen vor dass nach einem Klon der Produktionsdatenbank auf ein Testsystem die
im BSS angelegten Jobs sofort nach dem Start in der Testumgebung wieder angesprungen
sind Um dieses Problem zu beseitigen muss jeder BSS ab Version 28 eine eindeutige
bdquoserverIDldquo zugewiesen bekommen Diese Server-ID wird in daher in der bdquocontextxmlldquo
hinterlegt um neutral zur Datenbank zu sein
Ist keine Environment-Variable bdquoserverIDldquo vorhanden so wird der Start des BSS 28 (oder
houmlher) sofort mit einer Fehlermeldung abgebrochen Im Server-Protokoll wird dabei der
Fehler bdquoERROR [IdentityServiceImpl] serverID must not be emptyrdquo ausgegeben Danach
kommt sofort die Meldung dass der BSS wieder heruntergefahren wird
INFO [localhost-startStop-1] [ContextCreationListener]
BALVI-Schnittstellen-Server
Version 280
hellip
ERROR [localhost-startStop-1] [IdentityServiceImpl] serverID must not be empty
ERROR [localhost-startStop-1] [ContextLoader] Context initialization failed
Um eine ldquoserverIDrdquo zu vergeben fuumlgen Sie in der contextxml folgende Angabe ein
lt--
ID fuumlr den Server
Diese muss pro Schnittstellenserver eindeutig sein
Eine Aumlnderung dieser ID fuumlhrt sofort dazu dass alle
Eingerichteten Server-Jobrsquos inaktiv werden und neu mit
Der Instanz gekoppelt werden muumlssen um wieder aktiviert
werden zu koumlnnen
Als value kann ein Text der max Laumlnge von 32 Zeichen
vergeben werden zB ProductionEnvNode1 fuumlr die Produktion
und TestEnvNode1 fuumlr die Testumgebung
--gt
ltEnvironment
name=serverID
value=ProductionEnvNode1
type=javalangString
override=true
gt
142 Optional ist nun eine Namensvergabe moumlglich
Auf Wunsch mehrerer Kunden wurde die Option geschaffen jedem Server zusaumltzlich einen
kundenspezifischen bdquoTitelldquo zu geben um die Server besser unterscheiden zu koumlnnen
lt--
Visueller Name des Servers in der Oberflaumlche
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
632
(Optional)
--gt
ltEnvironment
name=serverName
value=Testumgebung Tomcat 8 mit Test-DB
type=javalangString
override=true
gt
Der hier angegebene Text wird in der Kopfzeile mit ausgegeben
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
732
2 Administrator-Einstellungen
21 Allgemeine Hinweise zum Betrieb
211 Tomcat- und Java-Kompatibilitaumlt
Der BALVI Schnittstellenserver wurde getestet und freigegeben fuumlr Apache Tomcat 8 (ab
Version 8030 oder neuer) Zudem sind die aktuellste (letzte offizielle) Java 8 (ab Java SE
8u40) getestet worden und koumlnnen verwendet werden
Es wird dringend empfohlen bei Java immer die Version mit den aktuellen
Sicherheitsupdates zu verwenden Beachten Sie dabei jedoch dass nicht die Aktualisierung
auf eine andere Java-Version (zB Java 9) gemeint ist
Freigegebene Major-Versionen werden explizit von BALVI benannt Falls Sie vor haben die
Major-Version zu aumlndern pruumlfen Sie bitte die aktuellen Release-Notes oder kontaktieren die
BALVI Kundenbetreuung
212 Nutzung von Java-Proxyeinstellungen
Der BALVI Schnittstellenserver verwendet fuumlr ausgehende Verbindungen die Java-Net
Einstellungen welche in der Java-Dokumentation1 beschrieben sind Falls sie Jobs
einsetzen welche ausgehenden Zugriff auf Adressen im Internet benoumltigen kann es
passieren dass sie zB eine bdquojavanetUnknownHostExceptionldquo im Protokoll finden dann
muumlssen sie ihre Proxy-Umgebung in den Java-Umgebungseinstellungen ergaumlnzen
Die folgenden Parameter sollte daher in ihrer Umgebung gesetzt werden wenn der Zugriff
auf das Internet nur uumlber einen Proxy moumlglich ist
-DproxySet=true
-DproxyHost=10111213
-DproxyPort=8888
-DhttpnonProxyHosts=domainorg|localhost|10
Bitte beachten sie dass der Server nach einer Aumlnderung neu gestartet werden
muss damit die Einstellungen wirksam werden
2121 Proxy-Einstellung unter Windows (Tomcat-Dienst)
Verwenden Sie bitte das Dienste-Konfigurationsprogramm (zB tomcat7wexe) und
ergaumlnzen Sie die fehlenden Einstellungen
1 httpdocsoraclecomjavase8docstechnotesguidesnetpropertieshtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
832
2122 Proxy-Einstellung unter Linux
In Linux wird in der Konfigurationsdatei (zB conftomcat7conf) die Variable
bdquo$JAVA_OPTSldquo entsprechend erweitert und die Werte uumlbergeben Beachten Sie dabei
bitte dass die Variablen von Linux (bzw der Bash) gelesen werden Daher muss das bdquoPipeldquo-
Zeichen bdquo|ldquo mit bdquoldquo maskiert werden ansonsten erhalten Sie ggf bei der Verarbeitung der
Umgebungsvariable bdquohttpnonProxyHostsldquo Fehlermeldungen in der Linux-Konsole welche
dazu fuumlhren dass das Java nicht korrekt konfiguriert werden kann
JAVA_OPTS=$JAVA_OPTS -DproxySet=true -DproxyHost=10111213 -DproxyPort=8888
JAVA_OPTS=$JAVA_OPTS -DhttpnonProxyHosts=domainorg|localhost|10
213 Spracheinstellung Deutsch
Es wurde festgestellt dass unter einigen Linux-Versionen die Spracheinstellung beim
Starten des Apache Tomcat nicht auf eine deutsche Umgebung verweist Dieses kann
technische Probleme verursachen Unter Linux sollte die Einstellung (Umgebungsvariable)
entsprechend auf LANG=de_DEUTF-8 eingestellt sein
214 Datenbankverbindung
Wenn Sie eine Firewall zwischen dem Oracle-Server und dem Database Connection Pool
(DBCP) verwenden sollte unbedingt die bdquovalidationQueryldquo in der DBCP-Konfiguration
aktiviert werden damit die Anwendung schneller freie Connections aus dem Pool erhalten
kann Die Dokumentation zu den Einstellmoumlglichkeiten ist in der beiliegenden Contextxml
ergaumlnzt worden
Bitte beachten Sie dass dringende empfohlen wird die bdquoFactoryldquo auf
orgapachetomcatjdbcpoolDataSourceFactory anzupassen falls sie noch auf
bdquoorgapachecommonsdbcpBasicDataSourceFactoryldquo eingestellt ist
215 Probleme beim Anlegen von LOB-Objekten
Der BALVI Schnittstellen-Server erfordert die JDBC-Spezifikation DBCP V4 welche durch die
Factory bdquoorgapachetomcatjdbcldquo ab Tomcat 7 automatisch bereitgestellt wird
Wenn die Pooling-Komponente oder der Oracle-Treiber nicht JDBC4-Kompatibel sind gibt es
beim bearbeiten von LOB-Objekten in Java diverse Exceptions zB
Servletservice() for servlet soapws threw exception
javalangAbstractMethodError
orgapachecommonsdbcpPoolingDataSource$PoolGuardConnectionWrappercreateClob()Ljava
sqlClob
at debalvicoreauditspyConnectionSpycreateClob(ConnectionSpyjava511)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
932
Ursache dieses Problem ist meistens dass noch nicht auf bdquoorgapachetomcatjdbcldquo
umgestellt wurde
216 Umbenennung der gelieferten WAR-Datei
Das im Paket von BALVI gelieferte WAR kann jederzeit umbenannt werden (zB als
ROOTwar) ohne dass dabei spezielle Einstellungen in der bdquocontextxmlldquo erforderlich sind
Beachten Sie dabei jedoch dass die zum WAR zugehoumlrige contextxml im Apache Tomcat
immer denselben Namen erhaumllt wie das WAR zB commserverwar und commserverxml
Der Name ist dabei Ausschlaggebend fuumlr die Zugriffs-Adresse (Context) im Apache Tomcat
selbst Die Benennung des WAR in bdquocommserverwarldquo wuumlrde folgendermaszligen aufzurufen
sein httpserverportcommserver
217 Server-Schnittstellen
Die Uumlberarbeitung bzw Erweiterung der Export- und Importschnittstellen welche uumlber den
Schnittstellenserver bereitgestellt werden ist unabhaumlngig vom Schnittstellenserver selbst
Die Schnittstellen sind daher nicht Bestandteile des Schnittstellenserver und werden je
Verfahren separat ausgeliefert Ggf ist es fuumlr unterschiedliche Schnittstellen erforderlich
die Grant-Rechte zu aktualisieren (Vgl bdquoWann ist die Ausfuumlhrung des Grant-Skripts
erforderlichldquo)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1032
22 Kompatibilitaumltsliste
Diverse Verfahren setzen eine Mindestversion des Schnittstellen-Servers voraus Die
Schnittstellen sind jedoch so konzipiert dass eine Aktualisierung auf eine houmlhere Version
des Servers ohne Anpassung an den vorhandenen Schnittstellen jederzeit moumlglich ist
Derzeit sind folgende Mindestanforderungen gegeben
1 Mobil XT 170 oder houmlher setzt Server 265 und BALVI iP 124x voraus
2 Mobil XT 183 oder houmlher setzt Server 281 und BALVI iP 124x voraus
3 Die Schnittstelle eFI setzt Server 251 und BALVI iP 122c voraus
4 Die Schnittstelle LIMS setzt Server 265 voraus
5 Die Schnittstelle TSK (SN) setzt Server 265 voraus
6 Die Schnittstelle xDomea (SN) setzt Server 265 und Java 7 voraus
7 Die Schnittstelle xGewerbeanzeigen setzt Server 281 BALVI iP 124x Java 8 mit
der bdquoJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy2ldquo und
das Grant Skript 158 oder houmlher voraus
8 Die Schnittstelle RioPP LM (NRW) setzt zwingen Server 30x und die ETL-
Konfiguration voraus
2 httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1132
23 Erforderliche Bibliotheken fuumlr Tomcat
Dateiname Funktion Quelle
ojdbc6jar Oracle 11gR2 Clientpaket Oracle JDBC Client fuumlr Java 16 ersetzt die bisherige Version bdquoojdbc14jarldquo Die alte Library muss auf jeden Fall entfernt werden
httpwwworaclecomtechnetworkdatabaseenterprise-editionjdbc-112010-090769html
encrypted-datasource-110-alljar
Die Library muss auf jeden Fall entfernt werden Wird derzeit nicht weiter gepflegt da kein Interesse an der Funktionalitaumlt bestand
slf4j-api-1511jar
slf4j-log4j12-1511jar
log4jdbc4-12beta2jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
commons-dbcp-14jar
commons-pool-154jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
Erwartet wird stattdessen ab Tomcat7 die mitgelieferte bdquotomcat-jdbcjarldquo
log4j-1216jar (oder houmlher)
Logging-Funktionalitaumlt Apache Log4j httploggingapacheorglog4j12downloadhtml
bcprov-jdk15on-153jar (oder houmlher)
BouncyCastle Security Provider fuumlr SSLAES hellip wird ab Version 27 im Ordner bdquolibldquo des Tomcat erwartet Sollte es aus Sicherheitsgruumlnden erwuumlnscht sein eine aktuellere Version einzusetzen ist dieses idR moumlglich
httpmvnrepositorycomartifactorgbouncycastlebcprov-jdk15on153
24 Datenbank-Installation
Der Schnittstellen-Server benoumltigt auszligerhalb des angebundenen BALVI iP keine eigenen
Tabellen Die Web-Anwendung kann im einfachsten Fall direkt auf das Schema von BALVI iP
zugreifen indem der User und das Passwort des BALVI iP-Schemas in der Contextxml
eingetragen werden (nicht empfohlen)
Sollte dieses aus Sicherheitsgruumlnden nicht erwuumlnscht sein (empfohlen vom BSI und BALVI)
finden Sie im Paket ein GRANT-Skript um Zugriffsrechte vom BALVI iP Schema fuumlr den
Webservice-Schema-User einzurichten
Zwischen dem Schema von BALVI iP und jeder Web-Anwendung ist dann eine Trennung
moumlglich um sicherzustellen dass der Datenbank-Benutzer welcher in der Tomcat-
Konfiguration fuumlr die Web-Anwendung eingetragen wird geaumlndert oder geloumlscht werden
kann ohne dass die Windows-Anwendung BALVI iP davon betroffen ist Zudem vergibt das
von BALVI gelieferte Grant-Skript keine Rechte zum Loumlschen von Tabellenstrukturen oder
Tabelleninhalten so dass der Webservice nur festgelegte Daten aumlndern oder lesen darf Es
wird empfohlen je Web-Anwendung einen eigenen Datenbank-Benutzer zu vergeben wenn
sie ein BALVI iP mit mehreren Webservices verbinden wollen
Die Moumlglichkeiten im Uumlberblick
1) Sie betreiben den Webservice mit einem eigenstaumlndigen Oracle-Benutzer In diesem
Fall muss das Grant-Skript ausgefuumlhrt werden um den Webservice-Benutzer und
BALVI iP-Benutzer zu koppeln
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
432
ltEnvironment
name=kettlePluginDirectory
value=hometest_ip2_bsskettleplugins
type=javalangString
override=true
gt
12 WICHTIGE Hinweise zum Update von aumllteren Versionen
(vor 28x)
Bei der Version 280 handelt es sich um ein Feature-Update welches fuumlr mehr Stabilitaumlt
bei der Verwendung von zeitgesteuerten Jobs sorgt
Dabei ist es erforderlich
a) Das beiliegende IP-Patch auszufuumlhren bevor das WAR ausgetauscht wird
Ansonsten wird der folgende Fehler bei der Job-Bearbeitung auftreten
ORA-00904 bdquoSERVER_IDldquo unguumlltiger Bezeichner
b) die vorhandene contextxml zu erweitern und den neuen Environment-Parameter
bdquoserverIDldquo zu ergaumlnzen
c) Die vorhandenen Jobs durch den ADMIN wieder zu aktivieren
Erlaumluterungen zu diesem Parameter finden Sie unter den bdquoNeuerungen in Version 28ldquo
13 Nacharbeiten nach dem Update auf Version 28 (ADMIN)
Sofern Sie schon aktive bdquoJobsldquo im BSS in Verwendung haben werden diese mit dem Update
automatisch deaktiviert da die Jobs nun an den ausfuumlhrenden Server gebunden werden
muumlssen Dieses bdquobindenldquo geschieht indem Sie den Job in der Detailansicht oumlffnen und dort
den Haken hinter bdquoJob an Server bindenldquo setzen und speichern
Danach wird der Job wieder aktiv in der Uumlbersicht angezeigt Diesen Konfigurationsschritt
muumlssen Sie nun jedes Mal durchfuumlhren nachdem die Datenbank von Produktion auf Test
geklont wurde
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
532
14 Neuerungen in Version 28
141 Jeder Schnittstellen-Server benoumltigt eine Kennung bdquoserverIDldquo
Viele Kunden nutzen den Schnittstellenserver mehrfach in Ihrer Umgebung da mehrere
BALVI iP Installationen (zB Produktion und Test) in der Infrastruktur existieren
Da die Schnittstellenkonfiguration fuumlr den BSS in der Datenbank abgelegt wird kam es in
manchen Faumlllen vor dass nach einem Klon der Produktionsdatenbank auf ein Testsystem die
im BSS angelegten Jobs sofort nach dem Start in der Testumgebung wieder angesprungen
sind Um dieses Problem zu beseitigen muss jeder BSS ab Version 28 eine eindeutige
bdquoserverIDldquo zugewiesen bekommen Diese Server-ID wird in daher in der bdquocontextxmlldquo
hinterlegt um neutral zur Datenbank zu sein
Ist keine Environment-Variable bdquoserverIDldquo vorhanden so wird der Start des BSS 28 (oder
houmlher) sofort mit einer Fehlermeldung abgebrochen Im Server-Protokoll wird dabei der
Fehler bdquoERROR [IdentityServiceImpl] serverID must not be emptyrdquo ausgegeben Danach
kommt sofort die Meldung dass der BSS wieder heruntergefahren wird
INFO [localhost-startStop-1] [ContextCreationListener]
BALVI-Schnittstellen-Server
Version 280
hellip
ERROR [localhost-startStop-1] [IdentityServiceImpl] serverID must not be empty
ERROR [localhost-startStop-1] [ContextLoader] Context initialization failed
Um eine ldquoserverIDrdquo zu vergeben fuumlgen Sie in der contextxml folgende Angabe ein
lt--
ID fuumlr den Server
Diese muss pro Schnittstellenserver eindeutig sein
Eine Aumlnderung dieser ID fuumlhrt sofort dazu dass alle
Eingerichteten Server-Jobrsquos inaktiv werden und neu mit
Der Instanz gekoppelt werden muumlssen um wieder aktiviert
werden zu koumlnnen
Als value kann ein Text der max Laumlnge von 32 Zeichen
vergeben werden zB ProductionEnvNode1 fuumlr die Produktion
und TestEnvNode1 fuumlr die Testumgebung
--gt
ltEnvironment
name=serverID
value=ProductionEnvNode1
type=javalangString
override=true
gt
142 Optional ist nun eine Namensvergabe moumlglich
Auf Wunsch mehrerer Kunden wurde die Option geschaffen jedem Server zusaumltzlich einen
kundenspezifischen bdquoTitelldquo zu geben um die Server besser unterscheiden zu koumlnnen
lt--
Visueller Name des Servers in der Oberflaumlche
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
632
(Optional)
--gt
ltEnvironment
name=serverName
value=Testumgebung Tomcat 8 mit Test-DB
type=javalangString
override=true
gt
Der hier angegebene Text wird in der Kopfzeile mit ausgegeben
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
732
2 Administrator-Einstellungen
21 Allgemeine Hinweise zum Betrieb
211 Tomcat- und Java-Kompatibilitaumlt
Der BALVI Schnittstellenserver wurde getestet und freigegeben fuumlr Apache Tomcat 8 (ab
Version 8030 oder neuer) Zudem sind die aktuellste (letzte offizielle) Java 8 (ab Java SE
8u40) getestet worden und koumlnnen verwendet werden
Es wird dringend empfohlen bei Java immer die Version mit den aktuellen
Sicherheitsupdates zu verwenden Beachten Sie dabei jedoch dass nicht die Aktualisierung
auf eine andere Java-Version (zB Java 9) gemeint ist
Freigegebene Major-Versionen werden explizit von BALVI benannt Falls Sie vor haben die
Major-Version zu aumlndern pruumlfen Sie bitte die aktuellen Release-Notes oder kontaktieren die
BALVI Kundenbetreuung
212 Nutzung von Java-Proxyeinstellungen
Der BALVI Schnittstellenserver verwendet fuumlr ausgehende Verbindungen die Java-Net
Einstellungen welche in der Java-Dokumentation1 beschrieben sind Falls sie Jobs
einsetzen welche ausgehenden Zugriff auf Adressen im Internet benoumltigen kann es
passieren dass sie zB eine bdquojavanetUnknownHostExceptionldquo im Protokoll finden dann
muumlssen sie ihre Proxy-Umgebung in den Java-Umgebungseinstellungen ergaumlnzen
Die folgenden Parameter sollte daher in ihrer Umgebung gesetzt werden wenn der Zugriff
auf das Internet nur uumlber einen Proxy moumlglich ist
-DproxySet=true
-DproxyHost=10111213
-DproxyPort=8888
-DhttpnonProxyHosts=domainorg|localhost|10
Bitte beachten sie dass der Server nach einer Aumlnderung neu gestartet werden
muss damit die Einstellungen wirksam werden
2121 Proxy-Einstellung unter Windows (Tomcat-Dienst)
Verwenden Sie bitte das Dienste-Konfigurationsprogramm (zB tomcat7wexe) und
ergaumlnzen Sie die fehlenden Einstellungen
1 httpdocsoraclecomjavase8docstechnotesguidesnetpropertieshtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
832
2122 Proxy-Einstellung unter Linux
In Linux wird in der Konfigurationsdatei (zB conftomcat7conf) die Variable
bdquo$JAVA_OPTSldquo entsprechend erweitert und die Werte uumlbergeben Beachten Sie dabei
bitte dass die Variablen von Linux (bzw der Bash) gelesen werden Daher muss das bdquoPipeldquo-
Zeichen bdquo|ldquo mit bdquoldquo maskiert werden ansonsten erhalten Sie ggf bei der Verarbeitung der
Umgebungsvariable bdquohttpnonProxyHostsldquo Fehlermeldungen in der Linux-Konsole welche
dazu fuumlhren dass das Java nicht korrekt konfiguriert werden kann
JAVA_OPTS=$JAVA_OPTS -DproxySet=true -DproxyHost=10111213 -DproxyPort=8888
JAVA_OPTS=$JAVA_OPTS -DhttpnonProxyHosts=domainorg|localhost|10
213 Spracheinstellung Deutsch
Es wurde festgestellt dass unter einigen Linux-Versionen die Spracheinstellung beim
Starten des Apache Tomcat nicht auf eine deutsche Umgebung verweist Dieses kann
technische Probleme verursachen Unter Linux sollte die Einstellung (Umgebungsvariable)
entsprechend auf LANG=de_DEUTF-8 eingestellt sein
214 Datenbankverbindung
Wenn Sie eine Firewall zwischen dem Oracle-Server und dem Database Connection Pool
(DBCP) verwenden sollte unbedingt die bdquovalidationQueryldquo in der DBCP-Konfiguration
aktiviert werden damit die Anwendung schneller freie Connections aus dem Pool erhalten
kann Die Dokumentation zu den Einstellmoumlglichkeiten ist in der beiliegenden Contextxml
ergaumlnzt worden
Bitte beachten Sie dass dringende empfohlen wird die bdquoFactoryldquo auf
orgapachetomcatjdbcpoolDataSourceFactory anzupassen falls sie noch auf
bdquoorgapachecommonsdbcpBasicDataSourceFactoryldquo eingestellt ist
215 Probleme beim Anlegen von LOB-Objekten
Der BALVI Schnittstellen-Server erfordert die JDBC-Spezifikation DBCP V4 welche durch die
Factory bdquoorgapachetomcatjdbcldquo ab Tomcat 7 automatisch bereitgestellt wird
Wenn die Pooling-Komponente oder der Oracle-Treiber nicht JDBC4-Kompatibel sind gibt es
beim bearbeiten von LOB-Objekten in Java diverse Exceptions zB
Servletservice() for servlet soapws threw exception
javalangAbstractMethodError
orgapachecommonsdbcpPoolingDataSource$PoolGuardConnectionWrappercreateClob()Ljava
sqlClob
at debalvicoreauditspyConnectionSpycreateClob(ConnectionSpyjava511)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
932
Ursache dieses Problem ist meistens dass noch nicht auf bdquoorgapachetomcatjdbcldquo
umgestellt wurde
216 Umbenennung der gelieferten WAR-Datei
Das im Paket von BALVI gelieferte WAR kann jederzeit umbenannt werden (zB als
ROOTwar) ohne dass dabei spezielle Einstellungen in der bdquocontextxmlldquo erforderlich sind
Beachten Sie dabei jedoch dass die zum WAR zugehoumlrige contextxml im Apache Tomcat
immer denselben Namen erhaumllt wie das WAR zB commserverwar und commserverxml
Der Name ist dabei Ausschlaggebend fuumlr die Zugriffs-Adresse (Context) im Apache Tomcat
selbst Die Benennung des WAR in bdquocommserverwarldquo wuumlrde folgendermaszligen aufzurufen
sein httpserverportcommserver
217 Server-Schnittstellen
Die Uumlberarbeitung bzw Erweiterung der Export- und Importschnittstellen welche uumlber den
Schnittstellenserver bereitgestellt werden ist unabhaumlngig vom Schnittstellenserver selbst
Die Schnittstellen sind daher nicht Bestandteile des Schnittstellenserver und werden je
Verfahren separat ausgeliefert Ggf ist es fuumlr unterschiedliche Schnittstellen erforderlich
die Grant-Rechte zu aktualisieren (Vgl bdquoWann ist die Ausfuumlhrung des Grant-Skripts
erforderlichldquo)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1032
22 Kompatibilitaumltsliste
Diverse Verfahren setzen eine Mindestversion des Schnittstellen-Servers voraus Die
Schnittstellen sind jedoch so konzipiert dass eine Aktualisierung auf eine houmlhere Version
des Servers ohne Anpassung an den vorhandenen Schnittstellen jederzeit moumlglich ist
Derzeit sind folgende Mindestanforderungen gegeben
1 Mobil XT 170 oder houmlher setzt Server 265 und BALVI iP 124x voraus
2 Mobil XT 183 oder houmlher setzt Server 281 und BALVI iP 124x voraus
3 Die Schnittstelle eFI setzt Server 251 und BALVI iP 122c voraus
4 Die Schnittstelle LIMS setzt Server 265 voraus
5 Die Schnittstelle TSK (SN) setzt Server 265 voraus
6 Die Schnittstelle xDomea (SN) setzt Server 265 und Java 7 voraus
7 Die Schnittstelle xGewerbeanzeigen setzt Server 281 BALVI iP 124x Java 8 mit
der bdquoJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy2ldquo und
das Grant Skript 158 oder houmlher voraus
8 Die Schnittstelle RioPP LM (NRW) setzt zwingen Server 30x und die ETL-
Konfiguration voraus
2 httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1132
23 Erforderliche Bibliotheken fuumlr Tomcat
Dateiname Funktion Quelle
ojdbc6jar Oracle 11gR2 Clientpaket Oracle JDBC Client fuumlr Java 16 ersetzt die bisherige Version bdquoojdbc14jarldquo Die alte Library muss auf jeden Fall entfernt werden
httpwwworaclecomtechnetworkdatabaseenterprise-editionjdbc-112010-090769html
encrypted-datasource-110-alljar
Die Library muss auf jeden Fall entfernt werden Wird derzeit nicht weiter gepflegt da kein Interesse an der Funktionalitaumlt bestand
slf4j-api-1511jar
slf4j-log4j12-1511jar
log4jdbc4-12beta2jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
commons-dbcp-14jar
commons-pool-154jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
Erwartet wird stattdessen ab Tomcat7 die mitgelieferte bdquotomcat-jdbcjarldquo
log4j-1216jar (oder houmlher)
Logging-Funktionalitaumlt Apache Log4j httploggingapacheorglog4j12downloadhtml
bcprov-jdk15on-153jar (oder houmlher)
BouncyCastle Security Provider fuumlr SSLAES hellip wird ab Version 27 im Ordner bdquolibldquo des Tomcat erwartet Sollte es aus Sicherheitsgruumlnden erwuumlnscht sein eine aktuellere Version einzusetzen ist dieses idR moumlglich
httpmvnrepositorycomartifactorgbouncycastlebcprov-jdk15on153
24 Datenbank-Installation
Der Schnittstellen-Server benoumltigt auszligerhalb des angebundenen BALVI iP keine eigenen
Tabellen Die Web-Anwendung kann im einfachsten Fall direkt auf das Schema von BALVI iP
zugreifen indem der User und das Passwort des BALVI iP-Schemas in der Contextxml
eingetragen werden (nicht empfohlen)
Sollte dieses aus Sicherheitsgruumlnden nicht erwuumlnscht sein (empfohlen vom BSI und BALVI)
finden Sie im Paket ein GRANT-Skript um Zugriffsrechte vom BALVI iP Schema fuumlr den
Webservice-Schema-User einzurichten
Zwischen dem Schema von BALVI iP und jeder Web-Anwendung ist dann eine Trennung
moumlglich um sicherzustellen dass der Datenbank-Benutzer welcher in der Tomcat-
Konfiguration fuumlr die Web-Anwendung eingetragen wird geaumlndert oder geloumlscht werden
kann ohne dass die Windows-Anwendung BALVI iP davon betroffen ist Zudem vergibt das
von BALVI gelieferte Grant-Skript keine Rechte zum Loumlschen von Tabellenstrukturen oder
Tabelleninhalten so dass der Webservice nur festgelegte Daten aumlndern oder lesen darf Es
wird empfohlen je Web-Anwendung einen eigenen Datenbank-Benutzer zu vergeben wenn
sie ein BALVI iP mit mehreren Webservices verbinden wollen
Die Moumlglichkeiten im Uumlberblick
1) Sie betreiben den Webservice mit einem eigenstaumlndigen Oracle-Benutzer In diesem
Fall muss das Grant-Skript ausgefuumlhrt werden um den Webservice-Benutzer und
BALVI iP-Benutzer zu koppeln
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
532
14 Neuerungen in Version 28
141 Jeder Schnittstellen-Server benoumltigt eine Kennung bdquoserverIDldquo
Viele Kunden nutzen den Schnittstellenserver mehrfach in Ihrer Umgebung da mehrere
BALVI iP Installationen (zB Produktion und Test) in der Infrastruktur existieren
Da die Schnittstellenkonfiguration fuumlr den BSS in der Datenbank abgelegt wird kam es in
manchen Faumlllen vor dass nach einem Klon der Produktionsdatenbank auf ein Testsystem die
im BSS angelegten Jobs sofort nach dem Start in der Testumgebung wieder angesprungen
sind Um dieses Problem zu beseitigen muss jeder BSS ab Version 28 eine eindeutige
bdquoserverIDldquo zugewiesen bekommen Diese Server-ID wird in daher in der bdquocontextxmlldquo
hinterlegt um neutral zur Datenbank zu sein
Ist keine Environment-Variable bdquoserverIDldquo vorhanden so wird der Start des BSS 28 (oder
houmlher) sofort mit einer Fehlermeldung abgebrochen Im Server-Protokoll wird dabei der
Fehler bdquoERROR [IdentityServiceImpl] serverID must not be emptyrdquo ausgegeben Danach
kommt sofort die Meldung dass der BSS wieder heruntergefahren wird
INFO [localhost-startStop-1] [ContextCreationListener]
BALVI-Schnittstellen-Server
Version 280
hellip
ERROR [localhost-startStop-1] [IdentityServiceImpl] serverID must not be empty
ERROR [localhost-startStop-1] [ContextLoader] Context initialization failed
Um eine ldquoserverIDrdquo zu vergeben fuumlgen Sie in der contextxml folgende Angabe ein
lt--
ID fuumlr den Server
Diese muss pro Schnittstellenserver eindeutig sein
Eine Aumlnderung dieser ID fuumlhrt sofort dazu dass alle
Eingerichteten Server-Jobrsquos inaktiv werden und neu mit
Der Instanz gekoppelt werden muumlssen um wieder aktiviert
werden zu koumlnnen
Als value kann ein Text der max Laumlnge von 32 Zeichen
vergeben werden zB ProductionEnvNode1 fuumlr die Produktion
und TestEnvNode1 fuumlr die Testumgebung
--gt
ltEnvironment
name=serverID
value=ProductionEnvNode1
type=javalangString
override=true
gt
142 Optional ist nun eine Namensvergabe moumlglich
Auf Wunsch mehrerer Kunden wurde die Option geschaffen jedem Server zusaumltzlich einen
kundenspezifischen bdquoTitelldquo zu geben um die Server besser unterscheiden zu koumlnnen
lt--
Visueller Name des Servers in der Oberflaumlche
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
632
(Optional)
--gt
ltEnvironment
name=serverName
value=Testumgebung Tomcat 8 mit Test-DB
type=javalangString
override=true
gt
Der hier angegebene Text wird in der Kopfzeile mit ausgegeben
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
732
2 Administrator-Einstellungen
21 Allgemeine Hinweise zum Betrieb
211 Tomcat- und Java-Kompatibilitaumlt
Der BALVI Schnittstellenserver wurde getestet und freigegeben fuumlr Apache Tomcat 8 (ab
Version 8030 oder neuer) Zudem sind die aktuellste (letzte offizielle) Java 8 (ab Java SE
8u40) getestet worden und koumlnnen verwendet werden
Es wird dringend empfohlen bei Java immer die Version mit den aktuellen
Sicherheitsupdates zu verwenden Beachten Sie dabei jedoch dass nicht die Aktualisierung
auf eine andere Java-Version (zB Java 9) gemeint ist
Freigegebene Major-Versionen werden explizit von BALVI benannt Falls Sie vor haben die
Major-Version zu aumlndern pruumlfen Sie bitte die aktuellen Release-Notes oder kontaktieren die
BALVI Kundenbetreuung
212 Nutzung von Java-Proxyeinstellungen
Der BALVI Schnittstellenserver verwendet fuumlr ausgehende Verbindungen die Java-Net
Einstellungen welche in der Java-Dokumentation1 beschrieben sind Falls sie Jobs
einsetzen welche ausgehenden Zugriff auf Adressen im Internet benoumltigen kann es
passieren dass sie zB eine bdquojavanetUnknownHostExceptionldquo im Protokoll finden dann
muumlssen sie ihre Proxy-Umgebung in den Java-Umgebungseinstellungen ergaumlnzen
Die folgenden Parameter sollte daher in ihrer Umgebung gesetzt werden wenn der Zugriff
auf das Internet nur uumlber einen Proxy moumlglich ist
-DproxySet=true
-DproxyHost=10111213
-DproxyPort=8888
-DhttpnonProxyHosts=domainorg|localhost|10
Bitte beachten sie dass der Server nach einer Aumlnderung neu gestartet werden
muss damit die Einstellungen wirksam werden
2121 Proxy-Einstellung unter Windows (Tomcat-Dienst)
Verwenden Sie bitte das Dienste-Konfigurationsprogramm (zB tomcat7wexe) und
ergaumlnzen Sie die fehlenden Einstellungen
1 httpdocsoraclecomjavase8docstechnotesguidesnetpropertieshtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
832
2122 Proxy-Einstellung unter Linux
In Linux wird in der Konfigurationsdatei (zB conftomcat7conf) die Variable
bdquo$JAVA_OPTSldquo entsprechend erweitert und die Werte uumlbergeben Beachten Sie dabei
bitte dass die Variablen von Linux (bzw der Bash) gelesen werden Daher muss das bdquoPipeldquo-
Zeichen bdquo|ldquo mit bdquoldquo maskiert werden ansonsten erhalten Sie ggf bei der Verarbeitung der
Umgebungsvariable bdquohttpnonProxyHostsldquo Fehlermeldungen in der Linux-Konsole welche
dazu fuumlhren dass das Java nicht korrekt konfiguriert werden kann
JAVA_OPTS=$JAVA_OPTS -DproxySet=true -DproxyHost=10111213 -DproxyPort=8888
JAVA_OPTS=$JAVA_OPTS -DhttpnonProxyHosts=domainorg|localhost|10
213 Spracheinstellung Deutsch
Es wurde festgestellt dass unter einigen Linux-Versionen die Spracheinstellung beim
Starten des Apache Tomcat nicht auf eine deutsche Umgebung verweist Dieses kann
technische Probleme verursachen Unter Linux sollte die Einstellung (Umgebungsvariable)
entsprechend auf LANG=de_DEUTF-8 eingestellt sein
214 Datenbankverbindung
Wenn Sie eine Firewall zwischen dem Oracle-Server und dem Database Connection Pool
(DBCP) verwenden sollte unbedingt die bdquovalidationQueryldquo in der DBCP-Konfiguration
aktiviert werden damit die Anwendung schneller freie Connections aus dem Pool erhalten
kann Die Dokumentation zu den Einstellmoumlglichkeiten ist in der beiliegenden Contextxml
ergaumlnzt worden
Bitte beachten Sie dass dringende empfohlen wird die bdquoFactoryldquo auf
orgapachetomcatjdbcpoolDataSourceFactory anzupassen falls sie noch auf
bdquoorgapachecommonsdbcpBasicDataSourceFactoryldquo eingestellt ist
215 Probleme beim Anlegen von LOB-Objekten
Der BALVI Schnittstellen-Server erfordert die JDBC-Spezifikation DBCP V4 welche durch die
Factory bdquoorgapachetomcatjdbcldquo ab Tomcat 7 automatisch bereitgestellt wird
Wenn die Pooling-Komponente oder der Oracle-Treiber nicht JDBC4-Kompatibel sind gibt es
beim bearbeiten von LOB-Objekten in Java diverse Exceptions zB
Servletservice() for servlet soapws threw exception
javalangAbstractMethodError
orgapachecommonsdbcpPoolingDataSource$PoolGuardConnectionWrappercreateClob()Ljava
sqlClob
at debalvicoreauditspyConnectionSpycreateClob(ConnectionSpyjava511)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
932
Ursache dieses Problem ist meistens dass noch nicht auf bdquoorgapachetomcatjdbcldquo
umgestellt wurde
216 Umbenennung der gelieferten WAR-Datei
Das im Paket von BALVI gelieferte WAR kann jederzeit umbenannt werden (zB als
ROOTwar) ohne dass dabei spezielle Einstellungen in der bdquocontextxmlldquo erforderlich sind
Beachten Sie dabei jedoch dass die zum WAR zugehoumlrige contextxml im Apache Tomcat
immer denselben Namen erhaumllt wie das WAR zB commserverwar und commserverxml
Der Name ist dabei Ausschlaggebend fuumlr die Zugriffs-Adresse (Context) im Apache Tomcat
selbst Die Benennung des WAR in bdquocommserverwarldquo wuumlrde folgendermaszligen aufzurufen
sein httpserverportcommserver
217 Server-Schnittstellen
Die Uumlberarbeitung bzw Erweiterung der Export- und Importschnittstellen welche uumlber den
Schnittstellenserver bereitgestellt werden ist unabhaumlngig vom Schnittstellenserver selbst
Die Schnittstellen sind daher nicht Bestandteile des Schnittstellenserver und werden je
Verfahren separat ausgeliefert Ggf ist es fuumlr unterschiedliche Schnittstellen erforderlich
die Grant-Rechte zu aktualisieren (Vgl bdquoWann ist die Ausfuumlhrung des Grant-Skripts
erforderlichldquo)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1032
22 Kompatibilitaumltsliste
Diverse Verfahren setzen eine Mindestversion des Schnittstellen-Servers voraus Die
Schnittstellen sind jedoch so konzipiert dass eine Aktualisierung auf eine houmlhere Version
des Servers ohne Anpassung an den vorhandenen Schnittstellen jederzeit moumlglich ist
Derzeit sind folgende Mindestanforderungen gegeben
1 Mobil XT 170 oder houmlher setzt Server 265 und BALVI iP 124x voraus
2 Mobil XT 183 oder houmlher setzt Server 281 und BALVI iP 124x voraus
3 Die Schnittstelle eFI setzt Server 251 und BALVI iP 122c voraus
4 Die Schnittstelle LIMS setzt Server 265 voraus
5 Die Schnittstelle TSK (SN) setzt Server 265 voraus
6 Die Schnittstelle xDomea (SN) setzt Server 265 und Java 7 voraus
7 Die Schnittstelle xGewerbeanzeigen setzt Server 281 BALVI iP 124x Java 8 mit
der bdquoJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy2ldquo und
das Grant Skript 158 oder houmlher voraus
8 Die Schnittstelle RioPP LM (NRW) setzt zwingen Server 30x und die ETL-
Konfiguration voraus
2 httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1132
23 Erforderliche Bibliotheken fuumlr Tomcat
Dateiname Funktion Quelle
ojdbc6jar Oracle 11gR2 Clientpaket Oracle JDBC Client fuumlr Java 16 ersetzt die bisherige Version bdquoojdbc14jarldquo Die alte Library muss auf jeden Fall entfernt werden
httpwwworaclecomtechnetworkdatabaseenterprise-editionjdbc-112010-090769html
encrypted-datasource-110-alljar
Die Library muss auf jeden Fall entfernt werden Wird derzeit nicht weiter gepflegt da kein Interesse an der Funktionalitaumlt bestand
slf4j-api-1511jar
slf4j-log4j12-1511jar
log4jdbc4-12beta2jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
commons-dbcp-14jar
commons-pool-154jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
Erwartet wird stattdessen ab Tomcat7 die mitgelieferte bdquotomcat-jdbcjarldquo
log4j-1216jar (oder houmlher)
Logging-Funktionalitaumlt Apache Log4j httploggingapacheorglog4j12downloadhtml
bcprov-jdk15on-153jar (oder houmlher)
BouncyCastle Security Provider fuumlr SSLAES hellip wird ab Version 27 im Ordner bdquolibldquo des Tomcat erwartet Sollte es aus Sicherheitsgruumlnden erwuumlnscht sein eine aktuellere Version einzusetzen ist dieses idR moumlglich
httpmvnrepositorycomartifactorgbouncycastlebcprov-jdk15on153
24 Datenbank-Installation
Der Schnittstellen-Server benoumltigt auszligerhalb des angebundenen BALVI iP keine eigenen
Tabellen Die Web-Anwendung kann im einfachsten Fall direkt auf das Schema von BALVI iP
zugreifen indem der User und das Passwort des BALVI iP-Schemas in der Contextxml
eingetragen werden (nicht empfohlen)
Sollte dieses aus Sicherheitsgruumlnden nicht erwuumlnscht sein (empfohlen vom BSI und BALVI)
finden Sie im Paket ein GRANT-Skript um Zugriffsrechte vom BALVI iP Schema fuumlr den
Webservice-Schema-User einzurichten
Zwischen dem Schema von BALVI iP und jeder Web-Anwendung ist dann eine Trennung
moumlglich um sicherzustellen dass der Datenbank-Benutzer welcher in der Tomcat-
Konfiguration fuumlr die Web-Anwendung eingetragen wird geaumlndert oder geloumlscht werden
kann ohne dass die Windows-Anwendung BALVI iP davon betroffen ist Zudem vergibt das
von BALVI gelieferte Grant-Skript keine Rechte zum Loumlschen von Tabellenstrukturen oder
Tabelleninhalten so dass der Webservice nur festgelegte Daten aumlndern oder lesen darf Es
wird empfohlen je Web-Anwendung einen eigenen Datenbank-Benutzer zu vergeben wenn
sie ein BALVI iP mit mehreren Webservices verbinden wollen
Die Moumlglichkeiten im Uumlberblick
1) Sie betreiben den Webservice mit einem eigenstaumlndigen Oracle-Benutzer In diesem
Fall muss das Grant-Skript ausgefuumlhrt werden um den Webservice-Benutzer und
BALVI iP-Benutzer zu koppeln
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
632
(Optional)
--gt
ltEnvironment
name=serverName
value=Testumgebung Tomcat 8 mit Test-DB
type=javalangString
override=true
gt
Der hier angegebene Text wird in der Kopfzeile mit ausgegeben
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
732
2 Administrator-Einstellungen
21 Allgemeine Hinweise zum Betrieb
211 Tomcat- und Java-Kompatibilitaumlt
Der BALVI Schnittstellenserver wurde getestet und freigegeben fuumlr Apache Tomcat 8 (ab
Version 8030 oder neuer) Zudem sind die aktuellste (letzte offizielle) Java 8 (ab Java SE
8u40) getestet worden und koumlnnen verwendet werden
Es wird dringend empfohlen bei Java immer die Version mit den aktuellen
Sicherheitsupdates zu verwenden Beachten Sie dabei jedoch dass nicht die Aktualisierung
auf eine andere Java-Version (zB Java 9) gemeint ist
Freigegebene Major-Versionen werden explizit von BALVI benannt Falls Sie vor haben die
Major-Version zu aumlndern pruumlfen Sie bitte die aktuellen Release-Notes oder kontaktieren die
BALVI Kundenbetreuung
212 Nutzung von Java-Proxyeinstellungen
Der BALVI Schnittstellenserver verwendet fuumlr ausgehende Verbindungen die Java-Net
Einstellungen welche in der Java-Dokumentation1 beschrieben sind Falls sie Jobs
einsetzen welche ausgehenden Zugriff auf Adressen im Internet benoumltigen kann es
passieren dass sie zB eine bdquojavanetUnknownHostExceptionldquo im Protokoll finden dann
muumlssen sie ihre Proxy-Umgebung in den Java-Umgebungseinstellungen ergaumlnzen
Die folgenden Parameter sollte daher in ihrer Umgebung gesetzt werden wenn der Zugriff
auf das Internet nur uumlber einen Proxy moumlglich ist
-DproxySet=true
-DproxyHost=10111213
-DproxyPort=8888
-DhttpnonProxyHosts=domainorg|localhost|10
Bitte beachten sie dass der Server nach einer Aumlnderung neu gestartet werden
muss damit die Einstellungen wirksam werden
2121 Proxy-Einstellung unter Windows (Tomcat-Dienst)
Verwenden Sie bitte das Dienste-Konfigurationsprogramm (zB tomcat7wexe) und
ergaumlnzen Sie die fehlenden Einstellungen
1 httpdocsoraclecomjavase8docstechnotesguidesnetpropertieshtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
832
2122 Proxy-Einstellung unter Linux
In Linux wird in der Konfigurationsdatei (zB conftomcat7conf) die Variable
bdquo$JAVA_OPTSldquo entsprechend erweitert und die Werte uumlbergeben Beachten Sie dabei
bitte dass die Variablen von Linux (bzw der Bash) gelesen werden Daher muss das bdquoPipeldquo-
Zeichen bdquo|ldquo mit bdquoldquo maskiert werden ansonsten erhalten Sie ggf bei der Verarbeitung der
Umgebungsvariable bdquohttpnonProxyHostsldquo Fehlermeldungen in der Linux-Konsole welche
dazu fuumlhren dass das Java nicht korrekt konfiguriert werden kann
JAVA_OPTS=$JAVA_OPTS -DproxySet=true -DproxyHost=10111213 -DproxyPort=8888
JAVA_OPTS=$JAVA_OPTS -DhttpnonProxyHosts=domainorg|localhost|10
213 Spracheinstellung Deutsch
Es wurde festgestellt dass unter einigen Linux-Versionen die Spracheinstellung beim
Starten des Apache Tomcat nicht auf eine deutsche Umgebung verweist Dieses kann
technische Probleme verursachen Unter Linux sollte die Einstellung (Umgebungsvariable)
entsprechend auf LANG=de_DEUTF-8 eingestellt sein
214 Datenbankverbindung
Wenn Sie eine Firewall zwischen dem Oracle-Server und dem Database Connection Pool
(DBCP) verwenden sollte unbedingt die bdquovalidationQueryldquo in der DBCP-Konfiguration
aktiviert werden damit die Anwendung schneller freie Connections aus dem Pool erhalten
kann Die Dokumentation zu den Einstellmoumlglichkeiten ist in der beiliegenden Contextxml
ergaumlnzt worden
Bitte beachten Sie dass dringende empfohlen wird die bdquoFactoryldquo auf
orgapachetomcatjdbcpoolDataSourceFactory anzupassen falls sie noch auf
bdquoorgapachecommonsdbcpBasicDataSourceFactoryldquo eingestellt ist
215 Probleme beim Anlegen von LOB-Objekten
Der BALVI Schnittstellen-Server erfordert die JDBC-Spezifikation DBCP V4 welche durch die
Factory bdquoorgapachetomcatjdbcldquo ab Tomcat 7 automatisch bereitgestellt wird
Wenn die Pooling-Komponente oder der Oracle-Treiber nicht JDBC4-Kompatibel sind gibt es
beim bearbeiten von LOB-Objekten in Java diverse Exceptions zB
Servletservice() for servlet soapws threw exception
javalangAbstractMethodError
orgapachecommonsdbcpPoolingDataSource$PoolGuardConnectionWrappercreateClob()Ljava
sqlClob
at debalvicoreauditspyConnectionSpycreateClob(ConnectionSpyjava511)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
932
Ursache dieses Problem ist meistens dass noch nicht auf bdquoorgapachetomcatjdbcldquo
umgestellt wurde
216 Umbenennung der gelieferten WAR-Datei
Das im Paket von BALVI gelieferte WAR kann jederzeit umbenannt werden (zB als
ROOTwar) ohne dass dabei spezielle Einstellungen in der bdquocontextxmlldquo erforderlich sind
Beachten Sie dabei jedoch dass die zum WAR zugehoumlrige contextxml im Apache Tomcat
immer denselben Namen erhaumllt wie das WAR zB commserverwar und commserverxml
Der Name ist dabei Ausschlaggebend fuumlr die Zugriffs-Adresse (Context) im Apache Tomcat
selbst Die Benennung des WAR in bdquocommserverwarldquo wuumlrde folgendermaszligen aufzurufen
sein httpserverportcommserver
217 Server-Schnittstellen
Die Uumlberarbeitung bzw Erweiterung der Export- und Importschnittstellen welche uumlber den
Schnittstellenserver bereitgestellt werden ist unabhaumlngig vom Schnittstellenserver selbst
Die Schnittstellen sind daher nicht Bestandteile des Schnittstellenserver und werden je
Verfahren separat ausgeliefert Ggf ist es fuumlr unterschiedliche Schnittstellen erforderlich
die Grant-Rechte zu aktualisieren (Vgl bdquoWann ist die Ausfuumlhrung des Grant-Skripts
erforderlichldquo)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1032
22 Kompatibilitaumltsliste
Diverse Verfahren setzen eine Mindestversion des Schnittstellen-Servers voraus Die
Schnittstellen sind jedoch so konzipiert dass eine Aktualisierung auf eine houmlhere Version
des Servers ohne Anpassung an den vorhandenen Schnittstellen jederzeit moumlglich ist
Derzeit sind folgende Mindestanforderungen gegeben
1 Mobil XT 170 oder houmlher setzt Server 265 und BALVI iP 124x voraus
2 Mobil XT 183 oder houmlher setzt Server 281 und BALVI iP 124x voraus
3 Die Schnittstelle eFI setzt Server 251 und BALVI iP 122c voraus
4 Die Schnittstelle LIMS setzt Server 265 voraus
5 Die Schnittstelle TSK (SN) setzt Server 265 voraus
6 Die Schnittstelle xDomea (SN) setzt Server 265 und Java 7 voraus
7 Die Schnittstelle xGewerbeanzeigen setzt Server 281 BALVI iP 124x Java 8 mit
der bdquoJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy2ldquo und
das Grant Skript 158 oder houmlher voraus
8 Die Schnittstelle RioPP LM (NRW) setzt zwingen Server 30x und die ETL-
Konfiguration voraus
2 httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1132
23 Erforderliche Bibliotheken fuumlr Tomcat
Dateiname Funktion Quelle
ojdbc6jar Oracle 11gR2 Clientpaket Oracle JDBC Client fuumlr Java 16 ersetzt die bisherige Version bdquoojdbc14jarldquo Die alte Library muss auf jeden Fall entfernt werden
httpwwworaclecomtechnetworkdatabaseenterprise-editionjdbc-112010-090769html
encrypted-datasource-110-alljar
Die Library muss auf jeden Fall entfernt werden Wird derzeit nicht weiter gepflegt da kein Interesse an der Funktionalitaumlt bestand
slf4j-api-1511jar
slf4j-log4j12-1511jar
log4jdbc4-12beta2jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
commons-dbcp-14jar
commons-pool-154jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
Erwartet wird stattdessen ab Tomcat7 die mitgelieferte bdquotomcat-jdbcjarldquo
log4j-1216jar (oder houmlher)
Logging-Funktionalitaumlt Apache Log4j httploggingapacheorglog4j12downloadhtml
bcprov-jdk15on-153jar (oder houmlher)
BouncyCastle Security Provider fuumlr SSLAES hellip wird ab Version 27 im Ordner bdquolibldquo des Tomcat erwartet Sollte es aus Sicherheitsgruumlnden erwuumlnscht sein eine aktuellere Version einzusetzen ist dieses idR moumlglich
httpmvnrepositorycomartifactorgbouncycastlebcprov-jdk15on153
24 Datenbank-Installation
Der Schnittstellen-Server benoumltigt auszligerhalb des angebundenen BALVI iP keine eigenen
Tabellen Die Web-Anwendung kann im einfachsten Fall direkt auf das Schema von BALVI iP
zugreifen indem der User und das Passwort des BALVI iP-Schemas in der Contextxml
eingetragen werden (nicht empfohlen)
Sollte dieses aus Sicherheitsgruumlnden nicht erwuumlnscht sein (empfohlen vom BSI und BALVI)
finden Sie im Paket ein GRANT-Skript um Zugriffsrechte vom BALVI iP Schema fuumlr den
Webservice-Schema-User einzurichten
Zwischen dem Schema von BALVI iP und jeder Web-Anwendung ist dann eine Trennung
moumlglich um sicherzustellen dass der Datenbank-Benutzer welcher in der Tomcat-
Konfiguration fuumlr die Web-Anwendung eingetragen wird geaumlndert oder geloumlscht werden
kann ohne dass die Windows-Anwendung BALVI iP davon betroffen ist Zudem vergibt das
von BALVI gelieferte Grant-Skript keine Rechte zum Loumlschen von Tabellenstrukturen oder
Tabelleninhalten so dass der Webservice nur festgelegte Daten aumlndern oder lesen darf Es
wird empfohlen je Web-Anwendung einen eigenen Datenbank-Benutzer zu vergeben wenn
sie ein BALVI iP mit mehreren Webservices verbinden wollen
Die Moumlglichkeiten im Uumlberblick
1) Sie betreiben den Webservice mit einem eigenstaumlndigen Oracle-Benutzer In diesem
Fall muss das Grant-Skript ausgefuumlhrt werden um den Webservice-Benutzer und
BALVI iP-Benutzer zu koppeln
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
732
2 Administrator-Einstellungen
21 Allgemeine Hinweise zum Betrieb
211 Tomcat- und Java-Kompatibilitaumlt
Der BALVI Schnittstellenserver wurde getestet und freigegeben fuumlr Apache Tomcat 8 (ab
Version 8030 oder neuer) Zudem sind die aktuellste (letzte offizielle) Java 8 (ab Java SE
8u40) getestet worden und koumlnnen verwendet werden
Es wird dringend empfohlen bei Java immer die Version mit den aktuellen
Sicherheitsupdates zu verwenden Beachten Sie dabei jedoch dass nicht die Aktualisierung
auf eine andere Java-Version (zB Java 9) gemeint ist
Freigegebene Major-Versionen werden explizit von BALVI benannt Falls Sie vor haben die
Major-Version zu aumlndern pruumlfen Sie bitte die aktuellen Release-Notes oder kontaktieren die
BALVI Kundenbetreuung
212 Nutzung von Java-Proxyeinstellungen
Der BALVI Schnittstellenserver verwendet fuumlr ausgehende Verbindungen die Java-Net
Einstellungen welche in der Java-Dokumentation1 beschrieben sind Falls sie Jobs
einsetzen welche ausgehenden Zugriff auf Adressen im Internet benoumltigen kann es
passieren dass sie zB eine bdquojavanetUnknownHostExceptionldquo im Protokoll finden dann
muumlssen sie ihre Proxy-Umgebung in den Java-Umgebungseinstellungen ergaumlnzen
Die folgenden Parameter sollte daher in ihrer Umgebung gesetzt werden wenn der Zugriff
auf das Internet nur uumlber einen Proxy moumlglich ist
-DproxySet=true
-DproxyHost=10111213
-DproxyPort=8888
-DhttpnonProxyHosts=domainorg|localhost|10
Bitte beachten sie dass der Server nach einer Aumlnderung neu gestartet werden
muss damit die Einstellungen wirksam werden
2121 Proxy-Einstellung unter Windows (Tomcat-Dienst)
Verwenden Sie bitte das Dienste-Konfigurationsprogramm (zB tomcat7wexe) und
ergaumlnzen Sie die fehlenden Einstellungen
1 httpdocsoraclecomjavase8docstechnotesguidesnetpropertieshtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
832
2122 Proxy-Einstellung unter Linux
In Linux wird in der Konfigurationsdatei (zB conftomcat7conf) die Variable
bdquo$JAVA_OPTSldquo entsprechend erweitert und die Werte uumlbergeben Beachten Sie dabei
bitte dass die Variablen von Linux (bzw der Bash) gelesen werden Daher muss das bdquoPipeldquo-
Zeichen bdquo|ldquo mit bdquoldquo maskiert werden ansonsten erhalten Sie ggf bei der Verarbeitung der
Umgebungsvariable bdquohttpnonProxyHostsldquo Fehlermeldungen in der Linux-Konsole welche
dazu fuumlhren dass das Java nicht korrekt konfiguriert werden kann
JAVA_OPTS=$JAVA_OPTS -DproxySet=true -DproxyHost=10111213 -DproxyPort=8888
JAVA_OPTS=$JAVA_OPTS -DhttpnonProxyHosts=domainorg|localhost|10
213 Spracheinstellung Deutsch
Es wurde festgestellt dass unter einigen Linux-Versionen die Spracheinstellung beim
Starten des Apache Tomcat nicht auf eine deutsche Umgebung verweist Dieses kann
technische Probleme verursachen Unter Linux sollte die Einstellung (Umgebungsvariable)
entsprechend auf LANG=de_DEUTF-8 eingestellt sein
214 Datenbankverbindung
Wenn Sie eine Firewall zwischen dem Oracle-Server und dem Database Connection Pool
(DBCP) verwenden sollte unbedingt die bdquovalidationQueryldquo in der DBCP-Konfiguration
aktiviert werden damit die Anwendung schneller freie Connections aus dem Pool erhalten
kann Die Dokumentation zu den Einstellmoumlglichkeiten ist in der beiliegenden Contextxml
ergaumlnzt worden
Bitte beachten Sie dass dringende empfohlen wird die bdquoFactoryldquo auf
orgapachetomcatjdbcpoolDataSourceFactory anzupassen falls sie noch auf
bdquoorgapachecommonsdbcpBasicDataSourceFactoryldquo eingestellt ist
215 Probleme beim Anlegen von LOB-Objekten
Der BALVI Schnittstellen-Server erfordert die JDBC-Spezifikation DBCP V4 welche durch die
Factory bdquoorgapachetomcatjdbcldquo ab Tomcat 7 automatisch bereitgestellt wird
Wenn die Pooling-Komponente oder der Oracle-Treiber nicht JDBC4-Kompatibel sind gibt es
beim bearbeiten von LOB-Objekten in Java diverse Exceptions zB
Servletservice() for servlet soapws threw exception
javalangAbstractMethodError
orgapachecommonsdbcpPoolingDataSource$PoolGuardConnectionWrappercreateClob()Ljava
sqlClob
at debalvicoreauditspyConnectionSpycreateClob(ConnectionSpyjava511)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
932
Ursache dieses Problem ist meistens dass noch nicht auf bdquoorgapachetomcatjdbcldquo
umgestellt wurde
216 Umbenennung der gelieferten WAR-Datei
Das im Paket von BALVI gelieferte WAR kann jederzeit umbenannt werden (zB als
ROOTwar) ohne dass dabei spezielle Einstellungen in der bdquocontextxmlldquo erforderlich sind
Beachten Sie dabei jedoch dass die zum WAR zugehoumlrige contextxml im Apache Tomcat
immer denselben Namen erhaumllt wie das WAR zB commserverwar und commserverxml
Der Name ist dabei Ausschlaggebend fuumlr die Zugriffs-Adresse (Context) im Apache Tomcat
selbst Die Benennung des WAR in bdquocommserverwarldquo wuumlrde folgendermaszligen aufzurufen
sein httpserverportcommserver
217 Server-Schnittstellen
Die Uumlberarbeitung bzw Erweiterung der Export- und Importschnittstellen welche uumlber den
Schnittstellenserver bereitgestellt werden ist unabhaumlngig vom Schnittstellenserver selbst
Die Schnittstellen sind daher nicht Bestandteile des Schnittstellenserver und werden je
Verfahren separat ausgeliefert Ggf ist es fuumlr unterschiedliche Schnittstellen erforderlich
die Grant-Rechte zu aktualisieren (Vgl bdquoWann ist die Ausfuumlhrung des Grant-Skripts
erforderlichldquo)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1032
22 Kompatibilitaumltsliste
Diverse Verfahren setzen eine Mindestversion des Schnittstellen-Servers voraus Die
Schnittstellen sind jedoch so konzipiert dass eine Aktualisierung auf eine houmlhere Version
des Servers ohne Anpassung an den vorhandenen Schnittstellen jederzeit moumlglich ist
Derzeit sind folgende Mindestanforderungen gegeben
1 Mobil XT 170 oder houmlher setzt Server 265 und BALVI iP 124x voraus
2 Mobil XT 183 oder houmlher setzt Server 281 und BALVI iP 124x voraus
3 Die Schnittstelle eFI setzt Server 251 und BALVI iP 122c voraus
4 Die Schnittstelle LIMS setzt Server 265 voraus
5 Die Schnittstelle TSK (SN) setzt Server 265 voraus
6 Die Schnittstelle xDomea (SN) setzt Server 265 und Java 7 voraus
7 Die Schnittstelle xGewerbeanzeigen setzt Server 281 BALVI iP 124x Java 8 mit
der bdquoJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy2ldquo und
das Grant Skript 158 oder houmlher voraus
8 Die Schnittstelle RioPP LM (NRW) setzt zwingen Server 30x und die ETL-
Konfiguration voraus
2 httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1132
23 Erforderliche Bibliotheken fuumlr Tomcat
Dateiname Funktion Quelle
ojdbc6jar Oracle 11gR2 Clientpaket Oracle JDBC Client fuumlr Java 16 ersetzt die bisherige Version bdquoojdbc14jarldquo Die alte Library muss auf jeden Fall entfernt werden
httpwwworaclecomtechnetworkdatabaseenterprise-editionjdbc-112010-090769html
encrypted-datasource-110-alljar
Die Library muss auf jeden Fall entfernt werden Wird derzeit nicht weiter gepflegt da kein Interesse an der Funktionalitaumlt bestand
slf4j-api-1511jar
slf4j-log4j12-1511jar
log4jdbc4-12beta2jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
commons-dbcp-14jar
commons-pool-154jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
Erwartet wird stattdessen ab Tomcat7 die mitgelieferte bdquotomcat-jdbcjarldquo
log4j-1216jar (oder houmlher)
Logging-Funktionalitaumlt Apache Log4j httploggingapacheorglog4j12downloadhtml
bcprov-jdk15on-153jar (oder houmlher)
BouncyCastle Security Provider fuumlr SSLAES hellip wird ab Version 27 im Ordner bdquolibldquo des Tomcat erwartet Sollte es aus Sicherheitsgruumlnden erwuumlnscht sein eine aktuellere Version einzusetzen ist dieses idR moumlglich
httpmvnrepositorycomartifactorgbouncycastlebcprov-jdk15on153
24 Datenbank-Installation
Der Schnittstellen-Server benoumltigt auszligerhalb des angebundenen BALVI iP keine eigenen
Tabellen Die Web-Anwendung kann im einfachsten Fall direkt auf das Schema von BALVI iP
zugreifen indem der User und das Passwort des BALVI iP-Schemas in der Contextxml
eingetragen werden (nicht empfohlen)
Sollte dieses aus Sicherheitsgruumlnden nicht erwuumlnscht sein (empfohlen vom BSI und BALVI)
finden Sie im Paket ein GRANT-Skript um Zugriffsrechte vom BALVI iP Schema fuumlr den
Webservice-Schema-User einzurichten
Zwischen dem Schema von BALVI iP und jeder Web-Anwendung ist dann eine Trennung
moumlglich um sicherzustellen dass der Datenbank-Benutzer welcher in der Tomcat-
Konfiguration fuumlr die Web-Anwendung eingetragen wird geaumlndert oder geloumlscht werden
kann ohne dass die Windows-Anwendung BALVI iP davon betroffen ist Zudem vergibt das
von BALVI gelieferte Grant-Skript keine Rechte zum Loumlschen von Tabellenstrukturen oder
Tabelleninhalten so dass der Webservice nur festgelegte Daten aumlndern oder lesen darf Es
wird empfohlen je Web-Anwendung einen eigenen Datenbank-Benutzer zu vergeben wenn
sie ein BALVI iP mit mehreren Webservices verbinden wollen
Die Moumlglichkeiten im Uumlberblick
1) Sie betreiben den Webservice mit einem eigenstaumlndigen Oracle-Benutzer In diesem
Fall muss das Grant-Skript ausgefuumlhrt werden um den Webservice-Benutzer und
BALVI iP-Benutzer zu koppeln
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
832
2122 Proxy-Einstellung unter Linux
In Linux wird in der Konfigurationsdatei (zB conftomcat7conf) die Variable
bdquo$JAVA_OPTSldquo entsprechend erweitert und die Werte uumlbergeben Beachten Sie dabei
bitte dass die Variablen von Linux (bzw der Bash) gelesen werden Daher muss das bdquoPipeldquo-
Zeichen bdquo|ldquo mit bdquoldquo maskiert werden ansonsten erhalten Sie ggf bei der Verarbeitung der
Umgebungsvariable bdquohttpnonProxyHostsldquo Fehlermeldungen in der Linux-Konsole welche
dazu fuumlhren dass das Java nicht korrekt konfiguriert werden kann
JAVA_OPTS=$JAVA_OPTS -DproxySet=true -DproxyHost=10111213 -DproxyPort=8888
JAVA_OPTS=$JAVA_OPTS -DhttpnonProxyHosts=domainorg|localhost|10
213 Spracheinstellung Deutsch
Es wurde festgestellt dass unter einigen Linux-Versionen die Spracheinstellung beim
Starten des Apache Tomcat nicht auf eine deutsche Umgebung verweist Dieses kann
technische Probleme verursachen Unter Linux sollte die Einstellung (Umgebungsvariable)
entsprechend auf LANG=de_DEUTF-8 eingestellt sein
214 Datenbankverbindung
Wenn Sie eine Firewall zwischen dem Oracle-Server und dem Database Connection Pool
(DBCP) verwenden sollte unbedingt die bdquovalidationQueryldquo in der DBCP-Konfiguration
aktiviert werden damit die Anwendung schneller freie Connections aus dem Pool erhalten
kann Die Dokumentation zu den Einstellmoumlglichkeiten ist in der beiliegenden Contextxml
ergaumlnzt worden
Bitte beachten Sie dass dringende empfohlen wird die bdquoFactoryldquo auf
orgapachetomcatjdbcpoolDataSourceFactory anzupassen falls sie noch auf
bdquoorgapachecommonsdbcpBasicDataSourceFactoryldquo eingestellt ist
215 Probleme beim Anlegen von LOB-Objekten
Der BALVI Schnittstellen-Server erfordert die JDBC-Spezifikation DBCP V4 welche durch die
Factory bdquoorgapachetomcatjdbcldquo ab Tomcat 7 automatisch bereitgestellt wird
Wenn die Pooling-Komponente oder der Oracle-Treiber nicht JDBC4-Kompatibel sind gibt es
beim bearbeiten von LOB-Objekten in Java diverse Exceptions zB
Servletservice() for servlet soapws threw exception
javalangAbstractMethodError
orgapachecommonsdbcpPoolingDataSource$PoolGuardConnectionWrappercreateClob()Ljava
sqlClob
at debalvicoreauditspyConnectionSpycreateClob(ConnectionSpyjava511)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
932
Ursache dieses Problem ist meistens dass noch nicht auf bdquoorgapachetomcatjdbcldquo
umgestellt wurde
216 Umbenennung der gelieferten WAR-Datei
Das im Paket von BALVI gelieferte WAR kann jederzeit umbenannt werden (zB als
ROOTwar) ohne dass dabei spezielle Einstellungen in der bdquocontextxmlldquo erforderlich sind
Beachten Sie dabei jedoch dass die zum WAR zugehoumlrige contextxml im Apache Tomcat
immer denselben Namen erhaumllt wie das WAR zB commserverwar und commserverxml
Der Name ist dabei Ausschlaggebend fuumlr die Zugriffs-Adresse (Context) im Apache Tomcat
selbst Die Benennung des WAR in bdquocommserverwarldquo wuumlrde folgendermaszligen aufzurufen
sein httpserverportcommserver
217 Server-Schnittstellen
Die Uumlberarbeitung bzw Erweiterung der Export- und Importschnittstellen welche uumlber den
Schnittstellenserver bereitgestellt werden ist unabhaumlngig vom Schnittstellenserver selbst
Die Schnittstellen sind daher nicht Bestandteile des Schnittstellenserver und werden je
Verfahren separat ausgeliefert Ggf ist es fuumlr unterschiedliche Schnittstellen erforderlich
die Grant-Rechte zu aktualisieren (Vgl bdquoWann ist die Ausfuumlhrung des Grant-Skripts
erforderlichldquo)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1032
22 Kompatibilitaumltsliste
Diverse Verfahren setzen eine Mindestversion des Schnittstellen-Servers voraus Die
Schnittstellen sind jedoch so konzipiert dass eine Aktualisierung auf eine houmlhere Version
des Servers ohne Anpassung an den vorhandenen Schnittstellen jederzeit moumlglich ist
Derzeit sind folgende Mindestanforderungen gegeben
1 Mobil XT 170 oder houmlher setzt Server 265 und BALVI iP 124x voraus
2 Mobil XT 183 oder houmlher setzt Server 281 und BALVI iP 124x voraus
3 Die Schnittstelle eFI setzt Server 251 und BALVI iP 122c voraus
4 Die Schnittstelle LIMS setzt Server 265 voraus
5 Die Schnittstelle TSK (SN) setzt Server 265 voraus
6 Die Schnittstelle xDomea (SN) setzt Server 265 und Java 7 voraus
7 Die Schnittstelle xGewerbeanzeigen setzt Server 281 BALVI iP 124x Java 8 mit
der bdquoJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy2ldquo und
das Grant Skript 158 oder houmlher voraus
8 Die Schnittstelle RioPP LM (NRW) setzt zwingen Server 30x und die ETL-
Konfiguration voraus
2 httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1132
23 Erforderliche Bibliotheken fuumlr Tomcat
Dateiname Funktion Quelle
ojdbc6jar Oracle 11gR2 Clientpaket Oracle JDBC Client fuumlr Java 16 ersetzt die bisherige Version bdquoojdbc14jarldquo Die alte Library muss auf jeden Fall entfernt werden
httpwwworaclecomtechnetworkdatabaseenterprise-editionjdbc-112010-090769html
encrypted-datasource-110-alljar
Die Library muss auf jeden Fall entfernt werden Wird derzeit nicht weiter gepflegt da kein Interesse an der Funktionalitaumlt bestand
slf4j-api-1511jar
slf4j-log4j12-1511jar
log4jdbc4-12beta2jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
commons-dbcp-14jar
commons-pool-154jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
Erwartet wird stattdessen ab Tomcat7 die mitgelieferte bdquotomcat-jdbcjarldquo
log4j-1216jar (oder houmlher)
Logging-Funktionalitaumlt Apache Log4j httploggingapacheorglog4j12downloadhtml
bcprov-jdk15on-153jar (oder houmlher)
BouncyCastle Security Provider fuumlr SSLAES hellip wird ab Version 27 im Ordner bdquolibldquo des Tomcat erwartet Sollte es aus Sicherheitsgruumlnden erwuumlnscht sein eine aktuellere Version einzusetzen ist dieses idR moumlglich
httpmvnrepositorycomartifactorgbouncycastlebcprov-jdk15on153
24 Datenbank-Installation
Der Schnittstellen-Server benoumltigt auszligerhalb des angebundenen BALVI iP keine eigenen
Tabellen Die Web-Anwendung kann im einfachsten Fall direkt auf das Schema von BALVI iP
zugreifen indem der User und das Passwort des BALVI iP-Schemas in der Contextxml
eingetragen werden (nicht empfohlen)
Sollte dieses aus Sicherheitsgruumlnden nicht erwuumlnscht sein (empfohlen vom BSI und BALVI)
finden Sie im Paket ein GRANT-Skript um Zugriffsrechte vom BALVI iP Schema fuumlr den
Webservice-Schema-User einzurichten
Zwischen dem Schema von BALVI iP und jeder Web-Anwendung ist dann eine Trennung
moumlglich um sicherzustellen dass der Datenbank-Benutzer welcher in der Tomcat-
Konfiguration fuumlr die Web-Anwendung eingetragen wird geaumlndert oder geloumlscht werden
kann ohne dass die Windows-Anwendung BALVI iP davon betroffen ist Zudem vergibt das
von BALVI gelieferte Grant-Skript keine Rechte zum Loumlschen von Tabellenstrukturen oder
Tabelleninhalten so dass der Webservice nur festgelegte Daten aumlndern oder lesen darf Es
wird empfohlen je Web-Anwendung einen eigenen Datenbank-Benutzer zu vergeben wenn
sie ein BALVI iP mit mehreren Webservices verbinden wollen
Die Moumlglichkeiten im Uumlberblick
1) Sie betreiben den Webservice mit einem eigenstaumlndigen Oracle-Benutzer In diesem
Fall muss das Grant-Skript ausgefuumlhrt werden um den Webservice-Benutzer und
BALVI iP-Benutzer zu koppeln
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
932
Ursache dieses Problem ist meistens dass noch nicht auf bdquoorgapachetomcatjdbcldquo
umgestellt wurde
216 Umbenennung der gelieferten WAR-Datei
Das im Paket von BALVI gelieferte WAR kann jederzeit umbenannt werden (zB als
ROOTwar) ohne dass dabei spezielle Einstellungen in der bdquocontextxmlldquo erforderlich sind
Beachten Sie dabei jedoch dass die zum WAR zugehoumlrige contextxml im Apache Tomcat
immer denselben Namen erhaumllt wie das WAR zB commserverwar und commserverxml
Der Name ist dabei Ausschlaggebend fuumlr die Zugriffs-Adresse (Context) im Apache Tomcat
selbst Die Benennung des WAR in bdquocommserverwarldquo wuumlrde folgendermaszligen aufzurufen
sein httpserverportcommserver
217 Server-Schnittstellen
Die Uumlberarbeitung bzw Erweiterung der Export- und Importschnittstellen welche uumlber den
Schnittstellenserver bereitgestellt werden ist unabhaumlngig vom Schnittstellenserver selbst
Die Schnittstellen sind daher nicht Bestandteile des Schnittstellenserver und werden je
Verfahren separat ausgeliefert Ggf ist es fuumlr unterschiedliche Schnittstellen erforderlich
die Grant-Rechte zu aktualisieren (Vgl bdquoWann ist die Ausfuumlhrung des Grant-Skripts
erforderlichldquo)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1032
22 Kompatibilitaumltsliste
Diverse Verfahren setzen eine Mindestversion des Schnittstellen-Servers voraus Die
Schnittstellen sind jedoch so konzipiert dass eine Aktualisierung auf eine houmlhere Version
des Servers ohne Anpassung an den vorhandenen Schnittstellen jederzeit moumlglich ist
Derzeit sind folgende Mindestanforderungen gegeben
1 Mobil XT 170 oder houmlher setzt Server 265 und BALVI iP 124x voraus
2 Mobil XT 183 oder houmlher setzt Server 281 und BALVI iP 124x voraus
3 Die Schnittstelle eFI setzt Server 251 und BALVI iP 122c voraus
4 Die Schnittstelle LIMS setzt Server 265 voraus
5 Die Schnittstelle TSK (SN) setzt Server 265 voraus
6 Die Schnittstelle xDomea (SN) setzt Server 265 und Java 7 voraus
7 Die Schnittstelle xGewerbeanzeigen setzt Server 281 BALVI iP 124x Java 8 mit
der bdquoJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy2ldquo und
das Grant Skript 158 oder houmlher voraus
8 Die Schnittstelle RioPP LM (NRW) setzt zwingen Server 30x und die ETL-
Konfiguration voraus
2 httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1132
23 Erforderliche Bibliotheken fuumlr Tomcat
Dateiname Funktion Quelle
ojdbc6jar Oracle 11gR2 Clientpaket Oracle JDBC Client fuumlr Java 16 ersetzt die bisherige Version bdquoojdbc14jarldquo Die alte Library muss auf jeden Fall entfernt werden
httpwwworaclecomtechnetworkdatabaseenterprise-editionjdbc-112010-090769html
encrypted-datasource-110-alljar
Die Library muss auf jeden Fall entfernt werden Wird derzeit nicht weiter gepflegt da kein Interesse an der Funktionalitaumlt bestand
slf4j-api-1511jar
slf4j-log4j12-1511jar
log4jdbc4-12beta2jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
commons-dbcp-14jar
commons-pool-154jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
Erwartet wird stattdessen ab Tomcat7 die mitgelieferte bdquotomcat-jdbcjarldquo
log4j-1216jar (oder houmlher)
Logging-Funktionalitaumlt Apache Log4j httploggingapacheorglog4j12downloadhtml
bcprov-jdk15on-153jar (oder houmlher)
BouncyCastle Security Provider fuumlr SSLAES hellip wird ab Version 27 im Ordner bdquolibldquo des Tomcat erwartet Sollte es aus Sicherheitsgruumlnden erwuumlnscht sein eine aktuellere Version einzusetzen ist dieses idR moumlglich
httpmvnrepositorycomartifactorgbouncycastlebcprov-jdk15on153
24 Datenbank-Installation
Der Schnittstellen-Server benoumltigt auszligerhalb des angebundenen BALVI iP keine eigenen
Tabellen Die Web-Anwendung kann im einfachsten Fall direkt auf das Schema von BALVI iP
zugreifen indem der User und das Passwort des BALVI iP-Schemas in der Contextxml
eingetragen werden (nicht empfohlen)
Sollte dieses aus Sicherheitsgruumlnden nicht erwuumlnscht sein (empfohlen vom BSI und BALVI)
finden Sie im Paket ein GRANT-Skript um Zugriffsrechte vom BALVI iP Schema fuumlr den
Webservice-Schema-User einzurichten
Zwischen dem Schema von BALVI iP und jeder Web-Anwendung ist dann eine Trennung
moumlglich um sicherzustellen dass der Datenbank-Benutzer welcher in der Tomcat-
Konfiguration fuumlr die Web-Anwendung eingetragen wird geaumlndert oder geloumlscht werden
kann ohne dass die Windows-Anwendung BALVI iP davon betroffen ist Zudem vergibt das
von BALVI gelieferte Grant-Skript keine Rechte zum Loumlschen von Tabellenstrukturen oder
Tabelleninhalten so dass der Webservice nur festgelegte Daten aumlndern oder lesen darf Es
wird empfohlen je Web-Anwendung einen eigenen Datenbank-Benutzer zu vergeben wenn
sie ein BALVI iP mit mehreren Webservices verbinden wollen
Die Moumlglichkeiten im Uumlberblick
1) Sie betreiben den Webservice mit einem eigenstaumlndigen Oracle-Benutzer In diesem
Fall muss das Grant-Skript ausgefuumlhrt werden um den Webservice-Benutzer und
BALVI iP-Benutzer zu koppeln
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1032
22 Kompatibilitaumltsliste
Diverse Verfahren setzen eine Mindestversion des Schnittstellen-Servers voraus Die
Schnittstellen sind jedoch so konzipiert dass eine Aktualisierung auf eine houmlhere Version
des Servers ohne Anpassung an den vorhandenen Schnittstellen jederzeit moumlglich ist
Derzeit sind folgende Mindestanforderungen gegeben
1 Mobil XT 170 oder houmlher setzt Server 265 und BALVI iP 124x voraus
2 Mobil XT 183 oder houmlher setzt Server 281 und BALVI iP 124x voraus
3 Die Schnittstelle eFI setzt Server 251 und BALVI iP 122c voraus
4 Die Schnittstelle LIMS setzt Server 265 voraus
5 Die Schnittstelle TSK (SN) setzt Server 265 voraus
6 Die Schnittstelle xDomea (SN) setzt Server 265 und Java 7 voraus
7 Die Schnittstelle xGewerbeanzeigen setzt Server 281 BALVI iP 124x Java 8 mit
der bdquoJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy2ldquo und
das Grant Skript 158 oder houmlher voraus
8 Die Schnittstelle RioPP LM (NRW) setzt zwingen Server 30x und die ETL-
Konfiguration voraus
2 httpwwworaclecomtechnetworkjavajavasedownloadsjce8-download-2133166html
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1132
23 Erforderliche Bibliotheken fuumlr Tomcat
Dateiname Funktion Quelle
ojdbc6jar Oracle 11gR2 Clientpaket Oracle JDBC Client fuumlr Java 16 ersetzt die bisherige Version bdquoojdbc14jarldquo Die alte Library muss auf jeden Fall entfernt werden
httpwwworaclecomtechnetworkdatabaseenterprise-editionjdbc-112010-090769html
encrypted-datasource-110-alljar
Die Library muss auf jeden Fall entfernt werden Wird derzeit nicht weiter gepflegt da kein Interesse an der Funktionalitaumlt bestand
slf4j-api-1511jar
slf4j-log4j12-1511jar
log4jdbc4-12beta2jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
commons-dbcp-14jar
commons-pool-154jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
Erwartet wird stattdessen ab Tomcat7 die mitgelieferte bdquotomcat-jdbcjarldquo
log4j-1216jar (oder houmlher)
Logging-Funktionalitaumlt Apache Log4j httploggingapacheorglog4j12downloadhtml
bcprov-jdk15on-153jar (oder houmlher)
BouncyCastle Security Provider fuumlr SSLAES hellip wird ab Version 27 im Ordner bdquolibldquo des Tomcat erwartet Sollte es aus Sicherheitsgruumlnden erwuumlnscht sein eine aktuellere Version einzusetzen ist dieses idR moumlglich
httpmvnrepositorycomartifactorgbouncycastlebcprov-jdk15on153
24 Datenbank-Installation
Der Schnittstellen-Server benoumltigt auszligerhalb des angebundenen BALVI iP keine eigenen
Tabellen Die Web-Anwendung kann im einfachsten Fall direkt auf das Schema von BALVI iP
zugreifen indem der User und das Passwort des BALVI iP-Schemas in der Contextxml
eingetragen werden (nicht empfohlen)
Sollte dieses aus Sicherheitsgruumlnden nicht erwuumlnscht sein (empfohlen vom BSI und BALVI)
finden Sie im Paket ein GRANT-Skript um Zugriffsrechte vom BALVI iP Schema fuumlr den
Webservice-Schema-User einzurichten
Zwischen dem Schema von BALVI iP und jeder Web-Anwendung ist dann eine Trennung
moumlglich um sicherzustellen dass der Datenbank-Benutzer welcher in der Tomcat-
Konfiguration fuumlr die Web-Anwendung eingetragen wird geaumlndert oder geloumlscht werden
kann ohne dass die Windows-Anwendung BALVI iP davon betroffen ist Zudem vergibt das
von BALVI gelieferte Grant-Skript keine Rechte zum Loumlschen von Tabellenstrukturen oder
Tabelleninhalten so dass der Webservice nur festgelegte Daten aumlndern oder lesen darf Es
wird empfohlen je Web-Anwendung einen eigenen Datenbank-Benutzer zu vergeben wenn
sie ein BALVI iP mit mehreren Webservices verbinden wollen
Die Moumlglichkeiten im Uumlberblick
1) Sie betreiben den Webservice mit einem eigenstaumlndigen Oracle-Benutzer In diesem
Fall muss das Grant-Skript ausgefuumlhrt werden um den Webservice-Benutzer und
BALVI iP-Benutzer zu koppeln
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1132
23 Erforderliche Bibliotheken fuumlr Tomcat
Dateiname Funktion Quelle
ojdbc6jar Oracle 11gR2 Clientpaket Oracle JDBC Client fuumlr Java 16 ersetzt die bisherige Version bdquoojdbc14jarldquo Die alte Library muss auf jeden Fall entfernt werden
httpwwworaclecomtechnetworkdatabaseenterprise-editionjdbc-112010-090769html
encrypted-datasource-110-alljar
Die Library muss auf jeden Fall entfernt werden Wird derzeit nicht weiter gepflegt da kein Interesse an der Funktionalitaumlt bestand
slf4j-api-1511jar
slf4j-log4j12-1511jar
log4jdbc4-12beta2jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
commons-dbcp-14jar
commons-pool-154jar
Entfaumlllt nicht mehr erforderlich Es wird empfohlen diese zu entfernen falls diese im LIB-Verzeichnis vorhanden sein sollten
Erwartet wird stattdessen ab Tomcat7 die mitgelieferte bdquotomcat-jdbcjarldquo
log4j-1216jar (oder houmlher)
Logging-Funktionalitaumlt Apache Log4j httploggingapacheorglog4j12downloadhtml
bcprov-jdk15on-153jar (oder houmlher)
BouncyCastle Security Provider fuumlr SSLAES hellip wird ab Version 27 im Ordner bdquolibldquo des Tomcat erwartet Sollte es aus Sicherheitsgruumlnden erwuumlnscht sein eine aktuellere Version einzusetzen ist dieses idR moumlglich
httpmvnrepositorycomartifactorgbouncycastlebcprov-jdk15on153
24 Datenbank-Installation
Der Schnittstellen-Server benoumltigt auszligerhalb des angebundenen BALVI iP keine eigenen
Tabellen Die Web-Anwendung kann im einfachsten Fall direkt auf das Schema von BALVI iP
zugreifen indem der User und das Passwort des BALVI iP-Schemas in der Contextxml
eingetragen werden (nicht empfohlen)
Sollte dieses aus Sicherheitsgruumlnden nicht erwuumlnscht sein (empfohlen vom BSI und BALVI)
finden Sie im Paket ein GRANT-Skript um Zugriffsrechte vom BALVI iP Schema fuumlr den
Webservice-Schema-User einzurichten
Zwischen dem Schema von BALVI iP und jeder Web-Anwendung ist dann eine Trennung
moumlglich um sicherzustellen dass der Datenbank-Benutzer welcher in der Tomcat-
Konfiguration fuumlr die Web-Anwendung eingetragen wird geaumlndert oder geloumlscht werden
kann ohne dass die Windows-Anwendung BALVI iP davon betroffen ist Zudem vergibt das
von BALVI gelieferte Grant-Skript keine Rechte zum Loumlschen von Tabellenstrukturen oder
Tabelleninhalten so dass der Webservice nur festgelegte Daten aumlndern oder lesen darf Es
wird empfohlen je Web-Anwendung einen eigenen Datenbank-Benutzer zu vergeben wenn
sie ein BALVI iP mit mehreren Webservices verbinden wollen
Die Moumlglichkeiten im Uumlberblick
1) Sie betreiben den Webservice mit einem eigenstaumlndigen Oracle-Benutzer In diesem
Fall muss das Grant-Skript ausgefuumlhrt werden um den Webservice-Benutzer und
BALVI iP-Benutzer zu koppeln
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1232
2) In der Tomcat-Konfiguration wird der Oracle-Benutzer eingetragen welcher auch
der BALVI iP Schemabesitzer ist und in der bdquobalviip_conninildquo hinterlegt ist (NICHT
Empfohlen) Der Webservice hat 100 Zugriffsrechte (auch Loumlsch- oder
Aumlnderungsrechte am Schema) es wird kein Grant-Skript benoumltigt
Wenn Sie die Konfiguration 2) waumlhlen moumlchten koumlnnen Sie die folgenden Unterkapitel
uumlberspringen und in Kapitel 0 bzw fortsetzen
241 Erstinstallation Datenbank-User anlegen
Wenn Sie den Webservice-User vom BALVI iP Schema trennen moumlchten muss durch die DB-
Administration in der Oracle-Server-Instanz wo auch BALVI iP sein Schema besitzt ein User
(ggf je Web-Anwendung) angelegt werden welcher folgende Rechte benoumltigt
CONNECT
ALTER SESSION
CREATE JOB
CREATE PROCEDURE
CREATE SESSION
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
CREATE SEQUENCE
CREATE SYNONYM
QUERY REWRITE
Der Default-Tablespace ist frei waumlhlbar Der User braucht das Recht QUOTA UNLIMITED auf
den Tablespace von BALVI iP (Default BALVI_IP) Ein Beispiel-Create-Skript
bdquooraCreate_WEB_Usersqlldquo liegt der Auslieferung bei
242 Rechte zuweisen
Wenn der BALVI iP Schemabesitzer NICHT in der Tomcat-Umgebung eingetragen werden
soll muss ein Oracle DBA das beiliegende GRANT-Skript bdquooraGrantIP_to_Websqlldquo
ausfuumlhren um dem jeweiligen Webservice (in Tomcat verwendeten Oracle-User) die
minimalen Rechte auf das Schema von BALVI iP zu gewaumlhren
Dieses Skript setzt voraus dass es von einem Oracle Administrator als User SYSTEM
ausgefuumlhrt wird Lesen Sie die im Skript enthaltene README-Kommentare und passen Sie die
User (BALVI iP Schema) und (WEB-Schema) an
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMABESITZER
sUserBALVI_WEB = BALVI_WEB_SCHEMABESITZER
Neu ab Grant-Skript 158 ist die Umbenennung der Verfahrenszuordnung
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1332
Pruumlfen Sie dass die Einstellung fuumlr Ihr BundeslandVerfahren korrekt ist dort muss eine 1
fuumlr min ein Verfahren gesetzt sein Diese Einstellung befindet sich direkt unter den
Schemabesitzer-Angaben
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
Fuumlhren Sie das Skript nach der Anpassung als User SYSTEM aus um die Grants
durchzufuumlhren Dieses wurde mit dem von ORACLE gelieferten Programm SQLPLUS
(Command-Line) SQLPLUS Worksheet (GUI) und Oracle SQL-Developer getestet
Das Skript generiert fuumlr jedes Objekt ein SYNONYM fuumlr den WEB-USER so dass dieser auf die
Objekte ohne Angabe des Owners des IP-Schemas zugreifen kann Pruumlfen Sie nach der
Ausfuumlhrung dass die SYNONYMS vorhanden und VALID sind dieses kann ggf nicht der Fall
sein Das Skript kann jederzeit erneut ausgefuumlhrt werden um die Grants neu zu erzeugen
und bietet ebenfalls die Option alle Grants und Synonyme wieder zu entfernen Detaillierte
Informationen zur Nutzung des Skripts sind als Kommentar-Block im Skript enthalten
Hinweis Die Versionsinformation ist unter den Kommentaren direkt im Skript zu finden
Zugriffsberechtigungen fuumlr Webanwendungen auf BALVI iP anlegen
===============================================================
Version 158
Guumlltig fuumlr BALVI iP 123 oder houmlher
Autor Frank Holler
SVN Revisionsinformationen
$Revision 479 $
$Date 2016-02-15 152755 +0100 (Mo 15 Feb 2016) $
================================================================
243 Wann ist die Ausfuumlhrung des Grant-Skripts erforderlich
Durch das Strukturupdate von BALVI iP (zB 1240 auf 1241) werden veraltete Strukturen
geloumlscht und ggf neue Views oder Tabellen angelegt Die Grant-Rechte geht dabei ggf
verloren Daher ist die Ausfuumlhrung des Grant-Skripts immer dann erforderlich wenn sich die
Datenbank-Struktur von BALVI iP veraumlndert
Zudem kann es fachliche Neuerungen geben welche im alten Grant-Skript nicht vorhanden
sind Daher muss das Skript ggf auch ausgefuumlhrt werden wenn eine neue Schnittstelle im
Schnittstellenserver bereitgestellt wurde Dieses betrifft zB auch die Bereitstellung von
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1432
neuen Versionen von BALVI mobil XT da auch dort mit einem fachlich erweiterten Client
die Moumlglichkeit besteht dass neue Schnittstellen bereitgestellt und somit mehr
Schreibrechte auf Tabellen benoumltigt werden
244 Welche Version des Grant-Skripts soll ich nehmen
Wie der Schnittstellenserver sind auch die Grant-Skripte versioniert Neuere Versionen des
Grant-Skriptes sind abwaumlrts-kompatibel und koumlnnen immer verwendet werden auch wenn
in einer Schnittstellenbeschreibung eine aumlltere Version des Grant-Skriptes explizit benannt
wurde
245 Kombination von mehreren Verfahren
Wenn Sie zwei oder mehr Schnittstellen im BSS verwenden moumlchten ist es ggf erforderlich
auch mehrere Verfahren auf aktiv ( 1 ) zu setzen
Im Beispiel nehmen wir an Sie moumlchten bdquoeFildquo und bdquoBALVI Mobil XTldquo im Schnittstellenserver
bereitstellen In der Beschreibung von bdquoeFildquo steht dass das Grant-Skript V36 erforderlich
ist BALVI Mobil XT 18 erfordert jedoch schon V56
Wenn Sie beide Verfahren betreiben ist im Grant-Skript (V56 oder houmlher) die Einstellung fuumlr
beide Verfahren zu aktivieren
==================================================== DEKLARATIVER TEIL MUSS vom KUNDEN geaumlndert
bzw auf die korrekten SCHEMA-Namen angepasst
werden
Die USER-Namen muumlssen in Groszligbuchstaben
geschrieben sein sonst werden sie nicht
gefunden
====================================================
sUserBALVI_IP = BALVI_IP_SCHEMA
sUserBALVI_WEB = WEBAPP_SCHEMA
-- Verfahrensbezogene Konfiguration
-- Setzen Sie fuumlr das jeweilige Verfahren eine 1
-- BALVI Schnittstellenserver (BSS)
-- bis V266 auch BALVI Kommunikationsserver (BKS) genannt
-- generell fuumlr die meisten Verfahren guumlltig
-- Ab Version 57 entfaumlllt mit der Einfuumlhrung der
-- Schnittstelle XGewerbeanzeigen auch der separate Schalter
-- WS_BTR beide Verfahren wurden vereinheitlicht
WS_BSS = 1
-- WebService BTR (Betriebsstaumlttenregister) (NRW TH)
-- entfernt mit Update V57 setzen sie stattdessen bei WS_BSS = 1
--WS_BTR = 0
-- Probenahme Futtermittel im Browser(BY)
WS_PROBE_FM = 0
-- Risikoorientierte Probenplanung Futtermittel ndash RIOPP FM (BY)
WS_RIOPP_FM = 0
-- Verfahren Export an EFi (Status Pilotbetrieb)
WS_EFI = 1
-- neu ab Version 35 des Grant-Skriptes ist die Moumlglichkeit den Webuser
-- fuumlr das Loumlschen der Ausgangskoumlrbe explizit zu berechtigen bzw sogar einen
-- expliziten abweichenden User festzulegen Die Konfiguration in der
-- Job-Oberflaumlche sieht vordass man die Oracle-Datenbank-Zugangsdaten fuumlr
-- das Loumlschen einstellen muss Hier muss im Normalfall derselbe Oracle
-- Datenbankbenutzer eingetragen werden wie in der Tomcat-Verbindungs-
-- konfigurationIn diesem Fall sollte wenn WS_EFI = 1 eingestellt wurde
-- ebenfalls WS_EFI_DELETE = 1 eingestellt werden
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1532
-- Alternativen
-- 1) Datenbank-Benutzer aumlndern
-- Wenn bei sUserEFI_TRUNC anstatt sUserBALVI_WEB (Standard) ein anderer
-- Oracle-Benutzername angegeben wird wird das Loumlschrecht fuumlr die EFi
-- Ausgangskoumlrbe Datenbankseitig exklusiv dem angegeben Datenbankbenutzer
-- zugewiesen
-- 2) Loumlschrecht verweigern
-- Setzen Sie die Variablen WS_EFI_DELETE = 0 damit kein Loumlschrecht
-- zugeweisen wird
WS_EFI_DELETE = 0
-- Beispiel Anderer Benutzer muss in der Datenbank existieren
-- Entfernen Sie die fuumlhrenden -- vor der Variable sUserEFI_TRUNC und
-- setzen den entsprechenden Oracle-Benutzer ein
--sUserEFI_TRUNC = TEST_EFI_TRUNC
hellip
25 Konfiguration des Schnittstellen-Servers
251 Die bdquocontextxmlldquo-Parameter
Die von der Servlet-Spezifikation vorgegeben Rump-Struktur sieht folgendermaszligen aus
ltxml version=10 encoding=utf-8gt
ltDOCTYPE Contextgt
ltContextgt
lt-- Kundenspezifische Einstellungen --gt
ltContextgt
Anwendungsspezifische Einstellungen werden zwischen ltContextgt und ltContextgt
eingefuumlgt Alle allgemeinguumlltigen Einstellungen in der bdquoContextxmlldquo werden hier erlaumlutert
Kommentare finden sich auch in der von BALVI ausgelieferten Beispiel-Konfiguration
Neben den im Folgenden beschriebenen Standard-Einstellungen kann es auch vorkommen
dass bundeslandspezifische Erweiterungen vorhanden sind welche nicht in dieser
Dokumentation aufgefuumlhrt werden Diese funktionieren trotzdem regulaumlr weiter wenn
keine expliziten Informationen zu Kompatibilitaumltsproblemen in den Release-Notes
aufgefuumlhrt wurden
2511 Datenbankverbindung jdbcDataSource
Die Datenbankverbindung wird uumlber die von DBCP und dem Oracle-Treiber vorgegeben
Moumlglichkeiten realisiert Aufgrund von Inkompatibilitaumlten von
orgapachecommonsdbcpBasicDataSourceFactory (commons-dbcp-14) mit Java 8 wurde
diese entfernt Folgende DBCP V4-Kompatiblen Datasource-Factorys wurden getestet
orgapachetomcatjdbcpoolDataSourceFactory (Apache Tomcat 7 tomcat-dbcp)
Beispiel-Konfiguration mit orgapachetomcatjdbcpoolDataSourceFactory
ltResource
name=jdbcDataSource
auth=Container
type=javaxsqlDataSource
factory=orgapachetomcatjdbcpoolDataSourceFactory
maxActive=10 initialSize=3
maxIdle=5
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1632
maxWait=10000
url=jdbcoraclethinBL2-ORA10-KUNDENBALVIINTERN1521ORCL
driverClassName=oraclejdbcdriverOracleDriver
username=test_he_webm
password=12345
description=Oracle Datasource Hibernate
maxOpenPreparedStatements=50
removeAbandoned=false
removeAbandonedTimeout=100
logAbandoned=true
jdbcInterceptors=hellip
gt
Hinweise zur Einstellung der jdbcDataSource
Standard-Einstellungen fuumlr den Datenbank-Verbindungspool
Der Verbindungspool muss entsprechend der zu erwartenden gleichzeitigen Benutzeranzahl
konfiguriert werden Wenn Sie erwarten dass 50 Anwender gleichzeitig arbeiten stellen Sie
bitte folgende Werte ein
maxActive=(50 + 10 (fuumlr System und Jobs)) = 60
maxIdle= (50 10) = 5
1) maxActive - max Anzahl der gleichzeitigen aktiven Anfragen an die DB
Wenn das maxActive erreicht ist zB wenn mehrere Benutzer gleichzeitig einen Export
starten moumlchten welcher laumlngere Zeit in Anspruch nimmt dann kann der Server die
Anfrage nicht mehr bedienen und der Anwender wird abgewiesen
maxActive hat zudem Auswirkungen auf die im Hintergrund ausgefuumlhrten Jobs
maxActive wird daher kalkuliert mit der Anzahl der Anwender und moumlglicher
Datenbank-Connections fuumlr Hintergrund-Jobs Jeder aktiv ausgefuumlhrte Job benoumltigt
min eine Connection nur selten wird aus Performance-Gruumlnden mehr als eine
Connection waumlhrend der Job-Ausfuumlhrung verwendet Im Normalfall sollten daher 10
Connections fuumlr Hintergrundprozesse ausreichend sein
2) maxIdle - Anzahl der offenen Verbindungen auch wenn der Server im Leerlauf ist
Jede offene Verbindung im Leerlauf haumllt auf dem Datenbanserver eine Session offen
Auch diese erfordert Ressourcen Wenn die Verbindungen jedoch geschlossen werden
kann die Anfragezeit fuumlr eine neue Verbindung steigen da die Verbindung erst neu
ausgehandelt werden muss Die Empfehlung fuumlr maxIdle ist ca 10 der Einstellung von
maxActive
KeepAlive-Einstellungen fuumlr den Pool
1) validationQuery
Diese wird ausgefuumlhrt um die Verbindung zu DB zu validieren Es MUSS ein Datensatz
zuruumlckgegeben werden ansonsten nimmt der DBCP an dass die Abfrage nicht
erfolgreich abgesetzt wurde Achten Sie also bitte darauf dass die Abfrage nicht zu
Leitungsintensiv ist und genau einen Datensatz liefert
Oracle bietet dafuumlr die virtuelle Tabelle DUAL an welche sich fuumlr die ValidationQuery
sehr gut eignet da die Abfrage kaum Ressourcen verbraucht
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1732
validationQuery=select 1 from dual
2) testOnBorrow - Boolscher Wert true oder false
Diese Einstellung sorgt dafuumlr dass der Pool die Verfuumlgbarkeit anhand der
validationQuery pruumlft bevor die DB-Verbindung an die Anwendung ausgeliehen wird
Empfehlung
testOnBorrow=true
3) testWhileIdle - Boolscher Wert true oder false
Diese Einstellung ist hilfreich wenn zwischen dem Tomcat und der DB eine Firewall mit
Stateful Packet Insprection verwendet wird Nach laumlngerer Inaktivitaumlt wird
normalerweise durch die Firewall die DB-Verbindung geschlossen Dieses loumlst dann beim
Ausleihen der Verbindung eine Fehlermeldung im Protokoll aus
2012-08-16 165418720 WARN [http-0000-8080-8]
[orgspringframeworkjdbcsupportSQLErrorCodesFactory] Error while
extracting database product name - falling back to empty error codes
orgspringframeworkjdbcsupportMetaDataAccessException Error while
extracting DatabaseMetaData nested exception is
javasqlSQLRecoverableException Getrennte Verbindung
Um dieses Problem zu beheben sollte die Option testWhileIdle=true eingestellt
werden
testWhileIdle=true
Damit diese weiszlig wie oft eine Pruumlfung durchgefuumlhrt werden muss sind jedoch noch
zusaumltzliche Angaben erforderlich welche fuumlr die Einstellung der Zeit zusaumltzlich gesetzt
werden muumlssen
a minEvictableIdleTimeMillis - Long in Millisekunden
Min Zeit wie lange eine DB-Verbindung im Leerlauf ist bevor diese zur
Pruumlfung gekennzeichnet wird Dieses haumlngt stark von der Einstellung der
Firewall ab Wenn Sie eine sehr restriktive Firewall haben kann es sein dass
diese die Verbindung nach wenigen Minuten Leerlauf trennt Stellen Sie den
Wert immer so ein dass dieser unter der Leerlaufzeit der Firewall liegt
empfohlen 300000 entspricht 300 Sek = 5 min
minEvictableIdleTimeMillis=300000
b timeBetweenEvictionRunsMillis - Long in Millisekunden
Der Pruumlflauf startet in der Default-Konfiguration alle 1800000 Millisekunden =
30 Min n als zu Pruumlfen markierten Verbindungen werden in einem Pruumlflauf
getestet n wird bestimmt durch die Einstellung numTestsPerEvictionRun
Empfehlung Stellen Sie den Wert auf alle 15 Min ein
timeBetweenEvictionRunsMillis=900000
c numTestsPerEvictionRun - Integer
Wie viele Verbindungen sollen getestet werden waumlhrend der Pruumlflauf
ausgefuumlhrt wird Im Normalfall sollte die Anzahl der zu testenden Verbindungen
nicht zu hoch eingestellt werden Der Default ist 3 Wenn Sie houmlhere Sicherheit
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1832
haben wollen dass keine bdquototenldquo Datenbankverbindungen bestehen bleiben
erhoumlhen Sie den Wert auf max bdquo(maxActive ndash maxIdle) 2ldquo Wenn Ihnen 3
ausreichend erscheint muss der Wert nicht gesetzt sein dann wird der Default
verwendet
Beispiel numTestsPerEvictionRun=10
Optionale DEBUG-Einstellungen fuumlr den Datenbank-Verbindungspool wenn Sie als Factory
orgapachetomcatjdbcpoolDataSourceFactory verwenden
Der bdquoStatementFinalizerldquo sollte dafuumlr sorgen dass eine Fehlermeldung im Protokoll
catalinaout auflaumluft wenn eine Connection nicht sauber an den Pool zuruumlckgegeben wird
und gleichzeitig logAbandoned aktiviert wurde
Umsetzung
Fuumlgen Sie die folgenden Parameter in der DataSource hinzu
removeAbandoned=true
removeAbandonedTimeout=3600
logAbandoned=true
testOnReturn=true
jdbcInterceptors=orgapachetomcatjdbcpoolinterceptorConnectionS
tate orgapachetomcatjdbcpoolinterceptorStatementFinalizer
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
1932
2512 Datenbank-Zugangsdaten verschluumlsseln
Die Verschluumlsselung fuumlr die Datenbank-Verbindung (bdquoEncrypted Datasourceldquo) ist eine
Ableitung der Bibliothek Apache-Common-DBCP-14 und daher nicht mehr mit Java 8
kompatibel Die Einrichtung der Verschluumlsselung wird daher mit der Auslieferung des BSS 30
nicht mehr angeboten
2513 Active-Directory-Authentifizierung
Uumlber die folgenden Parameter wird der Zugriff des Schnittstellen-Servers auf einen
Microsoft Active Directory Domain-Controller konfiguriert
ldquoldapServerAddressrdquo
Syntax PROTOKOLLIP-Adresse oder DNS-NamePORT
ltEnvironment
name=ldapServerAddress
value=ldapbl2-dc02balviintern389
type=javalangString
override=true
gt
Als Protokoll besteht auch die Moumlglichkeit ldaps (LDAP+SSL) wenn der Domain-Controller
entsprechend konfiguriert wurde Im Java Truststore muss dann das Zertifikat der CA
vorhanden sein welche das Zertifikat des Domain-Controller signiert hat Zudem darf bei
ldaps keine IP-Adresse verwendet werden es muss der DNS-Name des Server-Zertifikats
eingetragen sein Ansonsten gibt es beim Verbinden eine Sicherheits-Exception
lt-- SSL-Beispiel
ltEnvironment
name=ldapServerAddress
value=ldapsbl2-dc02balviintern636
type=javalangString
override=true
gt
--gt
bdquoldapBaseDnrdquo
LDAP-Suchpfad fuumlr die Domain-Basis Diese muss der LDAP-Syntax fuumlr den Domain-Suffix
entsprechen
Syntax DC=SERVERDC=ROOTDN
ltEnvironment
name=ldapBaseDn
value=DC=BALVIDC=INTERN
type=javalangString
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2032
bdquowebLoginUseActiveDirectoryAuthenticationrdquo
Die Authentifizierung in der Browser-Oberflaumlche kann uumlber die Active-Directory-
Authentifizierung erfolgen In der ersten Version ist nur die Protokoll-Auswertung moumlglich
wenn der ADMIN sich anmeldet Dieser hat normalerweise niemals AD-Kennungen
zugeordnet Es wird von BALVI empfohlen diese Einstellung auf bdquofalseldquo zu belassen
Webservices welche uumlber SOAPREST zugreifen koumlnnen die Active-Directory-
Authentifizierung trotzdem verwenden
ltEnvironment
name=webLoginUseActiveDirectoryAuthentication
value=false
type=javalangBoolean
override=true
gt
ldquoldapDaysBeforeExpirationNotificationrdquo
Die Passwort-Aumlnderung im Active-Directory uumlber die Browser-Oberflaumlche ist in der ersten
Version noch nicht implementiert der Parameter wird bislang nicht ausgewertet
ltEnvironment
name=ldapDaysBeforeExpirationNotification
value=14
type=javalangInteger
override=true
gt
2514 Statement-Protokollierung in BALVI iP
Diese Option aktiviert die Lese- und Aumlnderungsprotokollierung fuumlr BALVI iP Standard ist
bdquofalseldquo und wird fuumlr alle Kunden empfohlen solange keine speziellen Datenbank-Jobs
eingerichtet wurden welche zeitgesteuert die Protokolleintraumlge wieder loumlschen Fuumlr Bayern
wurde ein spezielles Konzept zur Leseprotokollierung entworfen Wenn Sie mehr daruumlber
erfahren moumlchten kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=enableSqlStatementMonitoring
value=true
type=javalangBoolean
override=true
gt
Beachten Sie dass diese Option massive INSERT-Statements in BALVI iP in die Tabelle
VIS_D92 ausfuumlhrt Jedes abgesetzte SQL-Statement wird dabei vollstaumlndig protokolliert
Dieses erzeugt eine sehr hohe INSERT-Last und in der Folge auch erhoumlhte Redolog-Switches
und COMMIT-Transaktionen
Optional Aktivieren der INSERT + APPEND - Logik
Beachten Sie bitte die Hinweise von Oracle zum Hint + APPEND
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2132
Wenn Sie dieses Verhalten aktivieren moumlchten ergaumlnzen Sie bitte den folgenden
Environment-Parameter
ltEnvironment
name=statementMonitoringactivateAppendMode
value=true
type=javalangBoolean
override=true
gt
2515 Einstellungen fuumlr BALVI Mobil XT (bzw den bdquopartitionedExportldquo)
Diese Logik des FIFO-Buffers wurde so konzipiert dass dem Rechenzentrum diverse
Einstellmoumlglichkeiten uumlber die bdquocontextxmlldquo zur Verfuumlgung stehen um die Steuerung des
FIFO-Puffers zu beeinflussen
Schematische Darstellung des FIFO-Puffers
Dieses ermoumlglicht es zB dem BALVI Mobil XT Client (14 oder houmlher) den aktiven Block
abzuholen und beim Fehler dieses bis zu 10-mal zu wiederholen Sobald der Block [001]
erfolgreich beim Client angekommen ist und dieser den naumlchsten Block anfragt wird der
Block [001] verworfen wird Der Server fuumlllt dann im Hintergrund den frei gewordenen Block
wieder waumlhrend der Client den Block [002] abholt
Die Groumlszlige und Anzahl der vorgecachten Bloumlcke kann uumlber die folgenden Einstellungen in der
Contextxml definiert werden
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
Die Einstellung partitionedExportmaxBufferedPartitions ist dabei die Anzahl der
vorgecachten Bloumlcke mindestens muss 2 angegeben werden Der Puffercache wird
ausschlieszliglich im RAM der JVM aufgebaut es wird folglich mehr Arbeitsspeicher verwendet
Akt
iver
Pu
ffer
[001] Vo
rgec
ach
ter
Blo
ck
[002] Vo
rgec
ach
ter
Blo
ck
[003]
Akt
iver
Pu
ffer
[002] Vo
rgec
ach
ter
Blo
ck
[003] Vo
rgec
ach
ter
Blo
ck
[leer]
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2232
Dieser Arbeitsspeicher muss je gleichzeitiger Session auf dem Server bereitgestellt werden
die Default-Einstellung mit 3 Partitionen a 256 kB + dem Aktiven Puffer erfordern 1 MB RAM
je aktiven Anwender
Gleichzeitig wurde die Moumlglichkeit geschafften dass die max Anzahl an gleichzeitigen
Exporten durch das Rechenzentrum eingeschraumlnkt werden kann um einem OutOfMemory-
Fehler vorzubeugen Die Einstellung
ltEnvironment
name=partitionedExportmaxConcurrentExports
value=10 type=javalangInteger override=true
gt
muss entsprechend der zu erwartenden gleichzeitigen Zugriffe konzipiert werden
ansonsten wird der Server einen Verbindungsversuch durch die Clients ablehnen
Beachten Sie dass die folgenden Einstellungen partitionedExportmaxBufferedPartitions
partitionedExportmaxConcurrentExports und partitionedExportpartitionSize gemeinsam
als Rechenbasis fuumlr den RAM-Bedarf des Webservers herangezogen werden muumlssen
Folgende Faustformel sollte fuumlr die Einrichtung verwendet werden
Min 256 MB (Serverbasis) + (11 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
256 MB + (11 50 256 4) KB = 312 MB fuumlr die JVM
Empf 512 MB (Serverbasis) + (12 partitionedExportmaxConcurrentExports
partitionedExportmaxBufferedPartitions partitionedExportpartitionSize)
Beispiel 50 gleichzeitige Anwender Blockgroumlszlige 256 KB 4 Partitionen
512 MB + (12 50 256 4) KB = 572 MB fuumlr die JVM
partitionedExportmaxConcurrentExports
Bestimmt die Anzahl der maximalen Export Tasks(Threads) die fuumlr partitionierte Exporte
bereitgestellt werden Wenn die Anzahl uumlberschritten wird wird die entsprechende Export
Anfrage abgewiesen und der Client muss zu einem spaumlteren Zeitpunkt erneut anfragen
Stellen Sie diesen Wert entsprechend der zu erwartenden Useranzahl ein bei 50 Anwendern
also 50
Exporte oumlffnen auf der Datenbank entsprechend zur Ausfuumlhrungszeit min einen Cursor ggf
fuumlr rekursive Unterabfragen kurzfristig sogar mehr Die hier eingestellte Anzahl muss mit
der Anzahl von maxActive korrelieren
ltEnvironment
name=partitionedExportmaxConcurrentExports
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2332
value=10 type=javalangInteger override=true
gt
partitionedExportmaxBufferedPartitions
Bestimmt die Anzahl der Datenbloumlcke (Partitionen) die vom Server bei Abruf eines Exportes
gepuffert werden Die seit Version 24 eingefuumlhrte FIFO-Buffer-Logik ermoumlglicht dass der
Server schon die Ergebnisse vorpuffert so dass der Client weniger Wartezeiten bei der
Anfrage nach Daten hat Diese Puffer-Logik unterteilt den Expotdatenstrom (je Export) in
mehre Bloumlcke Der Client kann nun den letzten Block neu anfordern oder den naumlchsten
Block wenn der letzte Block erfolgreich verarbeitet wurde Wie viele naumlchste Bloumlcke durch
den Server bereit gestellt werden entscheidet diese Einstellung Sobald kein naumlchster Block
mehr bereit gestellt werden muss wird der Datenbank-Cursor geschlossen eine Erhoumlhung
kann also zu einer Entlastung der aktiven DB-Verbindungen fuumlhren erhoumlht jedoch den
Bedarf an RAM des Servers
Default von BALVI 3
ltEnvironment
name=partitionedExportmaxBufferedPartitions
value=3 type=javalangInteger override=true
gt
partitionedExportpartitionSizeldquo
Die Groumlszlige jedes Blocks (Partitionen) in Bytes die an den Client uumlbermittelt werden Wenn
Sie diese Einstellung zu gering einstellen reduziert sich die Effizienz des Caches da der
Client mehr Bloumlcke hintereinander abrufen muss wenn der Wert zu groszlig gewaumlhlt wird wird
die neu zu uumlbertragende Datenmenge im Fall von Fehlern houmlher
Default von BALVI 256 KB = 256000
ltEnvironment
name=partitionedExportpartitionSize
value=256000 type=javalangInteger override=true
gt
exportTokensmaxTokenCount
Maximale Anzahl der gleichzeitig vergebenen Token die vom Server gecached werden
Jede Sitzung welche einen Export durchfuumlhrt erhaumllt einen Session-Token
Wenn die Sitzung laumlngere Zeit nicht verwendet wurde werden diese Session-Token wieder
entfernt Wenn Sie den Wert zu gering einstellen fuumlhrt dieses zu einer generellen Session-
Begrenzung auch fuumlr den nicht partitionierten Export-Modus welcher ab Version 21
verfuumlgbar ist
Ist die Anzahl der Tokens houmlher als die Datenbankeinstellung maxActive so kann es
vorkommen dass zwar eine Session gestartet werden kann jedoch kein Datenexport
zustande kommt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2432
Der Default von BALVI ist 2000
ltEnvironment
name=exportTokensmaxTokenCount
value=20 type=javalangInteger override=true
gt
exportTokenstokenExpirationInSeconds
Anzahl der Sekunden nach denen ein Token unguumlltig wird falls darauf kein Zugriff mehr
erfolgt Nach einem erfolgreichen Export wird der Token automatisch geschlossen diese
Option ist fuumlr den Abbruchfall vorgesehen Default von BALVI 180 Sek = 3 Min
ltEnvironment
name=exportTokenstokenExpirationInSeconds
value=180 type=javalangInteger override=true
gt
exportTokenstokenDisposalInSeconds
Anzahl der Sekunden nach denen ein Token das erfolgreich abgearbeitet wurde aus dem
Cache geloumlscht wird Um sicher zu stellen dass der letzte Exportblock noch erfolgreich
abgerufen werden kann bleibt der Token auch nach Fertigmeldung des Clients noch N Sek
guumlltig
Default von BALVI ist 60
ltEnvironment
name=exportTokenstokenDisposalInSeconds
value=60 type=javalangInteger override=true
gt
2516 Job-Verwaltung fuumlr den BSS konfigurieren
Aktivierung der Jobverwaltung
Bis Version 28 gab es den Parameter bdquoavailableServicesldquo Dieser konnte bei Bedarf aktiviert
werden wenn die Jobs benoumltigt wurden
Mit Version 30 ist die Einstellung bdquoavailableServicesldquo ist zu entfernen und kann durch den
neuen optionalen Parameter bdquoisJobServiceEnabledldquo in der Contextxml ersetzt werden
lt-- Neue Paramter zur Aktivierung des Job Service Ersatz fuumlr
availableServices --gt
ltEnvironment
name=isJobServiceEnabled
value=true
type=javalangBoolean
override=true
gt
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2532
Ab dem BSS 30 wird die Jobs-Engine standardmaumlszligig aktiviert Sollte die Jobs-Engine nicht
benoumltigt werden muss bei bdquovalueldquo der Wert bdquofalseldquo gesetzt werden Wird
bdquoisJobServiceEnabledldquo nicht eingefuumlgt sind die Jobs trotzdem standardmaumlssig aktiv
Nach dem Neustart des Servers und erneutem Einloggen erscheint nun zusaumltzlich der
Menuumlpunkt bdquoJobsldquo
bdquopasswordKeyldquo fuumlr Jobs
In der Job-Logik wird ein von BALVI definierter Standard-Schluumlssel fuumlr die Ablagen von
schuumltzenswerten Daten zB Passwoumlrtern verwendet Diese Einstellung ermoumlglicht den
BALVI-Standard zu uumlberschreiben Wenn Sie diese Einstellung aumlndern muumlssen jedoch alle
bislang verschluumlsselten Job-Parameter neu verschluumlsselt werden
ltEnvironment
name=javacompenvjobspasswordKey
value=MeinHochsicheresNeuesPasswort
type=javalangString
override=true
gt
bdquoJob ID enableddisabledldquo (Deprecated ersetzt ab 28 durch das bdquobindenldquo von Jobs)
Sondereinstellungen fuumlr die Job-Verwaltung Da alle Jobs in einer Datenbank administriert
werden jedoch ggf verteilt auf mehreren Tomcat-Servern ausgefuumlhrt werden sollen
besteht hier die Option Jobs fuumlr die aktuelle Tomcat-Instanz separat zu deaktivieren
Die Einstellung ID koumlnnte zB folgendermaszligen aussehen
javacompenvjobsC0DB58D8D52C4BBC966D1DC788A4EF8Benabled
Fuumlr weitere Fragen zu dieser Einstellung kontaktieren Sie bitte die BALVI GmbH
ltEnvironment
name=javacompenvjobsIDenabled
value=false
type=javalangBoolean
override=true
gt
2517 Weitere optionale Parameter
Es ist fuumlr diverse einzelne Schnittstellen ggf erforderlich Einstellungen in der
bdquocontextxmlldquo zu ergaumlnzen Hinweise zu diesen Parametern sind dann im der Schnittstelle
beiliegenden Dokument enthalten Das gilt zB fuumlr die Schnittstelle bdquoxGewerbeanzeigenldquo
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2632
26 Logging mit logback
Das Logging wurde komplett uumlberarbeitet statt Log4J wird jetzt logback3 benutzt Ab BSS
30 ist es zwingend notwendig die Einstellung vorzunehmen um das Logging der Anwendung
zu steuern
Migration Ergaumlnzen sie die neue Einstellung bdquologgingconfigldquo
lt-- Neue Paramter zur Angabe der Logback Config Ersatz fuumlr
log4jConfigLocation --gt
ltEnvironment
name=loggingconfig
value=$catalinabaseconflogback-bssxml
type=javalangString
override=true
gt
Wie gehabt steht es dem Kunden frei die Logging-Konfiguration eigenstaumlndig anzupassen
Wenn Sie jedoch dieselbe WAR in einer Tomcat-Instanz unter mehreren Context-Namen
betreiben wuumlrden beide dieselbe Logging-Konfiguration verwenden so dass alle
Protokolleintraumlge in einer Log-Datei aus mehreren Webanwendungen generiert werden
Aumlndern den Namen der Logging-Konfiguration entsprechend ab um je Anwendung eine
spezifische Logging-Einstellung vornehmen zu koumlnnen
27 Tocmat Optional Suche im bdquoKlassenpfadldquo um den Ordner
bdquoconfldquo erweitern
Die Suche nach Dateien uumlber bdquoclasspathldquo setzt voraus dass die Ordner- und Dateinamen im
Tomcat bekannt gegeben werden Der Klassenpfad kann in der catalinaproperties
angepasst werden Wenn Sie dort unter commonloader die folgenden Werte
ergaumlnzen kann eine Datei auch im Ordner conf abgelegt werden damit Tomcat diese
findet Ansonsten muss die Datei im Ordner lib abgelegt werden
commonloader=$catalinabaseconf$catalinahomeconf
3 httplogbackqoschmanualappendershtml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2732
3 Die neue Browser-Oberflaumlche
Der BALVI Schnittstellen-Server hat seit Version 25 neben der Protokollierung auch die
Moumlglichkeit Job-Konfigurationen zu pflegen Der Login ist nur fuumlr einen in BALVI iP
eingetragenen ADMIN (zB User bdquoSYSTEMADMINldquo) mit dem in BALVI iP hinterlegten
Passwort moumlglich Zur Anmeldung muss immer [SYSTEMBenutzername] im Feld Benutzer
angegeben werden ansonsten schlaumlgt die Anmeldung fehl Bitte achten Sie darauf dass der
bdquoldquo (Slash) und nicht der bdquoldquo (Backslash) verwendet werden muss
31 Server-Protokoll
Um das Server-Protokoll anzuzeigen waumlhlen Sie den entsprechenden Menuumlpunkt
Im Objekt haben Sie seit Version 26 die Moumlglichkeit im Protokoll zu suchen
Verfahren
Die Liste der verfuumlgbaren Verfahren wird derzeit noch uumlberarbeitet Bislang sind folgende
Verfahren verfuumlgbar
MOBILXT Protokolle der BALVI Mobil XT Synchronisation
WEB Allgemeine nicht spezifizierte Protokolle hierunter ist bislang auch die eFi-
Protokollierung zu finden
WEB_I0802 Protokolle zur Schnittstelle BALVI iP LIMS (Lebensmittelproben)
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2832
Klicken Sie auf die Schaltflaumlche so besteht bei den neuen
Protokolldatensaumltzen die Moumlglichkeit Detail-Informationen zum
Protokollsatz zu erhalten
32 Jobs
Der Menuumlpunkt Jobs ruft die Oberflaumlche fuumlr die Job-Konfiguration auf Hier koumlnnen die Jobs
eingesehen werden die fuumlr den BSS freigegeben sind Verschiedene Einstellungen sind hier
moumlglich zB aktivierendeaktivieren eines Jobs oder Einstellungen fuumlr den Job vornehmen
Die Beschreibungen bzw Einstellungsmoumlglichkeiten fuumlr den jeweiligen SST-Job sind nicht
Bestandteil dieser Dokumentation
33 Log-Ausgaben
Uumlber den entsprechenden Menuumlpunkt Log-Ausgaben koumlnnen sie sich die Ausgabe der Logs
anschauen
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
2932
Sie koumlnnen hier zB die Logdateien herunterladen Logausgabe anhalten oder uumlber den
Button Logging-Parameter einstellen
In der Logging-Parameter Konfiguration koumlnnen sie verschieden Parameter einstellen und
uumlber den Button Anwenden dann ausfuumlhren lassen
34 LogoutAbmeldung vom System
Zum Abmelden waumlhlen Sie oben rechts das Kontextmenuuml
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3032
35 Cache loumlschen
Das Loumlschen des Caches passiert in der Regel automatisch Wenn Sie jedoch gerade in BALVI
iP eine Aumlnderung an den Schnittstellen eingespielt haben und moumlchten dass diese sofort
wirksam wird kann die Funktion bdquoCache loumlschenldquo dazu verwendet werden dass der
Kommunikationsserver die Einstellungen bei der naumlchsten Anfrage neu einliest
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3132
4 Einrichtung in BALVI iP
Um die Verfahren fuumlr den BALVI Schnittstellenserver fuumlr Anwender freizuschalten wird das
Objekt bdquoSystemeinstellungenldquo oder bdquoMandanten- und Benutzereinstellungenldquo verwendet
Die Anpassung ist je Verfahren moumlglich so kann in BALVI iP fuumlr den Zugriff durch den BALVI
Kommunikationsserver einen Benutzer bdquoAldquo am Verfahren bdquoMobilldquo berechtigt werden ein
Benutzer bdquoBldquo nur am Verfahren bdquoSLA_FLESHldquo usw Die Logik ist jedoch Einheitlich Je
Verfahren wird durch BALVI eine Verfahrensgruppe mit dem Verfahrensnamen angelegt und
mit den entsprechenden Einstellungen vorkonfiguriert welche durch das Verfahren
erforderlich sind Dabei kann die Komplexitaumlt der Einstellungen variieren wie zB an den
zu Version 23 verfuumlgbaren Verfahren bdquoMobilldquo und bdquoSLA_Fleshldquo ersichtlich wird
Im Verfahren BALVI Mobil sind diverse Anpassungen moumlglich welche je Bundesland oder
eingesetzter Import- und Export-Variante durch den BALVI Schnittstellenserver bei der
Bearbeitung von Anfragen gepruumlft werden siehe Punkt 3 Abb Mobil-Einstellung in iP
Abb Mobil-Einstellung in iP
Alle Verfahren verwenden jedoch die regulaumlre Benutzerverwaltung von BALVI iP Ein
Benutzer ohne Passwort gilt fuumlr BALVI iP als gesperrt was fuumlr den Login bedeutet dass der
Anwender sich nur uumlber die Active-Directory-Authentifizierung anmelden kann Ist dieses
nicht moumlglich (bzw nicht konfiguriert) kann der Anwender sich weder in BALVI iP noch
uumlber die Webservice-Schnittstelle authentifizieren
Fuumlr Dienste-Schnittstellen welche keine persoumlnliche Authentifizierung durch einen
Anwender erfordern wird empfohlen einen separaten Benutzer in der Benutzerverwaltung
anzulegen und ein sicheres Kennwort zu vergeben Das Anlegen von zusaumltzlichen Benutzern
gilt nicht fuumlr BALVI Mobil XT da beim Holen und Uumlbermitteln von Daten jeder Benutzer
auch ein fachlich konfigurierter Anwender innerhalb von BALVI iP ist und die
Anwendungsoberflaumlche ebenfalls zur Erfassung von Daten verwendet
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich
copy BALVI GmbH
Releasenotes BALVI Schnittstellenserver
3232
Unter Punkt 2 der Abb Mobil-Einstellung in iP wird ein modales Fenster geoumlffnet(Abb
Mobil Benutzerverwaltung iP) Innerhalb dieses modalen Fensters werden mandantenweise
die Benutzer fuumlr BALVI Mobil und Fachbereich festgelegt Wichtig dabei das man die Haken
fuumlr Mobil und eine Fachbereich setzt weil sonst keine Kommunikation mit BALVI iP uumlber den
Schnittstellenserver moumlglich ist
Abb Mobil Benutzerverwaltung iP
Alternativ zur Passwort-Authentifizierung wird wie beschrieben auch die Active-Directory-
Authentifizierung angeboten Dazu muss der BALVI iP-Anwender uumlber die Schaltflaumlche
bdquoDomaumlnen-Benutzer zuordnenldquo mit dem Active Directory verknuumlpft werden
Nur wenn in BALVI iP und dem Kommunikationsserver die Active-Directory-Konfiguration
identisch auf dieselbe Domaumlne verweist ist die Domaumlnen-Zuordnung und die Active-
Directory-Authentifizierung (zB uumlber BALVI Mobil XT) moumlglich