Friday, 19 September 2014

Oracle Fusion Middleware – SOA 12 c – At a glance

Hi Folks,

Here you go the new exciting Oracle Fusion Middleware - SOA 12 c.

Oracle recently made its long awaited & long-anticipated version with more productivity, performance, sophisticated & easy-to-use version.

New Additions in SOA 12c

 Integration of OSB development
I am very happy to see that JDeveloper IDE is enough to develop both SOA & OSB.
In 12 C both SB and SCA development is done JDeveloper . For SB the analogy of SCA has been used by remaining a ‘Proxy’ to ‘Proxy Service’ (‘Exposed services ‘ in an SCA composite) and a ‘Business Service ’ to external references (same as in SCA composite) and visually show them as swim lanes in JDeveloper.

Anyways when you are developing  a pipeline, nothing has changed- same interface when you were developing OSB 11g. 

New Technology Adapters in SOA 12c.

1.     Cloud Integration -The major that happened in SOA 12c Cloud integration
2.     Mobile ennoblement– In support of REST & JSON.
3.     JD Edwards Integration.
4.     SAP Integration.
5.     Oracle Coherence Adapter – Definitely it will be a big add-on to SOA 12c and it allows seamless integration with local/remote coherence cache in support of different operations.
6.     Oracle Event Processing (OEP) -OEP provides an open architecture for sourcing, processing, and publishing complex events through the enterprise.
7.     MSMQ Adapter - MSMQ is the messaging middleware from Microsoft, running on the Windows operating system. This allows you to send And receive messages from private, public queues and Distributed Lists.
8.     LDAP Adapter- It provides bi-directional integration with several LDAP V3 directory servers and enables users to perform real-time query, CRUD, compare, search and also issue DSML requests to the server.
9.     UMS Adapter – It provides bidirectional support of email communication and extended to messaging channel such as SMS & IM.
10.  MFT Adapter – The key feature that added as an advantage like file exchanging & management to internal and external partners  but its altogether different product in Oracle Fusion Middleware 12 c (Additional licensing is required – Marketing tip J)
 Debugger Integration
  New debugger feature added in debug design time issues.

The exciting feature is here. Now you can run the services in Debug mode .You can now set breakpoints in Composite editor, BPEL processes and Service Bus Pipelines, which gives you the ability to stop at a break point, look at the data and step in, step out, etc, just as any ‘normal’ programming language in an IDE. In a BPEL process, you’re also able to change the value of a variable while debugging.
 Enterprise Manager Enhancements
1. One unified UI to see end to end composites and it has multiple domains like SOA Infra & Service Bus
2. Can optimize work managers
3. Error Hospital for Enterprise fault handling management.
4. Security management for EM console.
5. Modularity by SOA_foundation profile Profiles arranged in decreasing order footprint to reduce the overall footprint of the SOA infrastructure. Reduce overall class loading and overall startup time of the server 

·                     SOA CLASSIC ~ SOA Foundation with B2B + BPM Modules
·                     SOA FOUNDATION WITH HEALTHCARE ~ SOA Foundation with B2B + Healthcare UI
·                     SOA FOUNDATION WITH B2B ~ SOA Foundation Enterprise + B2B
·                     SOA FOUNDATION ENTERPRISE ~ SOA Foundation + Full Adapter Set
·                     SOA FOUNDATION ~ Orchestration + Mediator + Rules + Partial Adapter set
·                     ORCHESTRATION ~ BPEL-Only + HWF + Partial Adapter set
·                     BPEL-ONLY  ~ BPEL Components + SOA Common Infrastructure + Partial Adapter set
 Monitoring & Diagnostics
Oracle Enterprise Monitor is improved in 12 c a lot, now it provides diagnosability reporting for all adapter binding components for SOA applications. This will provide real-time visibility into availability and message exchange statistics with all adapters. 
Management Improvements
A very new excited features added as part of this release – This time oracle made easy our operations and management in OEM.
SOA dashboard changes below.

Here are the some new Key configuration, SOA Runtime Health and System Backlogs, Business Transaction Faults, Search, Fault Alerts.
Performance Improvement
Composite Lazy Loading 
 Lazy loading is a staggered loading of a composite artifacts which spreads out bootstrap cost.
This approach delays the loading of some resources (Schemas, WSDL, XSLTs, etc) till it receives its first time request. With this the initial time for server startup is improved and the cost across for individual composites is spread out based on their demand. It reduces overhead from composites which are rarely used and retired composites.

There are 4 stages in loading artifacts.
1.       Creation on in-memory java models
2.       Creating Mbeans
3.       Loading the various components in the composite
4.       Loading the resources used by the composites such as schemas & WSDLs

The first two stages are performed at server startup, which is more of loading the metadata that would be needed. When a particular composite receives a request, then it performs the next two stages, that is composite starts initializing and loading its resources and initiates and doing the same for dependent composites.

Here you go for path of CompositeLazyLaoding in EM à Right click on soa_infra –System MBean Browser – SoaInfraConfig – soa-infraattributes.


 1. MDS extended to OSB but the limitation is you can retrieve the artifacts from MDS but you can’t publish them to MDS. (Off course we have alternate procedure).  
 2. MQ adapter to integrate with IBM Websphere MQ .
 3. SOA 12c now supports XQuery & XSLT for BPEL – never before.
 4. Fault Policy Editor GUI added as an advantage to develop enterprise fault handling framework.
 5. ESS Enterprise Scheduler Service( Scheduled Activation and Deactivation) – This is very useful addition in SOA 12 c it supports new Enterprise Scheduler service to be restricted the services to certain timings in a day.
 6. Cross platform support – All adapters will be supported within SOA  Suite, Service bus, BPM projects.

Many more to go my next blog...

Happy Learning...!!!!!!!!!!!! Fun Sharing.........!!!!!!!!!

Monday, 4 August 2014

Oracle SOA Suite 12 C Installation - Step by Step

Hi Folks,

Finally Oracle recently made its long awaited & long-anticipated version with more productivity, performance, sophisticated & easy-to-use version.

Here you go :- 

I would like to share the installation process of most awaited  Oracle SOA suite 12 c.

I have installed this in Windows 7 machine.This time Oracle made the installation procedure pretty easy.
Make sure you have downloaded the SOA software binaries.I have mentioned below.
Make sure you have installed latest JDK and supported DB.

You will get and unzip the folder then you will get the following JAR files to install.

There are 3 steps for the entire installation

1. Weblogic n etc installtion.
2. RCU installation.
3. Extend domain.

Now follow the installation procedure.

1. Unzip the installer and start the installation procedure.
2. This will open up welcome screen of SOA 12 c installation.
 3. Click Next and Set you Oracle Home location of your drive.
4. Click Next for prerequisites.
5. Click Next. Check the installation summary and click Install.
6.Click Finish.

Done.. !! We are done with the Weblogic installtion n etc.
Now time ti install RCU.

RCU Installation

We have to install RCU schemas before domain creation.  In earlier release everything is separate installer but in SOA 12 c everything is packed into one installer.

Goto $FMW_Home/Oracle_Common/bin/rcu.bat   and run as Administrator to bring up the RCU welcome screen.
1. Click Next and choose default options to proceed.
2. Click Next and fill your DB information with credentials as you already installed the DB earlier.
3. Click Next and ignore the warning related to XE as you would be using this for DEVELOPMENT.
4. It will check some prerequisites and click OK . Enter prefix and select  SOA Infrastructure schema this will select all the dependent schemas.
5. Enter prefix and click Next.
6. Click Next and let the default values same.
7. Click Next and enter Password for all the schemas.

7. Confirm the RCU creation by clicking OK. Click Create.
8. Click Finish to compete the RCU creation.

We are done with RCU creation and go with domain creation.

Domain creation

Locate the file  $FMW_Home/Oracle_Common/common/bin/config.cmd and run as Administrator to bring up domain creation screen.

1. Give domain name and click Next. 
2. Select the FMW products which you want to install and click Next.
3. Click next and accept defaults.
4. Give credentials and click Next.
5. Choose domain mode (Dev/Prod) and accept defaults or change the JDK location.
6. Enter STB schema information and click on Get RCU Information if it is success click Next.
7. Click Next.
8. Test the connection details which are provided.
9. Click Next and verify the connection success for all the schemas. If not go back to connection details and give individual schema connection information.
10. Keep the defaults and continue by clicking Next. 
11. Click Create to start the domain creation.
12. Click Next .

13. Note down the server URLs and Finish for completion and also you can start the admin server here itself for the first time.

We are done with the installation of Prestigious Oracle SOA Suite 12 c installation . :-) 

Happy Learning...!!!!!!!!!!!! Fun Sharing.........!!!!!!!!!

Friday, 1 August 2014

Undeploy Composite Manually from Oracle SOA Suite EM

Hi Folks,

If you find any difficulty while deploying / undeploying / redeploying and your EM is not supporting to do the specific tasks you just need to undeploy the composites manually.

This is due to many reasons not only composite not deployed properly / DB reference issue/ MDS issue.

Step 1: Log on to EM right click on SOA_INFRA --> Adminstration-->MDS configuration.
Step 2: Export metada.
Step 3: file will be downloaded. Unzip the folder you will find the folder called deployed-composites and under this deployed-composites.xml.
Step 4: Open the .xml file and remove the entry of which composite / partition is having issue.

ZIP it again and import the MDS from EM.

You just need to restart the server then you can see the particular partition / composite would be undeployed.

If you still find any difficulty in deploying the same composite then you need to remove the entry in MDS as well . To delete the entry in MDS you follow my previous post. Click Here

Happy Learning...!!!!!!!!!!!! Fun Sharing.........!!!!!!!!!

Remove composite/data/files in Oracle SOA MDS - Illegal character in path at index: oramds:/deployed-composites

Hi folks,

I would like to share the strange issue that I have faced recently in our SOA environments.

Mistakenly I have placed a file in the composite folder which has gaps in the file name
eg: oracle_soa  suite.xml.
It has been built successfully and deployed in one environment and when we are trying to deploy the same code onto another Env but its throwing the below error.

Deploying on "/Farm_BPM_domain/BPM_domain/dev_soa_cluster" failed!
There was an error deploying the composite on dev_soa2: Operation failed - Member(Id=3 Timestamp=2014-08-01 03:22:25.068 Address=41.75:8038 MachineId=1177 Location=site: machine:m1-dev process:1755 Role=Weblogic):Error in getting XML input stream: oramds:/deployed-composites/Se/SeProcess_rev1.0/SCA-INF/classes/HSP-21215- Sysadmin_Instructions.docx: Illegal character in path at index 90: oramds:/deployed-composites/Se/SeProcess_rev1.0/SCA-INF/classes/Sysadmin  _Instructions.docx; . Please see the server diagnostic logs on dev_soa2 for details.

Issue:- When we were deployed the composite for the first time unexpectedly it went and sat in MDS location and then we are trying to redeploy the composite again but its throwing the exception as it is having invalid documents in MDS.

Solution:- I just removed the folder in MDS from the back-end and it worked.

MDS:  Composite instance and runtime information are stored in the SOAINFRA schema. Commonly used metadata like WSDLs, XSDs, rules, fault policies, etc. as well as composite deployments are stored within the MDS schema.

With every deployment / import of the metadata artifacts a new document version will be created in the MDS. This means that re-importing an updated WSDL-file into the MDS does not delete the previous version of the document. Furthermore we sometimes need to remove unnecessary and unwanted files from the repository. If this is not considered you might end in problems like below:

OPTION 1: Remove directories and files from MDS using WLST
1) Start WLST from SOA_HOME/common/bin/

[oracle@soabpm-vm ~]$ cd /oracle/fmwhome/Oracle_SOA1/common/bin 
[oracle@soabpm-vm bin]$ ./ 

2) Execute the following command: sca_removeSharedData('http://<soahost>:<soaport>', 'directory', 'user', 'password')

Example (delete folder 'interfaces' and all its subdirectories and files):

wls:/offline> sca_removeSharedData(‘http://localhost:8001’, ‘interfaces’, ‘weblogic’, ‘welcome1’)


Note: With the command above you can just remove directories and files which are stored under "apps".

OPTION 2: Remove directories and files from MDS using ANT

Oracle provides some ANT scripts which can be used to integrate the "remove" command into your central build & deploy proccess. Just search for the "removeSharedData" command in ant-sca-deploy.xml. On the server this file is located under SOA_HOME/bin. You can also find the file in your JDeveloper install folder under MIDDLEWARE_HOME/jdeveloper/bin.

1) Execute the command: ant -f ant-sca-deploy.xml removeSharedData -DserverURL=server.url -Drealm=realm -Duser=user -Dpassword=password -DfailOnError=true/false

Example (delete folder 'interfaces' and all its subdirectories and files):
ant -f ant-sca-deploy.xml removeSharedData -DserverURL=http://localhost:8001 -DfolderName=interfaces"

Note: With the command above you can just remove directories and files which are stored under "apps". See the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite for a detailed description of the parameters.

OPTION 3: Remove files from MDS using WLST
1) Start WLST from SOA_HOME/common/bin/


[oracle@soabpm-vm ~]$ cd /oracle/fmwhome/Oracle_SOA1/common/bin
[oracle@soabpm-vm bin]$ ./


2) Connect to the SOA server: connect('user', 'password', 't3://<soahost>:<soaport>')


wls:/offline> connect('weblogic', 'welcome1', 't3://localhost:8001') 

3) Execute the command: deleteMetadata(application=’application-name', server=’soaserver-name’, docs=’absolutePath’)

Example (delete all files in '/apps/interfaces' as well as the files in its subdirectories): 
wls:/...> deleteMetadata(application='soa-infra',server='soa_server1',docs='/apps/interfaces/**') 

Note: With the command above all files in directory 'apps/interfaces' will be deleted. Please note the double asterisk (**) at the end of the this parameter. The asterisk (*) represents all documents under the current directory. The double asterisk (**) represents all documents under the current directory and also recursively includes all documents in subdirectories. Furthermore see the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference for a detailed description of the valid arguments.

OPTION 4: Remove files from MDS using MBean Browser

You can call the command "deleteMetadata" also from the Enterprise Manager / MBean Browser.

1) Login to EM (http://host:port/em)
2) Expand SOA
3) Right-click on soa-infra
4) Select Administration -> MDS Configuration
5) Click Runtime MBean Browser
6) Click Operations tab
7) Click deleteMetadata operation
8) Provide parameters:
      docs - list of entries to remove (fully qualified path, eg: /apps/interfaces/**)
      restrictCustTo - default
      excludeAllCust - false
      excludeBaseDocs - false
      excludeExtendedMetadata - false
      cancelOnException - true
9) Click Invoke

For clear understanding the options of this method refer the link 

OPTION 5: Purge Metadata Version History using Fusion Middleware Control

For database-based MDS, you can purge the metadata version history using the Fusion Middleware Control (Enterprise Manager). This operation purges the version history of unlabeled documents from the application's repository partition. The tip version (the latest version) is not purged, even if it is unlabeled.

1) Login to EM (http://host:port/em)
2) Expand SOA
3) Right-click on soa-infra
4) Select Administration -> MDS Configuration
5) Scroll to the “Purge” section: enter a value in the Purge all unlabeled past versions older than field and click on the Purge button
6) In the Confirmation dialog box, click Close
How to view the MDS content

After you removed files and/or directories from the MDS you might want to have a look at the actual content. The easiest way to do this is to create a MDS connection in JDeveloper.

Happy Learning...!!!!!!!!!!!! Fun Sharing.........!!!!!!!!!

Wednesday, 14 May 2014

Event Driven Network(EDN) in Oracle SOA11g - Part 1


A nice new addition to OFM11g is the Event Delivery Network (EDN). 
This makes it possible to publish and subscribe to business events in a SOA composite application

Event Delivery Network allows publish-subscribe type of loose coupling between SCA components. 
Events carry information between SCA Components – without direct dependencies or interaction between these components. Events are published by components in a fire-and-forget style into the Event Delivery Network. This EDN will make the events available to any subscribers to the event. These subscribers for now are all Mediator components. If no subscribers are found, the event goes nowhere from the EDN. That’s life in an Event Driven Architecture.

Events are messages that are not targeted at a specific consumer. Any component with an interest in specific business events can subscribe as a listener for these events with the event handler infrastructure. Whenever an event of a certain business event type is passed to the event handler, it will publish the event to all subscribed listeners. The consumers of the event do not need to know where the event originated and how it has been delivered to them.

The complete absence of a link between the event publishers and the event consumers is the main attraction of the usage of events and event drive architecture patterns. Collaboration without any dependencies is almost an architect's Holy Grail.

Events in the Oracle SOA Suite: EDN and BPEL

The Oracle SOA Suite 11g ships with an event handler infrastructure that is the intermediary for publishers of business events as well as the consumers of such events. This infrastructure is called the Event Delivery Network (EDN). Note: on a more technical level and with more development effort, JMS and AQ can also be used to work with events in SCA Composite applications.
One of the components that can subscribe with the EDN on specific events is BPEL. Mediator and BPMN are the other potential subscribers to EDN events. A BPEL process can receive EDN events in one of two ways:
·        1- The event causes a new BPEL process instance to be created
·        2-The event is consumed into a running BPEL process instance
If a business condition is recognized as one corresponding to a predefined business event, the event is published. What should happen in response to the event, where and by which actors, is invisible and even irrelevant to the publisher of the event.

Monday, 7 April 2014

Meanings of the BPEL Standard Faults - Oracle SOA Suite 11g

Hi Folks.

Here are some so called 'BPEL Standard Faults' listed but without detailed information.
Oracle SOA SUite -Version and later.

Fault name
Thrown when a business process instance simultaneously enables two or more IMAs for the same partnerLink, portType, operation but different correlationSets, and the correlations of multiple of these activities match an incoming request message.
Thrown if upon completion of a directly enclosed <scope> activity within <forEach> activity it can be determined that the completion condition can never be true.
Thrown when more than one inbound message activity is enabled simultaneously for the same partner link, port type, operation and correlation set(s).
Thrown when more than one inbound message activity is open for the same partner link, operation and message exchange.
Thrown when the contents of the messages that are processed in an <invoke>, <receive>, <reply>, <onMessage>, or <onEvent> do not match specified correlation information.
Thrown if the integer value used in the <branches> completion condition of <forEach> is larger than the number of directly enclosed <scope> activities.
Thrown when an expression used within a WS-BPEL construct (except <assign>) returns an invalid value with respect to the expected XML Schema type.
Thrown when an XML Schema validation (implicit or explicit) of a variable value fails.
Thrown when the join condition of an activity evaluates to false and the value of the suppressJoinFailure attribute is yes.
Thrown when incompatible types or incompatible XML infoset structure are encountered in an <assign> activity.
Thrown when an inbound message activity has been executed, and the process instance or scope instance reaches the end of its execution without a corresponding <reply> activity having been executed.
Thrown when a <reply> activity cannot be associated with an open inbound message activity by matching the partner link, operation and message exchange tuple.
Thrown if there is any problem creating any of the objects defined as part of scope initialization. This fault is always caught by the parent scope of the faulted scope.
Thrown when a selection operation performed either in a function such as bpel:getVariableProperty, or in an assignment, encounters an error.
Thrown when the execution of an expression results in an unhandled fault in an expression language or query language.
Thrown when an <invoke> or <assign> activity references a partner link whose partnerRole endpoint reference is not initialized.
Thrown when there is an attempt to access the value of an uninitialized variable or in the case of a message type variable one of its uninitialized parts.
Thrown when a WS-BPEL implementation fails to interpret the combination of the reference-scheme attribute and the content element OR just the content element alone.
Thrown when the transformation source provided in a bpel:doXslTransform function call was not legal (i.e., not an EII).
Thrown when the named style sheet in a bpel:doXslTransform function call was not found.

Happy Learning...!!!!!!!!!!!! Fun Sharing.........!!!!!!!!!