Saturday, May 14, 2011

SOA 10g to 11g Migration Best Practices

Oracle SOA Suite 11g was released couple of years ago and companies are using it to develop integration solutions since then. Those who have developed their integration solutions using SOA Suite 10g they have upgraded their infrastructure and code base to SOA Suite 11g or they are planning to upgrade it to 11g.

SOA Suite 11g has significant differences from SOA Suite 10g. In this post I am writing about the best practices for upgrading SOA 10g code base to SOA Suite 11g.

Pre Migration Best Practices

Ensure that 10g Projects are Up and Running on Latest SOA 10g Release

Before migrating a 10g project its better to verify that the project is up and running. If your project have dependencies on the external web services than make sure that all the external web service are up and running.

Install JDeveloper 11g:

Download latest JDeveloper 11g release and upgrade it with SOA composite editor extension.

Install latest SOA 11g Version:

Download and install latest SOA Suite 11g release (Latest SOA Suite 11g version now is 11.1.1.5 also named as SOA 11g PS4).

Start with One Business Case:

Don’t try to upgrade the complete 10g code base. Select one business case and start upgrading projects needed for the selected business case.

Configure Resources:

Configure all the resources you need to run your application on newly installed SOA 11g server (JMS Queues/Topics, DB Connection pools, Security Policies, Work Managers etc).

Use Scripts to Migrate 10g Projects:

If you are migrating just one project than using JDeveloper migration wizard is a clever choice. If you want to migrate all of your 10g projects into 11g format than using ant-sca-upgrade.xml is a better option. You can write a shell/ant script to upgrade all 10g projects leveraging ant-sca-upgrade.xml. In the next article I will provide an ant script to migrate 10g projects to 11g.

Post Migration Best Practices

Compile Migrated Projects and Fix Compilation Errors.

11g BPEL compiler is stricter than 10g. You might get compilation error for XPath functions or for XPath expressions. Check the compilation logs for errors and fix them. In 11g they changed namespace prefixes for some of the XPath functions, you need to correct the XPath function signature. For example ora:parsexml() is oraext:parsexml now. You can have a look on the 11g XPath functions definitions in <JDEVELOPER_HOME>/integration/seed/soa/configuration folder. This folder contains XPath function definitions for bpel, mediator, mapper etc.

Rearrange Artifacts Into Corresponding Folders.

For a BPEL project, JDeveloper 10g keeps all the artifacts inside bpel folder. JDeveloper 11g organizes artifacts in folders. For example it keeps .xsd files in xsd folder, .wsdl files in wsdl folder and so on. When you upgrade a 10g project to 11g project neither JDeveloper Migration Wizard nor ant-sca-upgrade.xml reorganizes the project artifacts in their corresponding folders. Copy artifacts into corresponding foder. It doesn’t make any difference in the functionality but it will make your 11g projects much cleaner and organized. Don’t forget to modify the path of xsd's, xslt's, wsdl's in the files referring these artifacts.

Create JDeveloper Applications and Projects

When you upgrade a 10g project using ant-sca-upgrade.xml script it won’t generate .jws and .jpr files in the upgraded projects. You need to create applications and projects in JDeveloper manually.

Run 11g Adapter Configuration Wizard to Verify the Adapters

Run 11g adapter configuration wizard for each adapter in an upgraded project to make sure that all the adapter configurations are correct and contains all the required properties. It will also validate the adapter connections to SOA 11g environment.

Update JCA adapter Header Variables

SOA 11g manages JCA adapter header variables in a different manner. JCA adapter header variables are invoke activity properties now. If you are using adapter header variables in SOA 10g projects you need to manually set these adapter header properties on the Properties tab of the Invoke activity dialog box. You can see all the available adapter header properties on the properties tab of the invoke activity. Recompile the modified project to ensure that everything is fine.

Create Configuration Plans for Deployment.

JDeveloper 11g migration wizard or 11g migration script doesn’t upgrade any SOA 10g deployment plan and build scripts. You need to manually create configuration plans for SOA 11g projects. Configuration plans help you to customize environment specific values (i.e. hostname, port, resource locations etc). Click here to find out how to generate and use deployment plans.

Manage Common Artifacts Using MDS

In Fusion Middleware 11g oracle introduces a new way of managing application meta data using MDS (Meta Data Service). MDS is a single unified repository to store all the shared artifacts. MDS provides a unified URL to access an artifact across all the environments. No local copies and no string replacements are required. For example, to access CommonObjects.xsd you need to use the following URL across all the environments:

oramds:/apps/common/xsd/CommonObjects.xsd

If you are accessing any file from bpel xmllib you need to change the URL to MDS URL. For example if you were accessing RuntimeFault.wsdl in 10g BPEL project using URL - http://localhost:80/orabpel/xmllib/RuntimeFault.wsdl you need to change it manually in your code to oramds:/soa/shared/bpel/RuntimeFault.wsdl.

Do the following to leverage MDS repository to efficiently manage your shared resources:
  • Remove local copies of shared artifacts (XSD, WSDL, DVM, XSLT etc)
  • Copy Common artifacts to local JDeveloper MDS repository. Local MDS repository location is <JDEVELOPER_HOME>/integration/seed
  • Change common artifacts URL to MDS URL in the files referring them.
  • Deploy shared artifacts to MDS repository on SOA 11g Server. Click here to learn to deploy and remove artifacts on MDS repository using ant.

Group Upgraded Projects in a Single Composite Application

When you upgrade SOA 10g projects to SOA 11g you will have one SOA composite per upgraded project. In other words you will have as many SCA Composites as many project you have. An SCA composite is used to assemble SCA components in logical groupings. You can not leverage SCA benefits by having many fine grained composites.

Grouping SCA components into an SCA composite is heavily depends on the business case and requirements you have but you can use the following as reference points:
  • Evaluate the functionality provided by the SCA components and then group the related SCA components in a single SCA composite.
  • Assemble a reusable component alone in an SCA composite. Expose the component as a service using service bindings so other SCA components/composites can reuse it.
  • Consider message size and complexity of the component implementation as well while assembling SCA Composite.

Create Partitions to Group Composites

In SOA 10g you have BPEL domains to logically organize BPEL processes and ESB System and Service Group for organizing ESB flows. In SOA 11g you need to create partitions to logically group SOA composites. Partitions are similar to the BPEL 10g domains. You can perform bulk life-cycle management operations on all SOA composites deployed on a partition. In SOA 11g you need to set the entire configuration (audit level, threading etc) at SOA infrastructure level so you can not perform any BPEL Engine specific configuration tasks on partitions. Click here for more details on creating and managing partitions.

Deploy SOA Projects to Server and Test

Deploy SOA composites and test them to verify that the upgraded code is working as expected.

Tune SOA 11g Infrastructure

After verifying that the migrated and modified code is working as expected you can start performance tuning SOA 11g infrastructure. Click here for details about BPEL Engine properties. I will write on SOA 11g Performance tuning best practices in my next posts.

SOA 10g to 11g migration requires lot more to do than simply executing migration script/wizard. You need to carefully plan your upgrade strategy. You can use these best practices as a reference. In next series of blog posts I will write about best practices of upgrading other SOA 10g projects (ESB, BAM, Business Rules etc).

References:

Oracle MDS White Paper

SOA Suite 11g Developer Guide

SOA Suite 11g Migration Guide

SOA Suite 11g Composite Deployment Guide


36 comments:

Ravi said...

Dharmendra -
I have couple of questions on 11g SOA suite and adapters. Are you available to discussions?

Can you respond to Rk8409@yahoo.com?

Bhavnesh Patel said...

Hi Dharmendra,

Great post.. I hope this will be useful for us in future :)

Thanks,
Bhavnesh.

Reena said...

Hi Dharmendra,

I have couple of quetions about SOA 10 to SOA 11g migration.Can you please share your contact information at reenugs@gmail.com.

Thanking you in anticipation.

Regards,
Reena

Bhavin said...
This comment has been removed by the author.
Bhavin said...

Dharam,
As a suggestion, You can add the point for Abstract WSDL reference instead of using concrete WSDL.
btw, good work... keep it up....

Sandhya said...

Hi I am trying to compile a BPEL process in 11.1.1.5 , but it fails with xpath expressions and says some XML element is invalid as compiler error. THe same BPEL compiles fine 11.1.1.2 with same xsd. Is there anything that I can verify, there regarding the xpath expressions?

SOA Technology for beginners and learners said...

nice post.. i have a question regarding migrating esb to mediator

but i am getting load of wsdl error and one more thing.. where can i see the log updates while migrating the code in jdeveloper 11g.

SOA Technology for beginners and learners said...

awesome post...

Hi Dharmendra,


As said in the post do you have an antscript to migrate multiple bpel process or esb process with ant-sca-upgrade.xml

it would be very usefull if u would provide ... thanks in advance..my email id is saileshan007@gmail.com

SOA Technology for beginners and learners said...

awesome post...

Hi Dharmendra,


As said in the post do you have an antscript to migrate multiple bpel process or esb process with ant-sca-upgrade.xml

it would be very usefull if u would provide ... thanks in advance..my email id is saileshan007@gmail.com

Gloria T. Felix said...

Admin,Your Info was very helpful.

Oracle SOA online training by real time international experts in an easy way to learn way.

http://hyderabadsys.com/oracle-soa-online-training/

To know the info on Online Oracle SOA training contact below and get full info on Oracle SOA online training.

Contact Us :

India : +91 9030400777
US : +1-347-606-2716
Email: contact@Hyderabadsys.com

krish said...

Hi,
I am facing an error while creating new SOA Application in Jdeveloper in windows 7.
Error is:" An error occrred creating the application.Check file system permissions"., and earlier created SOA App projects are also unable to open in Jdeveloper, please reply me how to rectify these errors.
Thank you...

jake george said...

BPEL Admin Online Training, ONLINE TRAINING – IT SUPPORT – CORPORATE TRAINING http://www.21cssindia.com/courses/bpel-admin-online-training-65.html The 21st Century Software Solutions of India offers one of the Largest conglomerations of Software Training, IT Support, Corporate Training institute in India - +919000444287 - +917386622889 - Visakhapatnam,Hyderabad BPEL Admin Online Training, BPEL Admin Training, BPEL Admin, BPEL Admin Online Training| BPEL Admin Training| BPEL Admin| "Courses at 21st Century Software Solutions
Talend Online Training -Hyperion Online Training - IBM Unica Online Training - Siteminder Online Training - SharePoint Online Training - Informatica Online Training - SalesForce Online Training - Many more… | Call Us +917386622889 - +919000444287 - contact@21cssindia.com
Visit: http://www.21cssindia.com/courses.html"

Kathiresan Muthu said...

Hi this is Kathiresan i am having 3 years of experience as a dot net developer and i am certified. i have knowledge on OOPS concepts in .NET but dont know indepth. After learning android will be enough to get a good career in IT with good package? and i crossed Android Training in Chennai website where someone please help me to identity the syllabus covers everything or not??

Thanks,
kathiresan

Kathiresan Muthu said...

Hi this is Kathiresan i am having 3 years of experience as a dot net developer and i am certified. i have knowledge on OOPS concepts in .NET but dont know indepth. After learning android will be enough to get a good career in IT with good package? and i crossed Android Training in Chennai website where someone please help me to identity the syllabus covers everything or not??

Thanks,
kathiresan

Martina Christy said...

Your blog is really useful for me. Thanks for sharing this useful blog..Suppose if anyone interested to learn Android Course in Chennai please visit fita academy which offers best Android Training in Chennai at reasonable cost.

Roshini RS said...

Thanks for sharing; Salesforce crm cloud application provides special cloud computing tools for your client management problems. It’s a fresh technology in IT industries for the business management.
Regards,
Salesforce training in Chennai|Salesforce training institute in Chennai

Saranya D said...


hai you have to learned to lot of information about c# .net Gain the knowledge and hands-on experience you need to successfully design, build and deploy applications with c#.net.
C-Net-training-in-chennai

Saranya D said...


Looking for real-time training institue.Get details now may if share this link visit
VB-Net-training-in-chennai.html
oraclechennai.in:

Saranya D said...


hai If you are interested in asp.net training, our real time working.
asp.net Training in Chennai.
Asp-Net-training-in-chennai.html

Saranya D said...


Amazing blog if our training additional way as an silverlight training trained as individual, you will be able to understand other applications more quickly and continue to build your skill set which will assist you in getting hi-tech industry jobs as possible in future courese of action..visit this blog
silverlight-training.html
greenstechnologies.in:

Saranya D said...



awesome Job oriented sharepoint training in Chennai is offered by our institue is mainly focused on real time and industry oriented. We provide training from beginner’s level to advanced level techniques thought by our experts.
if you have more details visit this blog.
SharePoint-training-in-chennai.html

Saranya D said...



if share valuable information about cloud computing training courses, certification, online resources, and private training for Developers, Administrators, and Data Analysts may visit
Cloud-Computing-course-content.html

Saranya D said...




I also wanted to share few links related to oracle scm training Check this site.if share indepth oracle training.Go here if you’re looking for information on oracle training.
Oracle-SCM-training-in-Chennai.html

Santhiya said...

Really awesome blog. Your blog is really useful for me. Thanks for sharing this informative blog. Keep update your blog.
QTP Training in Chennai

Akasha said...

This information is impressive..I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic..
Rac Training In Chennai

PLC Training In Chennai said...

PLC Training in Chennai
PLC Training Institute in Chennai
PLC Training Center in Chennai
PLC Training Course in Chennai
PLC Course in Chennai
PLC SCADA Training in Chennai
PLC Training Centre in Chennai
PLC SCADA Training Institute in Chennai
Best PLC Training in Chennai
Best PLC Training Institute in Chennai
SCADA Training in Chennai
DCS Training in Chennai
Automation Training in Chennai
Automation Training Institute in Chennai
Industrial Automation Training in Chennai
HMI Training in Chennai
VFD Training in Chennai
Process Automation Training in Chennai
Final Year Projects in Chennai
IEEE Projects in Chennai
Mechanical Projects in Chennai
Embedded Training in Chennai
VLSI Training in Chennai
Robotics Training in Chennai
Inplant Training in Chennai
AutoCad Training in Chennai
IT Training institutes in Chennai
Web Designing Training in chennai

Akula Rahul said...

GSSSB 2480 Revenue Talati Bharti Recruitment 2016

I have visited this blog first time and i got a lot of informative data from here which is quiet helpful for me indeed.................

Ramya Kolluru said...

Latest Govt Jobs Notification 2016

I like your site and content. thanks for sharing the information keep updating..................

Savitha said...

Excellent information with unique content and it is very useful to know about the information based on blogs.
Informatica Training In Chennai
Hadoop Training In Chennai
Oracle Training In Chennai
SAS Training In Chennai

Amit sirswa said...

hotel management colleges in jaipur,
best hotel management colleges in jaipur
hotel management courses
college of hospitality administration jaipur,
cha hotel management jaipur

Thank you sir And keep it up More Post And Its A Awesome Web page sir Thank You So Much ,

Amit sirswa said...

HOme Automations system
IP CAmera in jaipur at Rajasthan
Home security system in jaipur
Wireless Home Security System in jaipur
Realtime attendance machine in jaipur
cctv camera dealer in jaipur
Boom Barriers system in jaipur at Rajasthan
security system solutions in jaipur

its really great information Thank you sir And keep it up More Post

Mahee Mahesh said...

Hi Dharmendra,

We have to migrate multiple soa projects from SOA 11g to SOA 12c(12.1.3.0.0).Though JDeveloper is migrating automatically when we open ".jpr" file in "JDev12c" It is tough to open manually all the 500 composites. Can you please assist in providing ant-scripts or any other way where I can do a bulk migrate.

Please kindly do the needful at the earliest as it is urgent!!. Appreciate your speedy response

janu canna said...

hi,
can any body help me to know the procedure followed by
programmer/developer inorder to develop a project. what are
the steps, how he/she get the SRS,technical document??how
does he submit his wotk to TL/PM/Business Analyst?? How
does these documents review?? how the developer starts
coding? how does he deploy his coding in server? in which
server he will deploy?? what are the important document a
developer should have??? in realtime soa projects, pls provide these details my mail id janu.canna@gmail.com

Nagendra Reddy said...

You clearly explained how to migrate from oracle soa suite 11g to 12c thank you sir.The Lucidtechsystems providing quality Oracle SOA training and Oracle SOA administration training from Hyderabad.

janu3vj said...

Thanks for the awesome share
We at Colan Infotech Private Limited best web design company in chennai,is Situated in US and India,
will provide you best service in qa testing services
Design Services and Colan Infotech has a group of exceedingly dedicated, inventive and creative experts with an energy for delivering exciting ,
helpful and stylish Web and Mobile Applications, We are one of the best software testing services company
and of course we stepped in bangalore too we are best qa and testing services
can provide quality assurance and testing services,
we are the best among the software testing company india

Dharmesh Mittal said...

Makeup is an avenue for self expression and its possibilities are endless
Celebrity Makeup Artist in jaipur
Top 10 beauty parlor in rajasthan
Fiza Makeup and Hair Artist.
Wedding Makeup Artist in jaipur.
Professional Makeup Artist in jaipur
Bridal Makeup Artist in jaipur
Fiza Makeup Academy.
Top 10 beautyparlor in jaipur
Creative Makeup Artist in jaipur
Bollywood Makeup Artist in jaipur
Character Makeup Artist in jaipur
Fiza Makeup Academy Rajasthan
Top 10 beauty parlor in india
Hair and Makeup Artist in jaipur