PHI-RE Configurazione infrastrutturale SOA

Transcript

PHI-RE Configurazione infrastrutturale SOA
PHI-RE
Configurazione infrastrutturale SOA
Version 1.0
Marzo, 2011
Page 1 of 17
Versione
Descrizione della variazione
Marzo 2011
Versione iniziale
Marzo 2011
Inserimento capitoli descrizione script
installativi automatizzati
Page 2 of 17
1 Configurazione jboss SOA....................................................................................................... 4
2 Script SOA setting.................................................................................................................. 10
3 Installazione Database........................................................................................................... 12
4 Script SQL............................................................................................................................... 14
5 Appendice................................................................................................................................ 15
Page 3 of 17
1 Configurazione jboss SOA
Configurazione di jboss EAP 4.3.0 CP 07 su un cluster a 2 nodi con load balancer software.
1.1 Prerequisiti
1.1.1 Sistema Operativo
Red Hat Enterprise Linux ES release 4 (Nahant Update 5).
1.1.2 Jboss
jboss Soa 4.3.0.GA CP04.
1.1.3 Jdk
Jdk version 1.6.0_20.
1.1.4 Connettori jdbc
ojdbc6.
1.1.5 DBMS
Oracle 10gR2
1.2 Distinzione tra Clustered e non-Clustered
Il seguente manuale permette la configurazione di PHI-Technology SOA sia in ambiente clusterizzato che
non. L’installazione sostanzialmente è quasi identica, le differenze sono evidenziate nei prossimi paragrafi.
In particolare:
(CL)
I capitoli / paragrafi là dove nel titolo, o in parte del testo è riportato (CL) o (Clustered) vanno eseguiti
soltanto in ambiente clusterizzato.
(nonCL)
Page 4 of 17
I capitoli / paragrafi là dove nel titolo o in parte del testo è riportato (nonCL) o (non Clustered) vanno eseguiti
soltanto in ambiente non clusterizzato.
i capitoli/paragrafi dove non è riportata alcuna dicitura nel titolo sono da applicarsi ad entrambe le soluzioni.
1.2.1 Download jboss-soa e unzip nella directory di lavoro
Eseguire il download di jboss Soa 4.3.0.GA CP04, unzippare l’archivio nella directory di lavoro scelta.
1.3 Creazione Partizione/istanza jboss
(CL)
Le partition sono necessarie a permettere l’esecuzione di più jboss sulla stessa macchina fisica, dedicati ad
generalmente ad applicativi diversi.
Una partition di jboss in cluster è caratterizzata sia da un identificativo di partizionamento, di seguito
chiamato nel resto del documento partition (<part>), che da dal nodo fisico sulla quale è in esecuzione,
chiamato nel documento <node>.
Per esempio si potrebbe creare la partition 7, clusterizzata in 3 nodi, chiamati per comodità: part7node1,
part7node2, part7node3.
Di seguito le operazioni da effettuare sui file di configurazione di jboss per costruire un cluster. Le operazioni
vanno ripetute per ciascuna partition/node del cluster.
Tutti i percorsi indicati sono relativi a “jboss_home”, ossia il percorso all’interno di jboss-as/ della vostra
istanza di jboss.
Le operazioni vanno eseguite con l’utenza admjboss.
Creare la folder come copia di jboss-as/server/production
(nonCL)
L’istanza (<instance>) non clusterizzata viene creata direttamente nella folder jboss-as/server/<instance>
Creare la folder come copia di jboss-as/server/production
Esempio: si vuol creare l’istanza 5: il suo percorso sarà jboss-as/server/instance5
(CL) (nonCL)
NOTA:
Nei seguenti esempi di configurazione spesso verrà utilizzato il tag <instance.partnode> per identificare nei
casi di:
-
una singola istanza
il nome dell’istanza (<instance>)
-
cluster
l’associazione partition node (<part><node>)
1.3.1 Eliminazione file di configurazione cluster (nonCL)
Eliminare I seguenti file:
Page 5 of 17
<instance.partnode>/deploy/cluster-service.xml
<instance.partnode>/deploy/ejb3-clustered-sfsbcache-service.xml
<instance.partnode>/deploy/ejb3-entity-cache-service.xml
<instance.partnode>/deploy/deploy-hasingleton-service.xml
<instance.partnode>/deploy/deploy.last/farm-service.xml
Rimuovere le seguenti folder con il loro contenuto
<instance.partnode>/deploy-hasingleton
<instance.partnode>/farm
<instance.partnode>/deploy/jboss-web-cluster.sar
1.3.2 clustered-oracle-persistence-service.xml
Aggiornare
il
file
clustered-oracle-persistence-service.xml
in
<instance.partnode>/deploy/jbossmessaging.sar
Impostare il valore qui sotto, a true o false, a seconda che l’installazione sia clusterizzata o no.
<attribute name="Clustered">false</attribute>
1.3.3 web.xml in http-invoker.sar
Aggiornare il file web.xml in <instance.partnode>/deploy/httpha-invoker.sar/invoker.war/WEB-INF/web.xml
con quello in appendice.
Nota: la versione per il cluster e singola istanza sono diverse.
1.3.4 Jboss-service.xml in httpha-invoker.sar
Aggiornare il file jboss-service.xml in <instance.partnode>/deploy/httpha-invoker.sar/META-INF con quello in
appendice.
Nota: la versione per il cluster e singola istanza sono diverse.
1.3.5 Hajndi-jms-ds-instance.xml
Aggiornare il file hajndi-jms-ds-instance.xml in <instance.partnode>/deploy con quello in appendice.
Nota: la versione per il cluster e singola istanza sono diverse
1.3.6 Eliminazione persistence-service.xml
Rimuovere il file persistence-service.xml da <instance.partnode>/deploy/jboss-messaging.sar
Page 6 of 17
1.3.7 management-client.jar management-server.jar
management-client.jar e management-server.jar vanno compilati e copiati all’interno di
<instance.partnode>/deploy/jbossesb.esb.
In appendice sono presenti i jar compilati per l’utilizzo di Oracle.
1.3.8 run.sh and shutdown.sh
aggiornare i file run.sh e shutdown.sh in jboss-as/bin con quelli in appendice.
1.3.9 Rimozione delle istanze di default
Rimuovere le istanze fornite da jboss, cancellando le seguenti directory e tutto il loro contenuto:
jboss-as/server/all
jboss-as/server/minimal
jboss-as/server/default
1.3.10
JTA resources
Modificare il file jbossjta-properties in <instance.partnode>/conf/ come quello in appedice andando a
specificare il valore di ‘allowMultipleLastResources. (false per singola istanza, true per clustered).
<property name="com.arjuna.ats.jta.allowMultipleLastResources" value="xxxx"/>
1.3.11
JMX console password
Configurare all’interno di <instance.partnode>/conf/props il file soa-users.properties con i valori:
admin=admjboss
1.3.12
Oracle connector
Rimuovere i file inerenti hsql:
<instance.partnode>/lib/hsqldb.jar
<instance.partnode>/lib/hsqldb-plugin.jar
<instance.partnode>/deploy/hsqldb-ds.xml
Copiare quindi la librearia ojdbc6.jar all’interno di di <instance.partnode>/lib
1.3.13
Aggiornamento jboss-messaging.sar
Copiare i file di configurazione all’interno di <instance.partnode>/deploy/jboss-messaging.sar/
destinations-service.xml
Page 7 of 17
connection-factories-service.xml
messaging-service.xml
Aggiungere inoltre a messaging-service.xml la riga per la configurazione della password.
<attribute name="SuckerPassword">SuckerXXXX</attribute>
1.3.14
Disable Clustering (nonCL)
Aggiornare il file jboss-service.xml all’interno di <instance.partnode>/deploy/jboss-web.deployer
1.3.15
Configurazione JBOSSdb
Creare il data source JBOSSDB-ds.xml in <instance.partnode>/deploy/ configurando ulr, user e password
per esb_jbossdb.
In appendice un esempio.
1.3.16
Configurazione JBOSS-ESB
Creare il data source message-store-ds.xml in <instance.partnode>/deploy/jbossesb.esb configurando URL,
user e password di esb_JbossESB
Configurare quindi il file jbossesb-properties.xml in <instance.partnode>/deploy/jbossesb.sar con URL, user
e password sempre di esb_JbossESB
In appendice un esempio per ogni file.
1.3.17
Configurazione juddi
Creare il data source juddi-ds.xml in <instance.partnode>/deploy/jbossesb.sar configurando URL, user e
password per esb_juddidb.
Configurare quindi esb.juddi.xml in <instance.partnode>/deploy/jbossesb.sar/ secondo quanto in appendice.
1.3.18
Configurazione JBPM
In <instance.partnode>/deploy/jbpm.esb :
Creare il data source jbpm-ds.xml in configurando URL, user e password di esb_jbpmdb.
Aggiungere il file di configurazione jbpm.cfg.xml
Aggiungere il file hibernate.cfg.xml specificando ancora URL, user e password di esb_jbpmdb.
1.3.19
Configurazione Management
Rimuovere il management.esb da <instance.partnode>/deploy.
Page 8 of 17
Creare quindi il data source management-ds.xml in <instance.partnode>/deploy/ configurando URL, user e
password per esb_juddidb.
Completare quindi con la configurazione delle utenze in web-console-users.properties.
JBOSSdb
JBOSS-ESB
juddi
jbpm
esb_jbossdb
esb_JbossESB
esb_juddidb
esb_jbpmdb
Page 9 of 17
2 Script SOA setting
Per l’installazione sia in ambiente clusterizzato che non è possibile utilizzare degli script che eseguono le
operazioni di capitolo 1 semplicemente in pochi comandi.
2.1 Prerequisiti
Apache ant 1.8.1
2.2 Estrazione archivi
Scomprimere jboss in un percorso scelto (JBOSS_HOME) come per capitolo 1.2.1
Scomprimere lo script d’installazione SOASetting, in una folder a piacere
2.3 File di properties
Prima di lanciare lo script configurare i file di properties necessari all’installazione.
Il file di properties ha nome:
build-soa<partition|instance>.properties.
Esempi:
1) per una partition chiamata partitionJB in cluster con 2 nodi, per un ambiente definito di ‘test’:
build-eap-test-partitionJB.properties.
all’interno saranno presenti le proprietà dei nodi del cluster.
2) per una singola istanza chiamata instance4 per un ambiente di ‘produzione’:
build-eap-produzione-instance4.properties.
Il nome dell’ambiente è puramente di fantasia, utile semplicemnte al riutilizzo dello script per machine in
ambienti diversi.
Il nome della partition è a discrezione del cliente.
Le properties da configurare sono descrite in seguito, fondamentale è la JBOSS_HOME che indica il
percorso là dove si è compresso Jboss (percorso di jboss-as)
2.4 Esecuzione script
Lo script d’installazione quindi, concordemente al file di properties creato, si lancia alla seguetne maniera:
ant -Dprofile=<partition/instance> -Dnode=<node> -Denv=<env> -Dclustered=<yes|no>
Page 10 of 17
Seguendo la loghica degli esempi precedenti, con l’utenza di gestione di jboss (la stesa con cui si è
compresso jb) va eseguito nella folder
1) per rispettivamente nodo 1 e 2 del cluster:
ant –Dprofile=partitionJB –Dnode=node01 –Denv=test –Dclustered=yes
ant –Dprofile=partitionJB –Dnode=node02 –Denv=test –Dclustered=yes
2) per l’istanza singola:
ant –Dprofile=instance4 –Denv=test –Dclustered=no
nota: non è necessario specificare il valore di node, in ambiente non clusterizzato, esso è ignorato.
2.5 Script
Lo script non è allegato al documento per questione di dimensioni.
Page 11 of 17
3 Installazione Database
L’installazione infrastrutturale può essere correttamente avviata soltanto dopo la creazione dei Database
necessari a jboss.
I database da configurare sono descritti nei seguenti paragrafi, per ciascun DB menzionato generalmente il
primo script serve alla creazione della struttura dati, i successivi al popolamento.
Lo script di installazione infrastrutturale configura username e password di accesso ai DB. Questi account
sono parametrizzati in variabili contenute all'interno dei .properties associati agli script.
L’applicazione utilizzerà tali account per connettersi ai DB, quindi essi vanno creati in maniera concorde.
Le utenze vanno rispettivamente anche usate per l’esecuzione degli script SQL stessi.
Gli script sql sono disponibili al capitolo 4.
3.1 JBOSS ESB
DB necessario per la gestione di Code, servizi, providers e altri componenti di ESB sui nodi EAP..
Gli script SQL vanno eseguiti con lo stesso utente configurato nel file di properties nella variabile:
esb_jbossdb_username
Script SQL da eseguire:
1. jboss_db-1.0.0.sql (struttura)
2. jboss_db_populate_table.sql (popolamento dati)
3.2 JBPM
Il db è utilizzato dal Business Process Manager per gestire le transazioni dei processi.
Gli script SQL vanno eseguiti con lo stesso utente configurato nel file di properties nella variabile:
jbpmdb_username
Script SQL da eseguire:
1. jbpm.jpdl.oracle.sql
2. jbpm_populate_tables.sql
NOTA:
Eseguire la verifica al termine delle procedure sql, la seguente query, con l'utenza utilizzata runtime
select count(*) from JBPM_ID_USER
Che deve restituire un valore maggiore di 1.
3.3 JONdb
DB necessario a JON server. Script SQL da eseguire con l'utenza JONDB:
jondb-1.0.0.sql (struttura dati)
Page 12 of 17
3.4 JUDDI
Il DB è utilizzato per mantenere le service definition.
Gli script SQL vanno eseguiti con lo stesso utente configurato nel file di properties nella variabile:
esb_juddidb_username
Script SQL da eseguire:
1. juddidb-1.0.0.sql (struttura)
2. import.sql (popolamento dati)
3.5 managementDB
Il DB è utilizzato come message store
Gli script SQL vanno eseguiti con lo stesso utente configurato nel file di properties nella variabile:
esb_JBossESBDS_username
Script SQL da eseguire:
1. soamanegdb-1.0.0.sql (struttura)
2. insert_rows.sql (popolamento dati)
Page 13 of 17
4 Script SQL
SOAsql.zip
Page 14 of 17
5 Appendice
5.1 Oracle-persistence-service.xml
oracle-persistence-service.xml
5.2 http-invoker
web.xml:
(nonCL):
jboss-service.xml
(nonCL):
hajnd-jms-ds
(nonCL):
web.xml
(CL):
jboss-service.xml
(CL):
hajndi-jms-ds-instance.xml
web.xml
jboss-service.xml
(CL):
hajndi-jms-ds-clustered.xml
5.3 management-client.jar e management-server.jar
management-client.jar
management-server.jar
5.4 run-sh e shutdown.sh
Page 15 of 17
run.sh
shutdown.sh
5.5 jbossjta-properties.xml
jbossjta-properties.xml
5.6 Jboss-messaging.sar
connection-factories.xml
destinations-service.xml
messaging-service.sml
connection-factories-service.xml
destinations-service.xml
messaging-service.xml
5.7 jboss-web.deplyer/jboss-service.xml
jboss-service.xml
5.8 DataSource
JBOSSDB-ds
message-store-ds.xml
JBOSSDB-ds.xml
message-store-ds.xml
Page 16 of 17
5.9 JbossESB
jbossesb-properties.xml
5.10 Juddi
esb.juddi.xml
juddi-ds.xml
5.11 JBPM
hibernate.cfg.xml
jbpm-ds.xml
jbpm.esb
hibernate.cfg.xml
jbpm-ds.xml
jbpm.cfg.xml
5.12 Management
management-ds.xml
web-console-users.properties
management-ds.xml
web-console-users.properties
Page 17 of 17