Wednesday, September 14, 2016

Oracle OSB 12C : Create OSB 12C domain using WLST

Please use the below steps to create an OSB 12c Domain using a WLST script.


1. OSB 12c uses the database as the OPSS store (Mandatory).  Please run RCU before creating an OSB domain. RCU is located under MW_HOME/oracle_common/bin folder.


2. Select the Schema(s) required for the OSB domain




 3.  Once the required schemas are created, use following script and make changes according to your environment and run it to create the OSB 12c Domain.

#=======================================================================================
# This script create OSB 12C domain 
#
# Usage: 
#      MW_HOME/oracle_common/common/bin/wlst.sh <WLST_script> 
#
# Where: 
#      MW_HOME is MW home location.
#      <WLST_script> specifies the full path to the WLST script.
#=======================================================================================

#Database Configuration Properties
OSB_REPOS_DBURL = 'jdbc:oracle:thin:@ragav-pc790:1521/ragav'
OSB_REPOS_DB_PASSWORD = 'weblogic123'
OSB_REPOS_DBUSER_PREFIX = 'SOAGT'

#Admin Server Configuration properties
ADMIN_SERVER_HOST = 'ragav-pc7010'
ADMIN_SERVER_PORT = 7001

#SOA Server Configuration properties
OSB_SERVER_HOST = 'ragav-pc7010'
OSB_SERVER_PORT = 8001


#Folder Locations 
MW_HOME = '/ragav/SOA/SOA12CF'
DOMAIN_HOME = '/ragav/SOA/SOA12CF/user_projects/domains/OSB_Domain_WLST'


def changeDatasourceToXA(datasource):
  print '>>>>>>> Change datasource '+datasource
  cd('/')
  cd('/JDBCSystemResource/'+datasource+'/JdbcResource/'+datasource+'/JDBCDriverParams/NO_NAME_0')
  set('DriverName','oracle.jdbc.xa.client.OracleXADataSource')
  set('UseXADataSourceInterface','True') 
  cd('/JDBCSystemResource/'+datasource+'/JdbcResource/'+datasource+'/JDBCDataSourceParams/NO_NAME_0')
  set('GlobalTransactionsProtocol','TwoPhaseCommit')
  cd('/')

#=======================================================================================
# Open a domain template.
#=======================================================================================

readTemplate(MW_HOME+'/wlserver/common/templates/wls/wls.jar')

#=======================================================================================
# Configure the Administration Server and SSL port.
#
#=======================================================================================

cd('Servers/AdminServer')
set('ListenAddress', ADMIN_SERVER_HOST)
set('ListenPort', ADMIN_SERVER_PORT)

#=======================================================================================
# Define the user password for weblogic.
#=======================================================================================

cd('/')
cd('Security/base_domain/User/weblogic')
cmo.setPassword('welcome1')

#=======================================================================================
# Write the domain and close the domain template.
#=======================================================================================

setOption('OverwriteDomain', 'true')

#Creating default coherence cluster
create('defaultCoherenceCluster', 'CoherenceClusterSystemResource')

cd('/')
create('osb_server1', 'Server')
cd('Server/osb_server1')
set('ListenPort', OSB_SERVER_PORT) 
set('ListenAddress', OSB_SERVER_HOST)
set('CoherenceClusterSystemResource', 'defaultCoherenceCluster')

#assigning target for default coherence cluster
cd('/')
assign('Server','osb_server1','CoherenceClusterSystemResource','defaultCoherenceCluster')

cd('/CoherenceClusterSystemResource/defaultCoherenceCluster')
set('Target', 'osb_server1')

print ">>>>>>> Creating WLS Domain"

writeDomain(DOMAIN_HOME)

closeTemplate()


#=======================================================================================
# Exit WLST.
#=======================================================================================

print ">>>>>>> Extending the domain for OSB"
readDomain(DOMAIN_HOME)

print ">>>>>>> Adding Webservice Template"
addTemplate(MW_HOME+'/oracle_common/common/templates/wls/oracle.wls-webservice-template_12.1.3.jar')

print ">>>>>>> Adding OSB Template"
addTemplate(MW_HOME+'/osb/common/templates/wls/oracle.osb_template_12.1.3.jar')

print '>>>>>>> Datasources Change Start'
print '>>>>>>> Change datasource LocalScvTblDataSource'

cd('/JDBCSystemResource/LocalSvcTblDataSource/JdbcResource/LocalSvcTblDataSource/JDBCDriverParams/NO_NAME_0')
set('URL',OSB_REPOS_DBURL)
cmo.setPasswordEncrypted(OSB_REPOS_DB_PASSWORD)
cd('Properties/NO_NAME_0/Property/user')
set('Value',OSB_REPOS_DBUSER_PREFIX+'_STB')

print '>>>>>>> Call getDatabaseDefaults to read details from service table'
getDatabaseDefaults()    


changeDatasourceToXA('OraSDPMDataSource')
changeDatasourceToXA('SOADataSource')

print '>>>>>>> Datasources Change End'

print '>>>>>>> Add server groups to AdminServer'
serverGroup = ["WSM-CACHE-SVR" , "WSMPM-MAN-SVR" , "JRF-MAN-SVR"]
setServerGroups('AdminServer', serverGroup)   

print '>>>>>>> Add server group(s) to osb_server1'
serverGroup = ["OSB-MGD-SVRS-COMBINED"]
setServerGroups('osb_server1', serverGroup)    

print '>>>>>>> Update Domain....... Please wait.. takes little time to populate OPSS Schema'
updateDomain()

print '>>>>>>> Update Domain Completed'

closeDomain()

print '>>>>>>> Domain Creation Completed'

exit()

====================================================================


Oracle recommends to create the domain using the Config Wizard. Above  sample script was provided only for reference purposes and for development environments.

2 comments:

  1. Hi,
    I have SOA domain I want to extend the same domain with OSB can you please share the same

    Thanks

    ReplyDelete
  2. please guide how extend the domain for SOA and OSb

    ReplyDelete