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


51 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 Chunchu 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 and OIC 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 and OIC 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 and OIC 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

Unknown 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...

Anonymous 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

Unknown 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

Unknown 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.................

Unknown said...

Latest Govt Jobs Notification 2016

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

Unknown 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

Unknown 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.

Unknown said...

Thanks for the info man, Helpful to know about the practical content here. I am too sharing something useful and trendy here,

aws training in chennai with placement| aws authorized training partner in chennai|aws solution architect training in chennai

Anonymous said...

Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.
full stack developer training in annanagar

full stack developer training in tambaram

full stack developer training in velachery

Unknown said...

I am really happy with your blog because your article is very unique and powerful for new reader.
Click here:
Selenium Training in Chennai | Selenium Training in Bangalore | Selenium Training in Pune | Selenium Training in Chennai

sai said...

It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...
python training institute in chennai
python training in Bangalore
python training in pune

Unknown said...

Wonderful bloggers like yourself who would positively reply encouraged me to be more open and engaging in commenting.So know it's helpful.
Blueprism training in Chennai

Blueprism training in Bangalore

nilashri said...

Well researched article and I appreciate this. The blog is subscribed and will see new topics soon.
Data science training in tambaram
Data Science training in anna nagar
Data Science training in chennai
Data science training in Bangalore
Data Science training in marathahalli
Data Science training in btm

gowthunan said...

I’ve got some recommendations for your blog you might be interested in hearing.
safety course in chennai

prabha said...

We are a group of volunteers and starting a new initiative in a community. Your blog provided us valuable information to work on.You have done a marvellous job!

angularjs Training in chennai
angularjs Training in chennai

angularjs-Training in tambaram

angularjs-Training in sholinganallur

angularjs-Training in velachery

nivatha said...

This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.I like it and help me to development very well.Thank you for this brief explanation and very nice information.Well, got a good knowledge.
Data Science training in kalyan nagar | Data Science training in OMR | Data science training in chennai

Data Science training in chennai | Best Data science Training in Chennai | Data science training in velachery | Data Science Training in Chennai

Data science training in tambaram | Data Science training in Chennai | Data science training in jaya nagar | Data science Training in Bangalore

Unknown said...

Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.
Java training in Chennai | Java training in Bangalore

Java interview questions and answers | Core Java interview questions and answers

Unknown said...

Well researched article and I appreciate this. The blog is subscribed and will see new topics soon.
Data Science Training in Chennai | Best Data science Training in Chennai | Data Science training in anna nagar | Data science training in Chennai

Data Science training in chennai | Best Data Science training in chennai | Data science training in Bangalore | Data Science training institute in Bangalore

Data Science training in marathahalli | Data Science training in Bangalore | Data Science training in btm layout | Data Science Training in Bangalore


sai said...

It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...
python interview questions and answers | python tutorialspython course institute in electronic city

sabee said...

Hmm, it seems like your site ate my first comment (it was extremely long) so I guess I’ll just sum it up what I had written and say, I’m thoroughly enjoying your blog. I as well as an aspiring blog writer, but I’m still new to the whole thing. Do you have any recommendations for newbie blog writers? I’d appreciate it.


AWS Training in Bangalore | Amazon Web Services Training in bangalore , india

AWS Training in pune | Amazon Web Services Training in Pune, india

AWS Training in Chennai|Amazon Web Services Training in Chennai,India


aws online training and certification | amazon web services online training ,india

prabha said...

Thank you for taking the time to provide us with your valuable information. We strive to provide our candidates with excellent care and we take your comments to heart.As always, we appreciate your confidence and trust in us
angularjs Training in bangalore

angularjs Training in bangalore

angularjs Training in chennai

automation anywhere online Training

angularjs interview questions and answers

Government Jobs said...

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

natural oil
pure herbal oil
ayurvedic oil store in jaipur
ayurvedic oil

Fill the Form and Get up to 90% discount on All Products

Unknown said...

Thanks for sharing this unique information with us. Your post is really awesome. Your blog is really helpful for me..
organic oil
organic oil in jaipur
organic cold pressed oils
ayurvedic oil store in jaipur

eTechno Soft Solutions said...

I am really happy with your blog because your article is very unique and powerful for new reader.

eTechno Soft Solutions offers the industry recognized Job Oriented Training in Bangalore that combines corporate training, online training, and classroom training effectively to fulfill the educational demands of the students worldwide.

Realtime Experts said...

I have read your blog its very attractive and impressive. I like it your blog.Microsoft Training in Bangalore

Realtime Experts said...


Great post!I am actually getting ready to across this information,i am very happy to this commands.Also great blog here with all of the valuable information you have.Well done,its a great knowledge.Software Testing Training in Bangalore

Realtime Experts said...

Thanks for one marvelous posting! I enjoyed reading it; you are a great author. I will make sure to bookmark your blog and may come back someday. I want to encourage that you continue your great posts. sap training in bangalore

Realtime Experts said...


Thank you for your post. This is excellent information. It is amazing and wonderful to visit your site. Cloud Computing TrainingTraining in Bangalore

Realtime Experts said...


Great post!I am actually getting ready to across this information,i am very happy to this commands.Also great blog here with all of the valuable information you have.Well done,its a great knowledgez. ORACLE APPS training in bangalore

raju said...

very nice blog.......!
inplant training in chennai
inplant training in chennai for it.php
panama web hosting
syria hosting
services hosting
afghanistan shared web hosting
andorra web hosting
belarus web hosting
brunei darussalam hosting
inplant training in chennai

Jenifer said...

Pretty! This was a really wonderful post. Thank you for providing these details.

microsoft training in bangalore

microsoft training institutes in bangalore

microsoft course content

microsoft training centres in bangalore

microsoft course syllabus

microsoft training

hami said...

click here for more info.

IICT Technologies said...

Superb
SAP Training in Chennai
SAP ABAP Training in Chennai
SAP Basis Training in Chennai
SAP FICO Training in Chennai
SAP SD Training in Chennai
SAP MM Training in Chennai
SAP PM Training in Chennai
SAP PP Training in Chennai
SAP MDG Training in Chennai
SAP EHS Training in Chennai

divya said...

I found your blog while searching for the updates, I am happy to be here. Very useful content and also easily understandable providing.i really like this page.
Ai & Artificial Intelligence Course in Chennai
PHP Training in Chennai
Ethical Hacking Course in Chennai Blue Prism Training in Chennai
UiPath Training in Chennai

Devi said...

Awesome Blog!!! Thanks for sharing this data with us... oracle training in chennai

Devi said...

Infycle Technologies, the excellent software training institute in Chennai offers the best Big Data Training in Chennai for freshers, students, and tech professionals. Along with the Big Data training, other demanding courses such as Cyber Security, Artificial Intelligence, Oracle, Java, Hadoop, Selenium, Android, and iOS Development, Data Science will also be trained with 100% hands-on training. Once the completion of training, the students will be sent for placement interviews in the core MNC's. Dial 7504633633 to get more info and a free demo.Best Big Data Training Chennai | Infycle Technologies

Mrbk30 said...

Very Informative blog thank you for sharing. Keep sharing.

Best software training institute in Chennai. Make your career development the best by learning software courses.

azure course in chennai
informatica training in chennai
best blue prism training in chennai
cloud computing classes in chennai
power bi certification training
best msbi training institute in chennai
Docker Training in Chennai
android course in chennai
ios training in chennai
Xamarin Course in Chennai

David Fincher said...

Great post. Thanks for sharing such a useful blog.
SEO Training in T Nagar
SEO Training in Chennai

Lavanya said...

Thank you for introducing this tool. keep it updated.
Oracle SOA Online Training Hyderabad
SOA Training in Hyderabad

Chaitanya said...

Thank you ever so much for your article post. Keep writing.
PHP Training
RPA Training