Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootSOSI-GW - Leverancebeskrivelse
includeroottrue


SOSIGW

Installationsvejledning for SOSIGW 1.2


Anchor
_Toc19517
_Toc19517
Indeks

...

Anchor
_Toc19518
_Toc19518
Revisionshistorik

Version

Dato

Ændring

Ansvarlig

1

09/10/09

Initiel version af dokument

jre

2

15/10/09

Formattering og præciseringer

jre

3

19/10/09

Præciseringer

pto

4

19/10/09

Præciseringer

Pto

5

30/3/11

Dokumentation af muligheden for flere
STS-url'er.
Forsimpling af NSP-Util SLA-log
konfiguration efter opgradering til NSPutil v 1.0.0

Jrf

6

15/6/11

Dokumentation af installation på JBoss 6

JRF

7

29/08/13

Opdateret med NSP-GW muligheder

CHE

8

11/05/16

Dokumentation af installation på Wildfly
8.2

OBJ

9

17/06/16

Dokumentation af opsætning af HTTPS

OBJ

Anchor
_Toc19519
_Toc19519
Introduktion

...

Der kræves maskiner med mindst to separate netværk. Dette krav kan opfyldes enten ved at benytte servere med to fysiske netkort eller ved at benytte VLAN. I begge tilfælde skal de to net konfigureres til at være separate. Formålet er at have et net, der udelukkende kan tilgås af SOSI-GW serverne, til intra-cluster kommunikation. Til test og udviklingsformål kan man nøjes med ét netkort.
Der kræves maskiner med tilstrækkeligt med RAM og CPU til at bære belastningen. Tests hos Trifork har vist at det er tilstrækkeligt med 1.5GB RAM og en 1.5GHz cpu for at servicere omkring 20.000 brugere med omkring 100.000 webservice-kald gennem SOSI-GW i timen. Der kan med fordel anvendes maskiner med flere cores/CPU'er, hvis større belastning forventes.
Der bør anvendes mindst to servere og en loadbalancer (eller auto-balancerende klienter) for at kunne benytte fail-over og rullende opgradering uden afbrydelse af servicen overfor brugerne. Der kan også opsættes flere maskiner, hvis der ønskes skalerbarhed ud over hvad to maskiner kan bære.
SOSI-GW er fuldstændig afhængig af korrekt systemtid og korrekt tidszone. Systemtiden indgår i de id-kort, der udstedes, og den skal ikke være mange sekunder forkert, før id-kortet ikke fungerer. Cluster-funktionaliteten kræver at systemtiden forløber kontinuerligt, mens den er mindre interesseret i at den er præcis. Som samlet resultat kræves der at serveren benytter NTP eller lignende, med en god implementation, der aldrig skifter tiden brat, men kun påvirker den ved glidende at tilpasse systemtiden til virkeligheden. Skulle det blive nødvendigt "hårdt" at "stille" systemtiden bør SOSI-GW stoppes på den pågældende server først.

Anchor
_Toc19521
_Toc19521
Installér ønsket JDK.

...

For Java7 og Java8 konfigureres dette tilsvarende. De 2 jar-filer findes her:

...

Se script i sosigw/etc/sql/create-global-mysql-db.sql og tips i sosigw/doc/postgresqlsetup-notes.txt. Der er til test benyttet charset="UTF-8" i databasen. Bemærk at der
IKKE må anvendes de passwords, som foreslås i scriptene! Det er sikkerhedsmæssigt uforsvarligt at drifte med password lig med brugernavn.

Anchor
_Toc19530
_Toc19530
Installér webcontainer

SOSI-GW kræver en servlet-container version 2.4. Der er til test og udvikling benyttet Apache Tomcat version 5.5.25 og Trifork T4 version 4.1.29. SOSI-GW er desuden afhængig af NSP-Util som kræver at opsætningsfilen 'nspslalogsosigw.properties' findes i de nedenstående mapper. Placeringen af nspslalogsosigw.properties kan desuden defineres eksplicit ved at sætte
"dk.sdsd.nsp.slalog.config.dir" som Java property ved serveropstart. For eksempler på indhold i konfigurationsfilen henvises til NSP-util kildekoden i 'etc/nspslalogEXAMPLE.properties'

Anchor
_Toc19531
_Toc19531
JBoss 4

...

/server/default/conf
Ved start af JBoss skal det sikres at der reserveres tilstrækkeligt med RAM til Java heap. Dette gøres for tiden ved at sætte "JAVA_OPTS=-Xmx1024m" før start, eller rette i JBOSS.HOME/bin/run.conf. 1024 megabytes til heapen kræver at maskinen har mindst 1.2GB ram til rådighed.

Anchor
_Toc19533
_Toc19533
Apache Tomcat

...


<datasources> ...
<datasource jndi-name="java:/jdbc/sosigwlocal" pool-name="sosigwlocal" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/sosigwlog</connection-url>
<driver>mysql</driver>
<security>
<user-name>xxx</user-name>
<password>xxx</password>
</security>
</datasource>
<datasource jndi-name="java:/jdbc/nspslalog" pool-name="nspslalog"
enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/nspslalog</connection-url>
<driver>mysql</driver>
<security>
<user-name>xxx</user-name>
<password>xxx</password>
</security>
</datasource>
<datasource jndi-name="java:/jdbc/sosigwgloballog" pool-name="sosigwgloballog" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/sosigwgloballog</connectionurl>
<driver>mysql</driver>
<security>
<user-name>xxx</user-name>
<password>xxx</password>
</security>
</datasource>
<datasource jndi-name="java:/jdbc/centralslalog" pool-name="centralslalog" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/sosigwcentrallog</connectionurl>
<driver>mysql</driver>
<security>
<user-name>xxx</user-name>
<password>xxx</password>
</security> </datasource> ...
<drivers> ...
<driver name="mysql" module="com.mysql">
<driver-class>com.mysql.jdbc.Driver</driver-class> </driver>
</drivers>
</datasources>
Et eksempel på definitioner findes i etc/wildfly/standalone/configuration/ standalone.xml.
3. Såfremt SOSI-GW skal kunne kaldes med HTTPS, konfigureres dette ligeledes i standalone.xml:
Under "security-realms" tilføjes følgende:
<security-realm name="SslRealm">
<authentication>
<truststore path="truststore.jks" relative-to="jboss.server.config.dir" keystorepassword="changeme"/> </authentication>
<server-identities>
<ssl>
<keystore path="keystore.jks" relative-to="jboss.server.config.dir" keystorepassword="changeme"/> </ssl>
</server-identities> </security-realm>
En java-keystore med et gyldigt SSL servercertifikat, udgivet af en gængs certifikatudbyder, placeres i standalone/configuration. Filnavn og password tilrettes i ssl/keystore linjen vist ovenfor.
I afsnittet authentication/truststore angives en anden java-keystore med navn og password, i hvilke SSL-klient-certifikater, der eksplicit skal trustes, kan placeres. Denne keystore placeres ligeledes i standalone/configuration.
Under linjen <http-listener name="default" socket-binding="http"/> tilføjes en ny linje:
<https-listener name="default-ssl" socket-binding="https" security-realm="SslRealm" verify-client="REQUIRED"/>
verify-client="REQUIRED" bevirker at der valideres for gyldigt og trusted klient-certifikat i SSL-handshake. Dette kan undlades, hvis klient-certifikat ikke skal valideres.
Default https-port er 8443. Dette kan tilrettes i samme fil.

  1. Tilret konfiguration af max. memory allocation pool:

set "JAVA_OPTS=-Xms64M -Xmx1024M -XX:MaxPermSize=256M"
Dette tilrettes i bin/standalone.conf.bat eller bin/standalone.conf, afhængigt af anvendt operativsystem.

  1. Kopier konfigurationsfiler til standalone\configuration:

...


<path name="com/sun/org/apache/xerces/internal/dom"/>
<path name="com/sun/org/apache/xerces/internal/xni"/> <path name="com/sun/org/apache/xerces/internal/jaxp"/>
i filen modules/system/layers/base/sun/jdk/main/module.xml. Eksempel på filen findes i etc/wildfly/modules.

  1. Deploy sosigw.war til Wildfly ved at kopiere filen ind i standalone/deployments

...

Ønskes at SOSI-GW altid skal initiere udgående HTTPS forbindelser, kan der i konfigurationen angives HTTPS-adresser på endpoints til STS og DCC (i det omfang dette understøttes).
Hvis der angives en URL i "To" i WsAddressing SOAP-headeren, vil disse gennemstilles uændret til NSP services af SOSI-GW Proxy-operationen, også selvom der er tale om almindelige HTTP-adresser.
Såfremt der ønskes at disse viderestilles som HTTPS, kan følgende property konfigureres: force-ssl-requests.enabled=true
Dette vil bevirke at HTTP erstattes af HTTPS i URL'en, og at der initieres en udgående SSL/TLS 1.2 krypteret forbindelse når der anvendes Wildfly 8.2 på Java 8.

Skift væk fra bootstrapmode og genstart

...