2014-07-23 6 views
5

Per un team di sviluppatori è essenziale che tutti configurino e configurino il server delle applicazioni. Nel nostro caso stiamo usando websphere 8.5.Come distribuire la configurazione del server Websphere (origini dati, jms, ...) su più istanze?

Sto cercando un modo semplice per farlo. Normalmente lo fai usando lo strumento di gestione dei profili che si trova in WAS_HOME/bin/ProfileManagement e questo strumento funziona tranquillamente. Ma dopo l'installazione del server websphere è ancora necessario configurare il profilo del server - creando origini dati, code JMS, bus, variabili e così via. Quindi ho pensato che sarebbe bello se ci fosse un modo per applicare queste configurazioni a un profilo esistente.

Il mio primo tentativo è stato quello di configurare un solo profilo e poi fare un backup della configurazione utilizzando

%WAS_HOME%/bin/backupConfig.bat 

Ma la configurazione contiene per esempio il nome host e altre configurazioni dipendenti dall'host. Quindi lo strumento backupConfig.bat non è quello che sto cercando.

Il pensiero successivo che mi è venuto in mente è che potrei creare un profilo speciale. In modo che altri possano utilizzare lo strumento di gestione dei profili e utilizzare questo modello. Ma la struttura del modello non sembra fatta per la personalizzazione. Un sacco di file e quasi nessuna documentazione possono essere trovati su come creare un proprio modello di profilo.

Quindi mi sono imbattuto nei modelli di aumento. Questi modelli vengono utilizzati (come suggerisce il nome) per aggiungere una configurazione specifica a un profilo esistente. Ho trovato molta documentazione su come applicare un potenziamento a un profilo esistente ma nessuna documentazione su come creare un aumento.

Infine, penso che ci sia un modo per esportare la configurazione di dati Websphere, bus, jms, ecc. E applicarli ad altri profili, perché in installazioni molto grandi il team operativo deve avere questa capacità.

So che posso aggiungere descrittori specifici del contenitore per l'EAR. Per esempio. META-INF/ibmconfig/cells/defaultCell/applications/defaultApp/resources.xml. Ma non voglio creare file EAR specifici per l'ambiente, perché unisce le nostre build all'infrastruttura e quindi dobbiamo costruire e ridistribuire quando le operazioni cambiano l'infrastruttura, ad es. nomi host, IP, password.

Qualcuno sa come gestire la distribuzione di origini dati, bus, jms, ecc. Su più installazioni di websphere?

risposta

3

Oltre agli script wsadmin, che sono molto utili per questo tipo di attività, suggerisco la configurazione basata su proprietà. Potrebbe essere più utile per te, dal momento che consente di esportare molti oggetti di configurazione contemporaneamente e quindi di applicarli a diversi ambienti. Potrebbe anche essere un po 'più semplice, dal momento che si lavora su file di testo normale anziché su script jython.

configurazione basata

proprietà dei file consente di:

  • Estrarre dati dal repository di configurazione per creare proprietà file.
  • Aggiornamento di un file delle proprietà per manipolare la configurazione, come richiesto .
  • Applicare i dati aggiornati nel file delle proprietà a un repository di destinazione di destinazione.

Vedi i dettagli qui:
Properties-based configuration
Infocenter documentation
Education assistant

+1

Grazie, ho esportato la configurazione completa e ora cerco di importarlo in un altro profilo. Alcune configurazioni hanno funzionato ma alcuni causano errori. Lo esaminerò nei prossimi giorni. –

0

Ho appena ricordato lo strumento wsadmin e ritengo che sia il modo migliore per implementare i miei requisiti.

Fortunatamente IBM fornisce sample scripts che mostra come creare origini dati o modificarle utilizzando script jython o jacl.

Un esempio di come creare origini dati si possono trovare ad esempio nella Administration scripts (1-12) -- Jython version (file ex7.py nello zip)

Spero che questo aiuta gli altri che hanno la stessa o similay domanda.

1

Ti suggerisco di utilizzare wsadmin shell scripting e creare uno script per la creazione di risorse. Un bonus è che puoi eseguirlo direttamente da RAD (fai clic con il pulsante destro del mouse Esegui come-> Script amministrativo).

Ecco l'esempio completo scritto in Jython per la creazione di risorse JDBC insieme a JAAS informazioni di accesso (nota: sto usando Oracle Database, la configurazione potrebbe essere diversa a seconda del database che si sta utilizzando):

cell=AdminConfig.showAttribute(AdminConfig.list("Cell"), "name") 
node=AdminConfig.showAttribute(AdminConfig.list("Node"), "name") 

#Add JAAS credentials 
print "Adding JAAS credentials" 
security = AdminConfig.getid('/Cell:'+cell+'/Security:/') 
alias = ['alias', node+'/dbUser'] 
userid = ['userId', 'DBUSER'] 
password = ['password', 'PASSWORD'] 
jaasAttrs = [alias, userid, password] 
AdminConfig.create('JAASAuthData', security, jaasAttrs) 
AdminConfig.save() 

#Add JDBC jar path 
print "Adding JDBC jar path" 
AdminTask.setVariable('[-variableName ORACLE_JDBC_DRIVER_PATH -variableValue ${WAS_INSTALL_ROOT}/lib/ext -scope Cell='+cell+',Node='+node+']') 
AdminConfig.save() 

#JDBC Provider print "Adding JDBC Provider" 
AdminTask.createJDBCProvider('[-scope Node='+node+',Server=server1 -databaseType Oracle -providerType "Oracle JDBC Driver" -implementationType "Connection pool data source" -name "Oracle JDBC Driver" -description "Oracle JDBC Driver-compliant Provider." -classpath ${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar]') 
AdminConfig.save() 

#JDBC Datasources print "Creating Datasource" 
AdminJDBC.createDataSourceAtScope("Node="+node+",Server=server1", "Oracle JDBC Driver", "test", "jdbc/test", "com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper", "jdbc:oracle:thin:@10.0.0.1:1521:TEST", [['componentManagedAuthenticationAlias', node+'/test'], ['containerManagedPersistence', 'true']]) 
AdminConfig.save() 
Problemi correlati