Upload
raastech
View
132
Download
0
Embed Size (px)
Ahmed Aboulnaga Technical Director Raastech, Inc.
Upgrading Oracle SOA Suite to 11g A Real-World Success Story
Slide 2 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Introduction
2. Upgrading SOA Suite 10g to 11g
3. Summary
Agenda
1. Understand Upgrade Process
2. Infrastructure Installation
3. Application Server Setup
4. Develop Deployment Process
5. Import Artifacts to MDS
6. AIA Setup
7. Upgrade Projects
8. Post-Upgrade Steps
9. Test
Slide 3 of 79 © Raastech, Inc. 2011 | All rights reserved.
Introduction
Slide 4 of 79 © Raastech, Inc. 2011 | All rights reserved.
Prior development experience with SOA Suite 10g
Oracle SOA Architect
Oracle SOA Developer
Oracle SOA Suite Administrator
Target Audience
Slide 5 of 79 © Raastech, Inc. 2011 | All rights reserved.
This presentation is specific to:
– Oracle WebLogic Server 11g (10.3.4)
– Oracle SOA Suite 11g (11.1.1.4)
– Oracle AIA Foundation Pack (11.1.1.4)
Applicable Versions
Slide 6 of 79 © Raastech, Inc. 2011 | All rights reserved.
SOA Suite:
– Business Rules
– Human Workflow
– Oracle Web Services Manager (OWSM)
Other products:
– Business Activity Monitoring (BAM)
– B2B Integration
– Oracle Service Registry (OSR)
– WebCenter
Infrastructure:
– Enterprise Architecture
– Cutover process
Not Addressed in this Presentation
Slide 7 of 79 © Raastech, Inc. 2011 | All rights reserved.
The Oracle Upgrade Process
http://download.oracle.com/docs/cd/E17904_01/upgrade.1111/e10127/summary.htm#BABCFIEA
Slide 8 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Understand Upgrade Process
2. Infrastructure Installation
3. Application Server Setup
4. Develop Deployment Process
5. Import Artifacts to MDS
6. AIA Setup
7. Upgrade the Projects
8. Post-Upgrade Steps
9. Test
Overview of Upgrade Process
Infrastructure Setup
Code Upgrade
Preparation
Slide 9 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Understand Upgrade Process
2. Infrastructure Installation
3. Application Server Setup
4. Develop Deployment Process
5. Import Artifacts to MDS
6. AIA Setup
7. Upgrade Projects
8. Post-Upgrade Steps
9. Test
Slide 10 of 79 © Raastech, Inc. 2011 | All rights reserved.
Oracle Fusion Middleware Upgrade Planning Guide 11g
Release 1 (11.1.1)
Oracle Application Integration Architecture Foundation
Pack: Migration Guide to Foundation Pack 11gR1
(11.1.1.4.0)
Oracle Fusion Middleware Upgrade Guide for Oracle SOA
Suite, WebCenter, and ADF 11g Release 1 (11.1.1)
Oracle Documentation
– Table 1–1 Table Describing the Steps in the Oracle SOA
Suite and WebCenter Upgrade Process
Slide 11 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Understand Upgrade Process
2. Infrastructure Installation
3. Application Server Setup
4. Develop Deployment Process
5. Import Artifacts to MDS
6. AIA Setup
7. Upgrade Projects
8. Post-Upgrade Steps
9. Test
Slide 12 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Install Oracle Database 11g (11.2.0.x)
2. Install Oracle WebLogic Server 11g (10.3.4)
3. Create SOA database schemas using the RCU 11g
4. Install Oracle SOA Suite 11g (11.1.1.4)
5. Create SOA domain
Infrastructure Installation Overview of Oracle SOA Suite 11g Installation Process
Slide 13 of 79 © Raastech, Inc. 2011 | All rights reserved.
A separate infrastructure is required:
– Developers must upgrade code and
deploy it to new infrastructure
– Both infrastructures can point to
same targets and data sources
– Polling services will compete, so
turn them off on old environment
Validation is easy for developers:
– Submit the same payload to old and
new environments
– Confirm that results are identical
Oracle SOA Suite 11g
soa_domain
Infrastructure Installation Development Approach
AdminServer
soa_server1
Oracle SOA Suite 10g
OHS
OC4J_SOA
OC4J_ESBDT
OC4J_WSM
OC4J_GTWY
ADMIN
HOME
Slide 14 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Understand Upgrade Process
2. Infrastructure Installation
3. Application Server Setup
4. Develop Deployment Process
5. Import Artifacts to MDS
6. AIA Setup
7. Upgrade Projects
8. Post-Upgrade Steps
9. Test
Slide 15 of 79 © Raastech, Inc. 2011 | All rights reserved.
Data sources and Connection Factories are used by
applications to connect from the application server to a
resource (e.g., AQ, JMS, database, etc.)
For example, your SOA projects may be leveraging
custom created JNDIs:
jdbc/db/PerfTest
eis/db/PerfTest
There is no concept of “MCF properties” in 11g
Application Server Setup Data Sources & Connection Factories
Slide 16 of 79 © Raastech, Inc. 2011 | All rights reserved.
Custom data sources are configured in Oracle Application
Server 10g in the EM console by navigating to:
Cluster Topology oc4j_soa Administration JDBC Resources
Application Server Setup 10g Data Sources
Slide 17 of 79 © Raastech, Inc. 2011 | All rights reserved.
In WebLogic 11g, navigate to the following page to create
all custom data sources using the same exact names:
soa_domain Services Data Sources
Application Server Setup 11g Data Sources
Slide 18 of 79 © Raastech, Inc. 2011 | All rights reserved.
Connection factory creation:
Cluster Topology oc4j_soa Applications default (adapter)
Connection Factories
Application Server Setup 10g Connection Factories
Slide 19 of 79 © Raastech, Inc. 2011 | All rights reserved.
Connection factory creation:
soa_domain Deployments (Adapter) Configuration
Outbound Connection Pools
Application Server Setup 11g Connection Factories
Slide 20 of 79 © Raastech, Inc. 2011 | All rights reserved.
BPEL domains in 10g are used to group BPEL processes
Each BPEL domain has its own configuration and logging
BPEL domains are created via the BPEL Admin console:
http://soasandbox.raastech.com:7777/BPELAdmin
Application Server Setup 10g BPEL Domains
Slide 21 of 79 © Raastech, Inc. 2011 | All rights reserved.
There is no concept of BPEL
domains in 11g
Create a “partition” with the same
name for each BPEL domain
instead
Application Server Setup 11g SOA Partitions
Slide 22 of 79 © Raastech, Inc. 2011 | All rights reserved.
Application Server Setup 10g ESB Systems & Service Groups
Systems and Service Groups are
used in ESB 10g to group ESB
services
Services Groups can be cascading
(i.e., a Service Group can have
another Service Group)
Slide 23 of 79 © Raastech, Inc. 2011 | All rights reserved.
There is no concept of Systems or
Service Groups in 11g
Create a “partition” for each System
and Service Group
Cascading hierarchies will need to
be flattened
Partition names cannot have spaces
Application Server Setup 11g SOA Partitions
10g:
HR Europe United States
11g:
HR_Europe HR_United_States
Slide 24 of 79 © Raastech, Inc. 2011 | All rights reserved.
There is technically 1 domain in 11g, so properties will
affect the entire server
Get all 10g properties for all domains:
$ORACLE_HOME/bpel/domains/<domain>/config/domain.xml
If there are differences, decide how you want to merge
them
Application Server Setup 10g BPEL Domain Properties
Slide 25 of 79 © Raastech, Inc. 2011 | All rights reserved.
Manually migrate these properties by updating:
bpel-config.xml
soa-infra-config.xml
Table below shows what’s changed between 10g and 11g:
Application Server Setup 11g BPEL Process Manager Engine Properties
10g Property 11g Property dspInvokeAllocFactor N/A
dspMaxThreads N/A
processCheckSecs N/A
txDatasourceJndi N/A
uddiLocation oracle.soa.uddi.registry.inquiryUrl
uddiPassword oracle.soa.uddi.registry.password
uddiUsername oracle.soa.uddi.registry.username
All other properties are the same.
Slide 26 of 79 © Raastech, Inc. 2011 | All rights reserved.
See Oracle documentation
Application Server Setup Run the Oracle Fusion Middleware Upgrade Assistant
Slide 27 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Understand Upgrade Process
2. Infrastructure Installation
3. Application Server Setup
4. Develop Deployment Process
5. Import Artifacts to MDS
6. AIA Setup
7. Upgrade Projects
8. Post-Upgrade Steps
9. Test
Slide 28 of 79 © Raastech, Inc. 2011 | All rights reserved.
Make sure that all Ant scripts are ready before proceeding
Oracle SOA Suite 11g ships all Ant scripts that you need
The most important targets needed are:
– Package code
– Deploy code
– Export MDS
– Deploy artifacts to MDS
Ant scripts are too much to get into for this presentation;
contact me for details
Develop Deployment Process Ant Tasks
Slide 29 of 79 © Raastech, Inc. 2011 | All rights reserved.
export MW_HOME=/u01/app/middleware
export ORACLE_HOME=$MW_HOME/Oracle_SOA1
export JAVA_HOME=$MW_HOME/jdk160_18
export ANT_HOME=$MW_HOME/modules/org.apache.ant_1.7.1
export PATH=$ANT_HOME/bin:$ANT_HOME/lib:$PATH:.
cd $ORACLE_HOME/bin
ant -f ant-sca-package.xml package
-DcompositeDir=/u01/Hello
-DcompositeName=Hello
-Drevision=1.0
Develop Deployment Process Package Code
Creates a deployable JAR file under the project’s ~/deploy subdirectory.
Slide 30 of 79 © Raastech, Inc. 2011 | All rights reserved.
Develop Deployment Process Deploy Code
ant -f ant-sca-deploy.xml deploy
-DserverURL=http://soadev:8001/soa-infra/deployer
-Duser=weblogic
-Dpassword=welcome1
-DsarLocation=/u01/Hello/deploy/sca_Hello_rev1.0.jar
-Dpartition=default
-Doverwrite=true
-DforceDefault=true
-Dconfigplan=/tmp/cfgplan.xml
Deploys the JAR file to the server.
Slide 31 of 79 © Raastech, Inc. 2011 | All rights reserved.
Develop Deployment Process Export MDS
ant -f ant-sca-deploy.xml exportSharedData
-DserverURL=http://soadev:8001/soa-infra/deployer
-Duser=weblogic
-Dpassword=welcome1
-DjarFile=/tmp/RaastechMetaData.jar
-Dpattern=**
Exports everything in the MDS to a JAR file.
Unzip the JAR file to browse its contents in a file directory structure.
Slide 32 of 79 © Raastech, Inc. 2011 | All rights reserved.
Develop Deployment Process Import MDS
zip -r RaastechMetaData.jar /u01/MDS/RaastechMetaData
ant -f ant-sca-deploy.xml deploy
-Dwl_home=/u01/app/middleware/wlserver_10.3
-Doracle.home=/u01/app/middleware/Oracle_SOA1
-DserverURL=http://soadev:8001/soa-infra/deployer
-Duser=weblogic
-Dpassword=welcome1
-Doverwrite=true
-DsarLocation=/tmp/RaastechMetaData.jar
Imports everything in your JAR file to the MDS, maintaining your exact folder structure.
Slide 33 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Understand Upgrade Process
2. Infrastructure Installation
3. Application Server Setup
4. Develop Deployment Process
5. Import Artifacts to MDS
6. AIA Setup
7. Upgrade Projects
8. Post-Upgrade Steps
9. Test
Slide 34 of 79 © Raastech, Inc. 2011 | All rights reserved.
Unlike 10g, all artifacts are now stored in the MDS
Artifacts in the MDS are centralized across all midtiers
Hierarchy in the MDS is similar to a file system layout
Introduction to the MDS
MDS = Meta Data Services = database based repository
Slide 35 of 79 © Raastech, Inc. 2011 | All rights reserved.
Browsing the MDS
– Can be browsed through JDeveloper 11g
– Can be exported to the server through EM Console
– Can be exported as a jar file using Ant
Introduction to the MDS
Browse MDS in JDeveloper 11g Browse MDS through file system
Slide 36 of 79 © Raastech, Inc. 2011 | All rights reserved.
Prior to upgrading your code, ensure that all artifacts are
imported to the MDS
1. Import all artifacts to MDS
(e.g. DVMs, fault policies, schemas, etc.)
2. Modify code to use MDS-based artifacts
(described later)
Introduction to the MDS
Slide 37 of 79 © Raastech, Inc. 2011 | All rights reserved.
Locations of key 10g artifacts:
– BPEL fault policies
$OH/bpel/domains/<domain>/config/fault-bindings.xml
$OH/bpel/domains/<domain>/config/fault-policies/DefaultPolicy.xml
– DVMs
ESB slide
– AIA schemas/wsdls
$APACHE_TOP/htdocs/AIAComponents
– AIAConfigurationProperties.xml
$AIA_HOME/config/AIAConfigurationProperties.xml
Introduction to the MDS
Slide 38 of 79 © Raastech, Inc. 2011 | All rights reserved.
Upgrade DVMs DVM Formats
<?xml version='1.0' encoding='UTF-8'?>
<dvm name="Country_Code"
isNew="true">
<description>Codes</description>
<columns>
<column name="shortname"/>
<column name="longname"/>
</columns>
<rows>
<row>
<cell>US</cell>
<cell>United States</cell>
</row>
</rows>
</dvm>
<?xml version='1.0' encoding='UTF-8'?>
<dvm name="Country_Code"
xmlns="http://xmlns.oracle.com/dvm">
<description>Codes</description>
<columns>
<column name="shortname"/>
<column name="longname"/>
</columns>
<rows>
<row>
<cell>US</cell>
<cell>United States</cell>
</row>
</rows>
</dvm>
Currency.xml (10g) Currency.dvm (11g)
Slide 39 of 79 © Raastech, Inc. 2011 | All rights reserved.
Option #1:
Export each DVM from the ESB 10g Console
Option #2:
Use the “export.sh” script in ESB 10g to export the
metadata repository
(see chapter 9.3.6.7 in the Oracle Fusion Middleware Upgrade Guide for
Oracle SOA Suite, WebCenter, and ADF 11g Release 1)
Option #3:
Copy the DVMs from the ESB slide
Upgrade DVMs Export 10g
Slide 40 of 79 © Raastech, Inc. 2011 | All rights reserved.
Navigate to the ESB slide using Windows Explorer:
http://soasandbox.raastech.com:7777/esb/slide/dvm
Download the 10g DVMs and copy them to your local file
system
Upgrade DVMs Export 10g
Slide 41 of 79 © Raastech, Inc. 2011 | All rights reserved.
Option #1:
Execute the “upgrade-xrefdvm” target in the “ant-sca-
upgrade.xml” ant build file
Option #2:
Rename ‘Currency.xml’ to ‘Currency.dvm’:
rename .xml .dvm *.xml
Perform a global search-and-replace to change the <dvm>
attribute:
find . -type f -exec sed -i
"s%isNew=\"true\"%xmlns=\"http://xmlns.oracle
.com/dvm\"%" {} \;
Upgrade DVMs Convert 10g DVMs to 11g Format
Slide 42 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Identify all BPEL domains that have fault policies:
$OH/bpel/domains/default/config/fault-bindings.xml
$OH/bpel/domains/default/config/fault-policies/DefaultPolicy.xml
Import Fault Policies 10g BPEL Fault Policies
Slide 43 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Modify the 10g fault-bindings.xml
2. Import the fault policies to the MDS using Ant
Import Fault Policies 11g BPEL Fault Policies
Slide 44 of 79 © Raastech, Inc. 2011 | All rights reserved.
10g fault-bindings.xml
11g fault-bindings.xml
Import Fault Policies Fault Bindings
<?xml version="1.0" encoding="UTF-8"?>
<faultPolicyBindings version="2.0.1"
xmlns="http://schemas.oracle.com/bpel/faultpolicy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<process faultPolicy="DefaultPolicy"/>
</faultPolicyBindings>
<?xml version="1.0" encoding="UTF-8"?>
<faultPolicyBindings version="3.0"
xmlns="http://schemas.oracle.com/bpel/faultpolicy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<composite faultPolicy="DefaultPolicy"/>
</faultPolicyBindings>
Slide 45 of 79 © Raastech, Inc. 2011 | All rights reserved.
10g DefaultPolicy.xml
11g DefaultPolicy.xml
Import Fault Policies Fault Policies
<?xml version="1.0" encoding="UTF-8"?>
<faultPolicy version="2.0.1" id="DefaultPolicy"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.oracle.com/bpel/faultpolicy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<?xml version="1.0" encoding="UTF-8"?>
<faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<faultPolicy version="3.0" id="DefaultPolicy"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.oracle.com/bpel/faultpolicy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Slide 46 of 79 © Raastech, Inc. 2011 | All rights reserved.
Import Schemas and WSDLs Import Custom Schemas & WSDLs
If you have shared schemas and/or WSDLs, import them to
the MDS
Maintain the same directory structure
If <imports> are fully qualified HTTP references, modify
them to local references accordingly
AIA schemas and WSDLs do not need to be imported, as
the new 11g versions are automatically installed to the MDS
http://server:7777/Account/Account.xsd
http://server:7777/Custom/CustomAccount.xsd
oramds:/apps/CustomMetaData/xsd/Account/Account.xsd
oramds:/apps/CustomMetaData/xsd/Custom/CustomAccount.xsd
Slide 47 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Understand Upgrade Process
2. Infrastructure Installation
3. Application Server Setup
4. Develop Deployment Process
5. Import Artifacts to MDS
6. AIA Setup
7. Upgrade Projects
8. Post-Upgrade Steps
9. Test
Slide 48 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Get a copy of the AIAConfigurationProperties.xml file from
your AIA 2.x server:
$AIA_HOME/config/AIAConfigurationProperties.xml
Migrate AIA Setup & Configuration 10g AIAConfigurationProperties.xml
Slide 49 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Export the MDS, and get a copy of the 11g
AIAConfigurationProperties.xml file: oramds:/apps/AIAMetaData/config/AIAConfigurationProperties.xml
2. Manually copy your custom configuration to the 11g file
3. Change all hostname/port references
4. Re-import the file to the MDS using Ant
Migrate AIA Setup & Configuration 11g AIAConfigurationProperties.xml
AIA FP 11.1.1.4 changes the name of 2 properties, so inspect and compare the 10g and 11g files.
Slide 50 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Login to the AIA 10g console at:
http://soa10gdev:7777/AIA
2. Navigate to “Setup Go System”, and note the
configuration settings there
3. Navigate to the AIA 11g console at and login as a
WebLogic user that has the “AIAApplicationUser” group:
http://soa10gdev:8001/AIA
4. Navigate to the same screen and configure the settings
identically
Migrate AIA Setup & Configuration AIA Configuration
Slide 51 of 79 © Raastech, Inc. 2011 | All rights reserved.
Export your CAVS test cases from 10g
Navigate to the AIA 11g console at and login as a
WebLogic user that has the “AIAApplicationUser” group:
http://soa11gdev:8001/AIA
Under the “Definitions” tab, select “Import”, and choose the
files to be imported, one at a time
Migrate AIA Setup & Configuration CAVS Test Cases
Slide 52 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Understand Upgrade Process
2. Infrastructure Installation
3. Application Server Setup
4. Develop Deployment Process
5. Import Artifacts to MDS
6. AIA Setup
7. Upgrade Projects
8. Post-Upgrade Steps
9. Test
Slide 53 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Open 10g project in JDeveloper 10g
2. Ensure that any partner links are migrated in order of
dependency
3. Modify partner link endpoints to point to the 11g service
10g:
http://soa10g:7777/orabpel/default/HelloWorld2/Hel
loWorld2?wsdl
11g:
http://soa11g:8001/soa_infra/services/default/Hell
oWorld2/HelloWorld2_ep?wsdl
Upgrade BPEL Projects Modify Project in JDeveloper 10g
-
Slide 54 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Open project in JDeveloper 11g
2. Navigate through the Migration Wizard
3. If an error occurs, the Migration Wizard does not give a
specific reason for the failure of the migration.
In that case, check the log at:
c:\Oracle\Middleware\jdeveloper\upgrade\logs\*.*
Upgrade BPEL Projects Migrate Project in JDeveloper 11g
Slide 55 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Open 10g project in JDeveloper 10g
2. Ensure that any partner links are migrated in order of
dependency
3. If using SOAP service as your target, modify partner link
endpoint to point to the 11g service (similar to BPEL)
4. If using metadata repository as your lookup, create a
SOAP service
Upgrade ESB Projects Modify Project in JDeveloper 10g
Too much to explain here, but the idea is to make sure your ESB 10g routing rule is invoking a SOAP service prior to migration.
Slide 56 of 79 © Raastech, Inc. 2011 | All rights reserved.
5. In JDeveloper 10g, ensure that the “Invocable from an
external web service” is selected for all ESB routing
services that you want exposed as a WSDL in 11g
Upgrade ESB Projects Modify Project in JDeveloper 10g
Slide 57 of 79 © Raastech, Inc. 2011 | All rights reserved.
6. Open all .esbsvc files.
7. Delete all “parent” lines that have lines similar to the
following:
<parent guid="96DD76C0971311DABF1A87858E4395A7"
qname="DefaultSystem" type="system"/>
8. Change all remaining “qname” references and remove the
system and service groups as follows:
OLD: qname="DefaultSystem.Accounting.HelloWorld"
NEW: qname="HelloWorld"
Upgrade ESB Projects Modify Project in JDeveloper 10g
Slide 58 of 79 © Raastech, Inc. 2011 | All rights reserved.
Upgrade ESB Projects Migrate Project in JDeveloper 11g
1. Open project in JDeveloper 11g
2. Navigate through the Migration Wizard
3. If an error occurs, the Migration Wizard does not give a
specific reason for the failure of the migration.
In that case, check the log at:
c:\Oracle\Middleware\jdeveloper\upgrade\logs\*.*
Slide 59 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Understand Upgrade Process
2. Infrastructure Installation
3. Application Server Setup
4. Develop Deployment Process
5. Import Artifacts to MDS
6. AIA Setup
7. Upgrade Projects
8. Post-Upgrade Steps
9. Test
Slide 60 of 79 © Raastech, Inc. 2011 | All rights reserved.
Every DVM lookup must be manually modified
10g:
orcl:lookup-dvm ("Currency", "Country", "US",
"Currency", "USD")
11g:
dvm:lookupValue
("oramds:/apps/dvm/Currency.dvm", "Country",
"US", "Currency", "USD")
Post-Upgrade Steps Modify DVM References
Slide 61 of 79 © Raastech, Inc. 2011 | All rights reserved.
Every schema import must be manually modified
Ideally, you should use ORAMDS references instead of
HTTP references
No more hardcoding of hostnames and ports
10g:
<schema
import="http://soa10g:7777/AIAComponents/EnterpriseObjectLibrar
y/Core/EBO/CustomerParty/V2/CustomerPartyEBM.xsd">
11g:
<schema
import="oramds:/apps/AIAMetaData/AIAComponents/EnterpriseObject
Library/Core/EBO/CustomerParty/V2/CustomerPartyEBM.xsd">
Post-Upgrade Steps Modify Schema Imports
Slide 62 of 79 © Raastech, Inc. 2011 | All rights reserved.
WSDL imports from the MDS have caused issues, so test
it out before considering referencing them from the MDS
Post-Upgrade Steps WSDL Imports
Slide 63 of 79 © Raastech, Inc. 2011 | All rights reserved.
There is no concept of a global fault policy in SOA Suite 11g
Add the fault policy and binding manually to composite.xml
<property name="oracle.composite.faultPolicyFile">
oramds:/apps/AIAMetaData/faultPolicies/fault-policy.xml
</property>
<property name="oracle.composite.faultBindingFile">
oramds:/apps/AIAMetaData/faultPolicies/fault-bindings.xml
</property>
Post-Upgrade Steps Add Fault Policies & Bindings
If you have more than one fault policy, you will have to decide which one you want your composite to reference.
Slide 64 of 79 © Raastech, Inc. 2011 | All rights reserved.
Post-Upgrade Steps Migrate bpel.xml Properties
Migrate properties in bpel.xml to composite.xml
10g bpel.xml
<property name="retryInterval">60</property>
11g composite.xml
<property name="jca.retry.interval">60</property>
bpel.xml (10g) composite.xml (11g) <property name="retryInterval">60</property> <property name="jca.retry.interval" type="xs:int"
many="false" override="may">60</property> <property name="retryCount">60</property> <property name="jca.retry.count" type="xs:int" many="false”
override="may">60</property> <property name="retryBackoff">60</property> <property name="jca.retry.backoff" type="xs:int"
many="false" override="may">60</property>
Slide 65 of 79 © Raastech, Inc. 2011 | All rights reserved.
Choose the “Monitor” button to edit sensor detail:
Modify the BPEL Sensor Action and modify the JMS
Connection Factory:
Publish Type: JMS Queue
JMS Connection Factory: weblogic.jms.ConnectionFactory
Publish Target: jms/MyQueue
Post-Upgrade Steps Modify BPEL Sensors Connection Factory References
Slide 66 of 79 © Raastech, Inc. 2011 | All rights reserved.
Filter migration does not work correctly
Compare all 11g Mediator filters to the 10g ESB ones
Problems include:
– Incorrect migration of logical operators (e.g., AND, OR)
– Missing brackets; changes the meaning of the filter
– Incorrect XPath migration
Post-Upgrade Steps Review Mediator Filters
Slide 67 of 79 © Raastech, Inc. 2011 | All rights reserved.
Some header functions are obsoleted in 11g:
10g 11g
ehdr:setOutboundHeader mhdr:setProperty
ehdr:getRequestHeader mhdr:getProperty
Example of manual migration of dynamic routing:
10g
select="ehdr:setOutboundHeader('/shdr:ESBHeader/shdr:location',
$LocationIn, 'shdr=http://xmlns.oracle.com/esb;')"
11g
select="mhdr:setProperty('out.property.endpointURI',$LocationIn)"
Post-Upgrade Steps Review and Modify Header Functions
Slide 68 of 79 © Raastech, Inc. 2011 | All rights reserved.
getDomainId() behaves differently, since there is no
longer the concept of BPEL domains
Returns NULL
Post-Upgrade Steps getDomainId() Behavior
Slide 69 of 79 © Raastech, Inc. 2011 | All rights reserved.
Go through the entire Chapter 9 of the Oracle Fusion
Middleware Upgrade Guide for Oracle SOA Suite,
WebCenter, and ADF 11g Release 1 (11.1.1)
No full documentation on all cases you will encounter
Make sure to test your projects!
Post-Upgrade Steps Other Stuff?
Slide 70 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Understand Upgrade Process
2. Infrastructure Installation
3. Application Server Setup
4. Develop Deployment Process
5. Import Artifacts to MDS
6. AIA Setup
7. Upgrade Projects
8. Post-Upgrade Steps
9. Test
Slide 71 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Deploy code to 11g environment
a. Compilation errors will reveal a lot
b. Deployment errors will reveal a lot
2. Test same payloads on both 10g and 11g
a. Use the consoles or a client tool such as SoapUI
b. Compare results
Test Test! Test! Test!
Slide 72 of 79 © Raastech, Inc. 2011 | All rights reserved.
Summary
Slide 73 of 79 © Raastech, Inc. 2011 | All rights reserved.
1. Understand Upgrade Process – Prepare yourself by reading Oracle docs
2. Infrastructure Installation – Install SOA Suite 11g
– Keep existing SOA Suite 10g environment
3. Application Server Setup – Data Sources & Connection Factories
– 10g BPEL Domains to 11g Partitions
– 10g ESB Systems & Service Groups
– OFM Upgrade Assistant
Summary Recap of Upgrade Process
4. Develop Deployment Process – Leverage Ant scripts in SOA Suite 11g
5. Import Artifacts to MDS – Migrate BPEL fault policies & bindings
– Migrate DVMs
– Import custom schemas/wsdls to MDS
6. AIA Setup – Configure
AIAConfigurationProperties.xml
– AIA Console Configuration
– Import CAVS test cases
Slide 74 of 79 © Raastech, Inc. 2011 | All rights reserved.
Summary Recap of Upgrade Process
9. Test – Test services in SOA Suite 10g
– Test services in SOA Suite 11g
– Compare results
7. Upgrade Projects – Modify endpoints in JDeveloper 10g
– Update ESB projects
– Migrate project in JDeveloper 11g
8. Post-Upgrade Steps – Modify DVM lookups
– Modify schema imports
– Add fault policies & bindings to code
– Migrate bpel.xml properties
– Modify BPEL sensors
– Manually verify Mediator filters
– Manually update header functions
– Check usage of getDomainId()
– Read Upgrade Guide
These “Recap” slides are perhaps the most important slides in the presentation.
Slide 75 of 79 © Raastech, Inc. 2011 | All rights reserved.
The Good:
– As a SOA developer, transitioning from 10g to 11g is not
complicated
– Simpler deployment process in 11g
– Cutover can be seamless if done right
The Bad:
– Every SOA Suite 11g upgrade project has been painful
– No “end all” documentation
– Prepare to encounter issues no one else has seen before
Conclusion
Slide 76 of 79 © Raastech, Inc. 2011 | All rights reserved.
Use the Recap slides as a starting point
This presentation does not cover everything, but use it
augment Oracle’s existing documentation
The SOA Suite 10g to 11g upgrade should be treated as
a project
Summary Final Thoughts
Slide 77 of 79 © Raastech, Inc. 2011 | All rights reserved.
Summary References – Oracle Documentation
Oracle Fusion Middleware Developer’s Guide for Oracle SOA Suite 11g
Release 1 (11.1.1)
http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/title.h
tm
Oracle Fusion Middleware Upgrade Planning Guide 11g Release 1 (11.1.1)
http://download.oracle.com/docs/cd/E17904_01/upgrade.1111/e10125/toc.htm
Oracle Fusion Middleware Upgrade Guide for Oracle SOA Suite, WebCenter,
and ADF 11g Release 1 (11.1.1)
http://download.oracle.com/docs/cd/E17904_01/upgrade.1111/e10127/toc.htm
Oracle Application Integration Architecture Foundation Pack: Migration Guide
to Foundation Pack 11gR1 (11.1.1.4.0)
http://download.oracle.com/docs/cd/E17904_01/doc.1111/e17361/toc.htm
Slide 78 of 79 © Raastech, Inc. 2011 | All rights reserved.
Summary References – Technical Notes
Quickly installing Oracle Fusion Middleware 11g and Oracle SOA Suite 11g
http://blog.raastech.com/2010/09/quickest-installation-of-oracle-fusion.html
Upgrading to SOA Suite 11gR1 PS3 (11.1.1.4.0)
http://blog.raastech.com/2011/01/upgrading-to-soa-suite-11gr1-ps3-111140.html
Creating an MDS connection through JDeveloper 11g
http://blog.raastech.com/2010/10/creating-mds-connection-through.html
Converting DVMs from Oracle SOA Suite 10g to 11g
http://blog.raastech.com/2010/10/converting-dvms-from-oracle-soa-suite.html
Create a read-only database account to the MDS
http://blog.raastech.com/2010/12/create-read-only-database-account-to.html
Slide 79 of 79 © Raastech, Inc. 2011 | All rights reserved.
Contact Information
Ahmed Aboulnaga
Technical Director