Thursday, December 22, 2011

Oracle OSB 11.1.1.5 installation

I was trying to install oracle osb 11.1.1.5 this morning, as usual most of the install is plug and play, with some gotchas (few minute kind..) . So i decided to put some notes out there with the install steps. I am not covering Pre-requisite software such as teh oracle db and rcu in this article. Sure there are plenty of articles on the web for this. For new comers i would recommend that they download and oracle vm with db already for this. Since i spent a lot of time in the past doing this, I reused an existing db.

  1. Software that i used for this:
    • Oracle 11.2.0.1 db
    • rcu 11.1.1.5 
    • jdk ( i used jdk 1.6.0_29 for this exercise)
    • weblogic 10.3.5 for linux 64 bit (wls_1035_generic.jar)
    • oracle service bus (11.1.1.5)
    • Oracle Enterprise pack for eclipse (11.1.1.7.2)
  2.  Install Oracle DB and install rcu SOA schemas. There is only a few tables that OSB uses in this schema.
  3. Install weblogic 10.3.5 for linux 64 bit server.
    • export JAVA_HOME  with the correct path
    • java -jar wls1035_generic.jar
    • More information can be found here 
    • I installed my weblogic middle tier under /Oracle/JDev11115
  4. Download and unzip OEPE under Middletier (/Oracle/JDev11115/oepe_111172). please note that you cannot proceed with installation without this if you selected custom installation type with IDE option selected.
  5. Install Oracle Service Bus
    • execute runInstaller (from /home/oracle/software/Oracle/osb_11115/Disk1)
    • Click Next on the welcome screen
    • Selected Custom Installation 
    • Selected Oracle Service Bus and Oracle Service BUS IDE options and Deselected Oracle Service Bus Example options (got an installer error on 64 bit linux machine when i selected this)
    • click Next
    • Browse for and Select weblogic server location  (/Oracle/JDev11115/wlserver-10.3) and OEPE Location (/Oracle/JDev11115/oepe_111172)
    • click next and Install button 
  6. Create a weblogic domain for OSB
    • cd to /Oracle/JDev11115/wlserver-10.3/common/bin and run config.sh
    • Select create a new weblogic domain option
    • Select everything except Oracle Service Bus for developers
    • Click next and enter OSBDomain for domain name
    • Click next and enter weblogic admin account password
    • Browse for and select SDK location
    • enter JDBC information, I used Dev1_MDS and Dev1_SOAINFRA for the SOA RCU that i created in the past
    • click Create when done
  7. After domain was created, start the services
    • cd to /Oracle/JDev11115/user_projects/domains/OSBDomain/bin and run 
    • nohup sh ./startWeblogic.sh &
    • create boot.properties under  /Oracle/JDev11115/user_projects/domains/OSBDomain/servers/osb_server1/security with weblogic username and password
    • nohup sh ./startManagedWeblogic.sh osb_server1 & 
    • Initially i got errors starting the managed server using weblogic admin console or nodemanager I had to turn on StartScriptEnabled=true in order to get rid of the errors
  8. Start Eclipse and deploy, sample projects or new projects
    • cd to /Oracle/JDev11115/oepe_111172 and run eclipse in an terminal
    • Open OSB perspective
    • Select new in the server panel
    • select Oracle weblogic server 11gr2 patchset 4 (or whatever is the latest)
    • click next to select remote
    • and provide admin node properties (port number, weblogic admin username and password that was used to create domain)
    • create new OSB project (or use samples from http://java.net/projects/oraclesoasuite11g/pages/OSB) to publish and run
    • Importing projects was clumsy at times, I had to cleanup and run fresh imports for running the projects.
    • During the first time use of eclipse i got the following error - "Target runtime oracle weblogic server 11gr1 patchset 4" is not defined"
    • For this i opened project properties and navigate to runtimes subtab and had to remove the existing facet and add "Oracle weblogic server 11gr1 patchset 4" setting.
I will document more practical OSB runtime service for managing large data manipulations at a later time.