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