Tag Archives: soa

out of Space for Code Cache for Adapters


If you are facing issues like ‘Out of Space for Code Cache for Adapters’ in Jdeveloper 11.1.1.5 then you must do this changes as discussed in this forum post

Set – JVM Options : XX:ReservedCodeCacheSize=128m in setDomainEnv.sh

SOA suite installation white paper


Soa Suite installation white paper is available for download here

installing soa-suite 11.1.1.2 in linux64


Recently I got the following issue while installing Soa Suite 11.1.1.2.0

in linux64.

I tried the solution specified here but it was not working and it keeps giving the error

[xxx@indl144224 linux64]$ ./runInstaller -jreLoc /scratch/software/mw_local/FMWTOOLS_MAIN_GENERIC_101104.0028.2/xxx/mw_home_standalone/jrockit_160_20_D1.1.0-18/Starting Oracle Universal Installer...
Checking if CPU speed is above 300 MHz.    Actual 2327 MHz    Passed
Checking Temp space: must be greater than 150 MB.   Actual 2481 MB    Passed
Checking swap space: must be greater than 500 MB.   Actual 8273 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2011-01-19_04-21-22PM. Please wait ...
[xxx@indl144224 linux64]$ java.lang.UnsatisfiedLinkError: Can't load library: /tmp/OraInstall2011-01-19_04-21-22PM/oui/lib/linux64/liboraInstaller.so
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1702)
at java.lang.Runtime.load0(Runtime.java:770)
at java.lang.System.load(System.java:1004)
at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:402)
at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.<clinit>(OiipuUnixOps.java:126)
at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.ssgetCurrentGroupOfUserux(OiipgEnvironment.java:503)
at oracle.sysman.oii.oiix.OiixEnvironmentOps.ssgetCurrentGroupOfUserux(OiixEnvironmentOps.java:147)
.....

So i tried the following thing and it worked

[xxxn@indl144224 linux64]$ linux32 bash
bash-3.2$ pwd
/scratch/software/mw_local/linux_middleware/xxx/mw_home/soa11.1.1.2/Disk1/install/linux64
bash-3.2$ cd ..
bash-3.2$ lsaix  hpia64  hpunix  linux  linux64  solaris  win32  win64
bash-3.2$ cd linux
bash-3.2$ ./runInstaller -jreloc /scratch/software/mw_local/FMWTOOLS_MAIN_GENERIC_101104.0028.2/xxx/mw_home_standalone/jrockit_160_20_D1.1.0-18/

SOA – a quick view


What is SOA?

SOA is standard based method of system development and integration

What are the benefits?

  • Reusability
  • Integration
  • Interoperability
  • Agile development
  • Scalability
  • Cost Efficient

What are all the ways to implement services?

  • Point to point approach
  • Vendor specific implementation
  • CORBA
  • Web services
  • SCA-style implementation

What are Services?

  • Building blocks of SOA
  • Interface and message structure definitions
  • Standard protocol for interoperability

What are SOA standards?


What is SCA [Service Component Architecture]?

SCA provides a programming model for building applications using SOA

What are the difference between SOA and SCA?

  • SOA is an approach or implementation style and SCA uses SOA to build a composite application
  • SOA is architectural style but SCA is assembly model and defines/design

What are the elements of SCA?

What is SDO [Service Data Object]?

  • Representation of data source in XML format and specifes methods to create, delete and modify data
  • Simplify and unify the way in which applications handles the data

What is EDN [Event Driven Network]?

  • To handle asynchronous messaging arising from a business event
  • Supports publish and subscribe model
  • Aligns with Event driven Architecture [EDA]



Quick look at the mediator component


What is Oracle Mediator Component?

Mediator is the load balancer which can route, filter, validate and transform data from the service providers to external references

  • Route: determines the service component to which the message has to be sent
  • Validate: validate the incoming payload information
  • Filter: Filters the payload for specific information before routing it to the specific component
  • Transformation: Transforms data from one xsd format to another using XSL Mapper

the code specific to mediator in the composite.xml will be like

<component name="ConversionMediator">
<implementation.mediator src="ConversionMediator.mplan"/>
</component>

Mediator component in the design view consist of

Name: Name of the mediator component

WSDL Url: the service provider URL

Port Type: The port on which the request message is sent

Resequence Level: Whether the sequencing of the incoming message will be taken care commonly[Operation] or for each component [component]

Priority: priority set for parallel routing rule

validate XSD: validate the schema for the incoming message

Callouts: specifies java classes for extra logic in programmatic way

Resequence:

Standard -> the incoming message will be sequence based on the sequence id

Best Effort -> sequencing based on the best possible way

FIFO ->  sequencing of message based on the time of the arrival of the message

Static Routing:

routing rule based on static information

Filter -> content based or header based routing

Transform -> using xsl mapper file

validate -> using schematron file

Assign -> assign header,payload values of the message from source to target

sequential -> rule executed one after the other

Parallel -> rule executed in parallel. Priorities are given to the parallel rule

Dynamic Routing:

routing rule based on external rule which keeps changing based on the invocation context

Fault Handling: This is handled in composite or at the component[mediator] level by specifying fault policies

Event Handling: A mediator can subscribe or publish an event

Soa Suite 11gR1 (11.1.1.3.0) installation guide for Windows


The complete Soa suite installation guide is uploaded here

Complete fusion middleware documents are available at

http://download.oracle.com/docs/cd/E14571_01/index.htm

System requirements and specifications

Checklist

  • Processor
  • Operating System
  • Disk Space
  • Physical Memory
  • Browser
  • JDK

Complete requirments are available at

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-requirements-100147.html

Download the files

All software can be downloaded from the Fusion Middleware 11gR1 PS2 download page (also known as the FMW download page)

Installation procedure [RCU version 11.1.1.3]

  1. Oracle DB (OracleXE Univ)
  2. Weblogic Server 10.3
  3. Repository Creation Utility for DB schema 11.1.1.3
  4. Soa Suite 11.1.1.2
  5. Soa Suite patchset installer for 11.1.1.3
  6. Jdeveloper 11.1.1.3
  7. Soa Extension (Oracle SOA Composite Editor)
  8. Weblogic domain creation

If you face any problem in creating the DB schema using RCU 11.1.1.3 then please download the RCU 11.1.1.2 and follow this installation process. Also you will face some issues in creating the Weblogic db schema for soa_infra during weblogic domain creation

  1. Oracle DB (OracleXE Univ)
  2. Weblogic Server 10.3
  3. Repository Creation Utility for DB schema 11.1.1.2
  4. Soa Suite 11.1.1.2
  5. Jdeveloper 11.1.1.3
  6. Soa Extension (Oracle SOA Composite Editor)
  7. Weblogic domain creation (domain creation will fail for soa_infra stating a 11.1.1.3 version problem if you have used RCU 11.1.1.3)
  1. Soa Suite patchset installer for 11.1.1.3

Database

OraceXEUniv.exe http://download.oracle.com/otn/nt/oracle10g/xe/10201/OracleXEUniv.exe

Screenshots

WebLogic Server

wls1033_oepe111150_win32.exe

http://download.oracle.com/otn/nt/middleware/11g/wls1033_oepe111150_win32.exe

Screenshots

Repository Creation Utility

ofm_rcu_win32_11.1.1.3.3_disk1_1of1.zip

http://download.oracle.com/otn/nt/middleware/11g/ofm_rcu_win32_11.1.1.3.3_disk1_1of1.zip

Note:

If repository tool 11.1.1.3.3 is creating some kind of problem while creating DB schema then please use RCU of 11.1.1.2.1 [if you are using 11.1.1.2.1 then please refer to section X for the installation order]

ofm_rcu_win32_11.1.1.2.1_disk1_1of1.zip

http://download.oracle.com/otn/nt/middleware/11g/ofm_rcu_win32_11.1.1.2.1_disk1_1of1.zip

Screenshots

SOA Suite & Patch

You have to have Soa Suite 11.1.1.2.0 installed in your system before installing the 11.1.1.3.0 patchset installer

ofm_soa_generic_11.1.1.2.0_disk1_1of1.zip

http://download.oracle.com/otn/nt/middleware/11g/ofm_soa_generic_11.1.1.2.0_disk1_1of1.zip

ofm_soa_generic_11.1.1.3.0_disk1_1of1.zip(includes BPM)

http://download.oracle.com/otn/nt/middleware/11g/ofm_soa_generic_11.1.1.3.0_disk1_1of1.zip

Screenshots

JDeveloper

jdevstudio11113install.exe

http://download.oracle.com/otn/java/jdeveloper/11.1.1.3.0/jdevstudio11113install.exe

SOA Extension for JDeveloper

You can install the extensions directly from inside JDeveloper through the “Help -> Check for Updates” menu option which is the recommended way install extensions. If you can’t connect to the Internet from your JDeveloper, you can directly download JDeveloper extensions from this page, and point the Check for Updates wizard to the local file you have downloaded.

http://download.oracle.com/otn/java/jdeveloper/11.1.1.3.0/extensions/soa-jdev-extension.zip

Note: for other extensions please refer

http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/156082.xml#oracle.sca.modeler

Setting up the database

Run the following commands to increase the process limits (Only for Oracle XE)

sqlplus sys/welcome1@XE as sysdba
SQL> show parameter session
SQL> show parameter processes
SQL> alter system reset sessions scope=spfile sid='*';
SQL> alter system set processes=200 scope=spfile;
SQL> shutdown immediate
SQL> startup
SQL> show parameter session
SQL> show parameter processes

Weblogic Domain Creation

refer this link

Server URLS

The link for the Weblogic console

http://localhost:7001/console (login with weblogic/welcome1)

The link for the EM console

http://localhost:7001/em (login with weblogic/welcome1)

The link for the SOA worklist app

http://localhost:8001/integration/worklistapp

The link for B2B

http://localhost:8001/b2b

The link for BAM (must use IE browser)

http://localhost:9001/OracleBAM

Starting the servers

Go to the domain directory and type startWebLogic.cmd

D:\Oracle\Middleware\user_projects\domains\soa_infra_domain> startWebLogic.cmd

On the same command line press ctrl+c or goto the bin directory of the domain folder and type stopWebLogic.cmd

D:\Oracle\Middleware\user_projects\domains\soa_infra_domai\bin> stopWebLogic.cmd

D:\Oracle\Middleware\user_projects\domains\soa_infra_domain\bin> stopManagedWebLogic.cmd so_server1

Unable to deploy EJB: ejb_ob_engine_wls.jar from ejb_ob_engine_wls.jar


If your soa server is up but your soa_infra is down then search for the following error in
$DOMAIN_HOME\servers\soa_server1\logs\soa_server1.log

weblogic.application.ModuleException: Exception preparing module: EJBModule(ejb_ob_engine_wls.jar)

Unable to deploy EJB: ejb_ob_engine_wls.jar from ejb_ob_engine_wls.jar:

There are 1 nested errors:

java.io.IOException: JDT compilation error!
 FacadeFinderBean_4vacyo_FacadeFinderBeanImpl.java: The method getMBeanAttribute(String, String) is undefined for the type FacadeFinderBean_4vacyo_Intf
 FacadeFinderBean_4vacyo_FacadeFinderBeanImpl.java: The method getNumberOfCompositeInstancesByPartitions(String[]) is undefined for the type FacadeFinderBean_4vacyo_Intf
 FacadeFinderBean_4vacyo_FacadeFinderBeanImpl.java: The method listComposites() is undefined for the type FacadeFinderBean_4vacyo_Intf
 FacadeFinderBean_4vacyo_FacadeFinderBeanImpl.java: The method invokeMBeanOperation(String, String, String[], Object[]) is undefined for the type FacadeFinderBean_4vacyo_Intf
 FacadeFinderBean_4vacyo_FacadeFinderBeanImpl.java: The method setMBeanAttribute(String, String, Object) is undefined for the type FacadeFinderBean_4vacyo_Intf
 FacadeFinderBean_4vacyo_FacadeFinderBeanImpl.java: The method getNumberOfFaultedCompositeInstancesByPartitions(String[]) is undefined for the type FacadeFinderBean_4vacyo_Intf
 at weblogic.ejb.container.ejbc.CompilerForJDT.compile(CompilerForJDT.java:57)
 at weblogic.ejb.container.ejbc.EJBCompiler.doCompile(EJBCompiler.java:309)
 at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:485)
 at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:452)
 at weblogic.ejb.container.deployer.EJBDeployer.runEJBC(EJBDeployer.java:439)
 at weblogic.ejb.container.deployer.EJBDeployer.compileJar(EJBDeployer.java:779)
 at weblogic.ejb.container.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:679)
 at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1237)
 at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:440)
.....
.....

Then install the SOA patchset installer (11.1.1.3) on top of your existing SOA suite 11.1.1.2

BINDING.JCA-12563 resolution


If you ever face issues like

BINDING.JCA-12563 Exception occurred when binding was invoked. Exception occurred during invocation of JCA binding: “JCA Binding execute of Reference operation ‘Write’ failed due to: Input Source null. Input Source null. Input Source is null. “. The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution.
then there is a problem in the xml transformation in the mediator to write the file
Resolution:
Look if the transformation information in the mediator is proper.
Check if the transformation exist in the first place.

oracle.fabric.common.FabricInvocationException


Bump….
I got this error yesterday when I tried to deploy a dummy soa composite

Error Message: {http://schemas.oracle.com/bpel/extension}remoteFault
Fault ID    default/Project1!3.0*ad3d0394-9602-4482-9429-fc45d624bb5b/ProcessHello/3-BpInv0-BpSeq0.3-3
Fault Time    Sep 3, 2010 1:07:55 PM
Non Recoverable System Fault :
<bpelFault><faultType> <message>0</message></faultType>
<remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
<part name="summary">
<summary>oracle.fabric.common.FabricInvocationException</summary>
</part>
<part name="detail"><detail>null</detail></part>
<part name="code"><code>null</code></part>
</remoteFault></bpelFault>

for the above error the solution is the deploy the soa composite along with the deployment plan

right-click the composite and click on generate

when u deploy the soa composite you will have to select the
‘Use the SOA configuration option’ and locate the file

The sample config plan will be like

<?xml version="1.0" encoding="UTF-8"?>
<SOAConfigPlan xmlns:jca="http://platform.integration.oracle/blocks/adapter/fw/metadata" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" xmlns:edl="http://schemas.oracle.com/events/edl" xmlns="http://schemas.oracle.com/soa/configplan">
 <composite name="Project1">
 <!--Add search and replace rules for the import section of a composite
 Example:
 <searchReplace>
 <search>http://my-dev-server</search>
 <replace>http://my-test-server</replace>
 <searchReplace>
 <searchReplace>
 <search>8888</search>
 <replace>8889</replace>
 <searchReplace>-->
 <import>
 <searchReplace>
 <search/>
 <replace/>
 </searchReplace>
 </import>
 <service name="orderprocessor_client_ep">
 <binding type="ws">
 <attribute name="port">
 <replace>http://xmlns.oracle.com/SOAApplication_jws/Project1/OrderProcessor#wsdl.endpoint(orderprocessor_client_ep/OrderProcessor_pt)</replace>
 </attribute>
 </binding>
 <callback>
 <binding type="ws">
 <attribute name="port">
 <replace>http://xmlns.oracle.com/SOAApplication_jws/Project1/OrderProcessor#wsdl.endpoint(orderprocessor_client_ep/OrderProcessorCallback_pt)</replace>
 </attribute>
 </binding>
 </callback>
 </service>
 <!--Add search and replace rules for the component properties
 For components and service/reference bindings, you can add policy references.
 Example:
 <component name="*">
 <wsp:PolicyReference orawsp:category="management" orawsp:status="enabled" URI="oracle/log_policy"/>
 </component>-->
 <component name="OrderProcessor">
 <property name="activationAgent.LoadData.className">
 oracle.tip.adapter.fw.agent.jca.JCAActivationAgent
 </property>
 <property name="activationAgent.LoadData.portType">
 <replace>execute_ptt</replace>
 </property>
 </component>
 <reference name="StoreFrontService">
 <binding type="ws"/>
 </reference>
 </composite>
 <!--To configure monitor.config:
 <property name="enabled"><replace>true</replace></property>
 <property name="dataObjectsFolder"><searchReplace><search>mydev</search><replace>myproduction</replace></searchReplace></property>

 sample properties to configure for adapter:
 medmq1

 To add search and replace rules for wsdls, xsd and jca files
 Example:
 <searchReplace>
 <search>http://my-dev-server</search>
 <replace>http://my-test-server</replace>
 <searchReplace>
 <searchReplace>
 <search>8888</search>
 <replace>8889</replace>
 <searchReplace>
 -->
 <wsdlAndSchema name="OrderProcessor.wsdl|StoreFront.wsdl|xsd/BPELProcess1.xsd|xsd/OrderProcessor.xsd|xsd/singleString.xsd|xsd/StoreFront.xsd|xsd/StoreFrontProcessor.xsd">
 <searchReplace>
 <search/>
 <replace/>
 </searchReplace>
 </wsdlAndSchema>
</SOAConfigPlan>

Commands used to install XE for LINUX


Download the file from here

go to the installation folder of the rpm file

login as a root

root# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm

to remove the previous installation use

root# rpm -e oracle-xe-univ-10.2.0.1-1.0.i386

root# /etc/init.d/oracle-xe configure
------------------------------------------------------------------------------

[root@indl144224 Desktop]# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm

Preparing...                ########################################### [100%]

1:oracle-xe-univ         ########################################### [100%]

Executing Post-install steps...

You must run '/etc/init.d/oracle-xe configure' as the root user to

configure the database.

[root@indl144224 Desktop]# /etc/init.d/oracle-xe configure

------------------------------------------------------------------------------

user is prompted to configure http port, listener port, and the password for SYs and SYSTEM user

[its better to change to avoid any error in the future]

Oracle Database 10g Express Edition Configuration

-------------------------------------------------

This will configure on-boot properties of Oracle Database 10g Express

Edition.  The following questions will determine whether the database should

be starting upon system boot, the ports it will use, and the passwords that

will be used for database accounts.  Press <Enter> to accept the defaults.

Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:8081

Specify a port that will be used for the database listener [1521]:1522

Specify a password to be used for database accounts.  Note that the same

password will be used for SYS and SYSTEM.  Oracle recommends the use of

different passwords for each database account.  This can be done after

initial configuration:

Confirm the password:

Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:n

Starting Oracle Net Listener...Done

Configuring Database...Done

Starting Oracle Database 10g Express Edition Instance...Done

Installation Completed Successfully.

To access the Database Home Page go to "http://127.0.0.1:8081/apex"

------------------------------------------------------------------------------

export $ORACLE_HOME and $ORACLE_SID

------------------------------------------------------------------------------

[root@indl144224 Desktop]# export ORACLE_HOME=/usr/lib/oracle/xe/

app/     oradata/

[root@indl144224 Desktop]# export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server

[root@indl144224 Desktop]# export ORACLE_SID=XE

[root@indl144224 Desktop]# cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/

------------------------------------------------------------------------------

Check the tns lsitener status

------------------------------------------------------------------------------

[root@indl144224 bin]# ./lsnrctl

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 30-AUG-2010 17:53:57

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> status

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production

Start Date                30-AUG-2010 17:40:21

Uptime                    0 days 0 hr. 13 min. 39 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Default Service           XE

Listener Parameter File   /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/listener.ora

Listener Log File         /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=indl144224.idc.oracle.com)(PORT=1522)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=8081))(Presentation=HTTP)(Session=RAW))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service "XE" has 1 instance(s).

Instance "XE", status READY, has 1 handler(s) for this service...

Service "XEXDB" has 1 instance(s).

Instance "XE", status READY, has 1 handler(s) for this service...

Service "XE_XPT" has 1 instance(s).

Instance "XE", status READY, has 1 handler(s) for this service...

The command completed successfully

LSNRCTL> exit