Posts Tagged 'WLS'

SOA Suite 12c Installation

By this time, you might already know that SOA Suite12c released last week. The twitter world is abuzz with the most awaited SOA Suite release and gave a welcome in great fashion. I too was equally excited to get a glimpse of it and try out some hands-on the same. In this post, we will quickly go through the SOA Suite 12c installation.

We can say that installation is quite streamlined and made simple with single installer that includes JDeveloper, JDev SOA Extension, RCU, Standalone WLS and Service Bus (formerly Oracle Service Bus). The installer can be downloaded from here.

I tried this installation in Windows 7, 64-bit machine. Make sure you installed JDK and JAVA_HOME environment variable is set before  proceeding with the  installation.

Unzip the installer and start the installation as shown below.


This brings up the welcome screen.


Click Next and set Oracle Home to your desired location.


Click Next to finish Prerequisites check.


Click Next. Here you can review the installation summary and click Install.



Click Finish to complete the installation.


RCU Installation

You need to create the required schemas using RCU before proceeding with domain creation. As I mentioned earlier, no separate installer is required for RCU and comes by default with SOA Suite.

Navigate to $MW_HOME/oracle_common/bin. Locate file rcu.bat and select ‘Run as Administrator’ on right click to bring up the following welcome screen. Make sure that you installed a supported database before proceeding.


Click Next and choose default options for creating the repository.


Click Next and enter your database information with sys credentials.


Click on Next and you can Ignore the warning related to Oracle XE database as you are going to use this domain for development purpose.


RCU will perform some prerequisite checks.


Click OK to bring up following screen. Enter prefix as you desired and select SOA Infrastructure schema. This will automatically select all other dependent schemas as shown.


Click Next and enter the password for all schemas.


Click Next and proceed to next screen by accepting the defaults.





Click on Close to finish RCU installation.

Domain Creation

Navigate to $MW_HOME/oracle_common/common/bin and locate the file config.cmd. Right click and select ‘Run as Administrator’ to bring up the following screen. Enter your desired domain name.


Click Next and select the products that your domain want to support.


Click Next and proceed further by accepting the defaults.


Click Next and enter the credentials.


Click Next and choose Domain Mode. You may want to retain Development as Domain Mode. You can accept defaults for JDK or you can select any other location.


Click Next. Enter STB schema information as shown below and click Get RCU Configuration.


Once schema retrieving is successfully done, click Next.


Click Next and verify that connection test is successful for all the schemas. If not, you can go back to previous screen and modify individual schema connection information.


Once testing is done, Click Next and accept the defaults.


Click Next and in this screen you verify the domain configuration the wizard is going to create.


Click Create to start the domain creation.


Once the the domain creation is successful, Click Next.


Remember Domain Location and Admin Server URL and click Finish to exit the configuration wizard.

Start the Admin and Managed Servers by executing startWebLogic.cmd, startManagedWeblogic.cmd respectively from bin folder of Domain Location (shown above).

Extending the Weblogic Domain

In this post, I quickly show you how to extend an existing weblogic domain which is quite simple and straight forward. Initially i have OSB domain and extended the same domain to include SOA.

Open the configuration wizard (config.cmd) from $MW_HOME/wlserver_10.3\common\bin and select the option as shown below and click on Next.


Select the domain directory from the selection browser.


Choose the products from the displayed list.


Give database schema details for new components that get added because of the selection in the previous screen. For example, in the current scenario the component schemas ‘SOA Infrastructure’ , ‘User Messaging Service’ and ‘SOA MDS Schema’ have to modified with correct database information as shown below and click on Next.


Make sure that connection is successful by observing the logs shown and click on Next twice.


Verify the configuration summary and click on Extend button to finish.


Once the domain is created, click on Done button and bring up the server to verify the installation of SOA server by opening the EM console and look for soa_infra.


Deployment of SOAP UI Mock Service to Weblogic

In this post, i show how a SOAP UI mock service can be deployed as a war to weblogic server. It’s very self explanatory and based on the examples given in SOAP UI documentation.
















Oracle SOA Suite 11g–Windows 2003 issue

Recently when i tried to start the WLS sever after fresh installation, i have got the following error:

[WARN ][osal   ] could not enumerate processors (1) error=-1073738824
[WARN ][osal   ] Failed to init system load counters
The domain has both SOA and OSB managed servers in a machine where the OS is Windows 2003 server.
JRockit JVM is used while creating the domain.
After a little research found out that it’s one of the known issues when using the JRockit JVM on windows. 
The following link gives the workaround for this problem.
In my case, i just switched on  to Sun JVM by modifying setDomainEnv.cmd file.

Coherence in BPEL11g

After trying out with Result Caching feature in OSB, i tried to use the coherence in integration with BPEL to store and retrieve the frequently used data in cache. As OTN puts it, “Coherence provides replicated and distributed (partitioned) data management and caching services on top of a reliable, highly scalable peer-to-peer clustering protocol”. In this post, i want to explain the setup i tried with using SOA Suite The weblogic 10.3.3 installer comes with coherence 3.5

Starting Servers

To use coherence in conjunction with BPEL, the servers have to be started in the following order:

    • Coherence server (cache-server.cmd)
    • Admin and SOA managed server.

Open cache-server.cmd file present in $FMW_HOME\coherence_3.5\bin and set the coherence_home variable as shown below. Replace $FMW_HOME with actual path as per your SOA suite installation.

       set coherence_home = $FMW_HOME\coherence_3.5

Open command window and issue the following commands to start the cache server.

    $<DOMAIN_HOME>\bin\setDomainEnv.cmd or set $JAVA_HOME

    set %PATH% = %JAVA_HOME%\bin;%PATH%


By default, multicasting is used for communication within coherence cluster. The multicast address and port will be visible in cache server start logs as shown below.


In setDomainEnv.cmd file, modify EXTRA_JAVA_PROPERTIES variable to use above multicast address and port.


In startWeblogic.cmd file, modify CLASSPATH variable to include coherence jar in server classpath.

SOA Composite Creation

We will create a simple BPEL process to demonstrate the use of coherence API to store and retrieve cache entries.

Create a sample SOA project in JDeveloper. Add coherence.jar to project libraries which can be found at location $FMW_HOME\coherence_3.5\lib. Create a BPEL process that accepts a string and returns another string.


Create a java embedding activity with following code to verify whether the cache contains a value or not.

String cacheToken= ((oracle.xml.parser.v2.XMLElement) getVariableData ("varInput","payload","/client:process/client:input")).getFirstChild().getNodeValue();

//create new cache or to get the existing cache

NamedCache cache = CacheFactory.getCache("myCache");

//verify whether the key exists or not

setVariableData("valExists", cache.containsKey(cacheToken));

setVariableData("var1", cache.get(cacheToken));

Create a switch case in BPEL flow to call the actual service if the cache value does not exist for the token used. The following expression can be used in the switch case.


If the value is retrieved from cache, copy the value stored in ‘var1’ variable to output variable and do reply from BPEL process. Otherwise store the value we have got from the actual service in cache by using another java embedding activity with following code.

String cacheToken= ((oracle.xml.parser.v2.XMLElement) getVariableData("varInput","payload","/client:process/client:input")).getFirstChild().getNodeValue();

String cacheValue= ((oracle.xml.parser.v2.XMLElement) getVariableData("InvokeOutputVariable","parameters","/ns1:getResponse/val")).getFirstChild().getNodeValue();

NamedCache cache = CacheFactory.getCache("myCache");



Execution of BPEL:

When result is not in Cache:

Run the BPEL by giving the value for ‘input’ element that does not exist in the cache currently. Here in this case, we are sending it as ‘NewUser’.



Observe that partner link has been called to get the result.


When result is in Cache:


Observe that partner link is not called and the result is fetched from the cache as expected.


Strategies to Flush/Refresh the Cache:

  • Create a configuration parameter or BPEL property to specify whether cache has to be cleared or not. Modify the above switch condition to include this OR condition so that the existing cache will be reset by fetching the value again by calling the partner link.
  • Restarting the coherence server.

OEPE versions in OSB

As we know that Weblogic and OEPE installation are pre-requisites for OSB11g installation. Oracle had started shipping Weblogic bundled with Coherence and OEPE. Using this Weblogics installer is the best way to get compatible OEPE for a particular release. However, these are not available for 64-bit machines and need to do manual installation JDK, Weblogic using generic Installer, compatible OEPE version along with your required version of OSB 11g.

So you need to better understand compatible versions of OEPE for a particular OSB 11g release. The following shows the compatibility matrix:

OSB Weblogic Server OEPE
10.3.6 10.3.5 10.3.4 10.3.3

These versions of Oracle Enterprise Pack for Eclipse are available here.

Creating the Weblogic Domain for OSB

We are done with the OSB installation and RCU components that are required OSB (if we want to use OWSM). We have to create the domain so that we can deploy the OSB components. This post quickly explains on how to create the WLS domain. As mentioned earlier we are talking about the creation in Windows 7 environment.

1) Go to your WLS  installation and open the configuration wizard as shown below.


2) This brings up the following screen where we have the options to create the new domain or extend the existing domain. Choose the option ‘Create a new Weblogic domain’.


3) The screen shows the different products can be configured in the new domain. Select the ‘OWSM extension’ if you are planning to use the security policies for your OSB services. Select the ‘Single Server Domain Topology’ option, if you want just the Admin Server or select ‘All Domain Topologies’ if you want both Admin and Managed Servers to be created.


4) Enter a meaningful name for the domain to create and retain the default values for others.


5) Enter the admin password for the weblogic user and click on Next.


6) Select the JDK installation in the next screen and proceed to the next screen to provide the authentication related information for the component schemas. Enter credentials for schemas DEV_MDS as its given during the RCU installation.

For OSB JMS Reporting provider, you can use the internal derby database that comes with the Weblogic or you can use the DEV_SOAINFRA schema as shown below.


7) Proceed with the next screen where the testing of schema will be done using the credentials we entered. If there is an issue with the credentials you will get an error here. So you can go back to the previous screen and modify the credentials or fix the issues with database connectivity.


8)  Click Next twice to go to the final screen and click on Create button to finish the domain creation process.


9) To start the server, go to the file system location where the domain has created as shown in the below screenshot. To start the admin server, just right click on startWeblogic.bat file and choose ‘Run as administrator’.


10) We can verify the running of OSB server by accessing the URLs as given below.

:/console" target=_blank>http://<hostname>:<port>/console — To access WLS admin console

h:/sbconsole" target=_blank>http://<hostname>:<port>/sbconsole –-To access the OSB console


Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 379 other subscribers

Enter your email address to follow this blog and receive notifications of new posts by email.

%d bloggers like this: