SOA Expert Series: 12c Upgrade Experience - Lessons Learned and Best Practices1. © OPITZ CONSULTING GmbH 2016 Slide 112c Upgrade Experience
April 2016
12c Upgrade Experience
Danilo Schmiedel
Solution Architect | Oracle ACE Director
OPITZ CONSULTING Deutschland GmbH
Mail: danilo.schmiedel@opitz-consulting.com
Twitter: @dschmied
Blog: http://inside-bpm-and-soa.blogspot.com
Lessons Learned and Best Practices
2. © OPITZ CONSULTING GmbH 2016 Slide 212c Upgrade Experience
Oracle SOA 12c @ Opitz
First Oracle SOA / BPEL project in 2006
Implemented multiple 10g to 11g projects
Wide knowledge with Side-by-Side
upgrades based on Enterprise
Deployment Guide
Oracle Platinum Partner, founded in 1990,
located in Germany and Poland
Specialized in many products across the Oracle
portfolio
2 Oracle ACE Directors and 2 Oracle ACEs
Recognized as one of the leading Oracle
Fusion Middleware Partners
2015 & 2014: BPM Partner Community Award
2010: Fusion Middleware Award
2008 – 2010: EMEA SOA Community Award
About OPITZ CONSULTING
Experienced with In-Place Upgrades
long running / stateful processes with
minimal downtime
Products included in upgraded
solutions:
Oracle SOA Suite12c
Oracle OSB 12c
Oracle BAM 12c
3. © OPITZ CONSULTING GmbH 2016 Slide 312c Upgrade Experience
Reasons for upgrading to 12c
Enriched Error Hospital with extensive filters, search panels and bulk recovery facilities
Improved Business Activity Monitoring with multi-browser support
Embedded (local) SOA Suite in JDeveloper
Improved MDS integration to share artifacts within and across applications
Free choice between XSLT / XQuery
Version 12.2.1 is based on Java 8
Out-of-the-box Maven Support
Increased developer productivity with one unified IDE for OSB & SOA
New REST / JSON Support
4. © OPITZ CONSULTING GmbH 2016 Slide 412c Upgrade Experience
Upgrade Process | Step-by-Step Overview
1. Understand the upgrade process
2. Define a To-Be Topology
3. Decide on an upgrade strategy that fits to your requirements
4. Pre-Upgrade Tasks
5. Install 12c Software
6. Create or upgrade schemas
7. Domain (Re-) Configuration
8. Upgrade the projects (and deploy if needed)
9. Post Upgrade Steps
10. Verify Upgrade Results (Test)
PREPARATION
INFRASTRUCTURE
SETUP
CODE UPGRADE
5. © OPITZ CONSULTING GmbH 2016 Slide 512c Upgrade Experience
Upgrade Process | Step-by-Step – Preparation
1. Understand the upgrade process
Understand upgrade concepts
Understand the Basic 12c Upgrade Tasks
Understand the SOA Cluster Upgrade Topology
Understand the Oracle Service Bus Upgrade to 12c
Understand an Upgrade to Business Activity Monitoring in 12c
Understand SOA Domain Upgrade Restrictions
2. Define a To-Be Topology
Understand new and changed features of 12c (12.2.1)
Understand an Enterprise Deployment
Decide on components (e.g. SOA, OSB, BAM, etc.)
Shared Weblogic Domain (for OSB / SOA / BAM) vs. separate Weblogic Domains
Non Cluster vs. Cluster
6. © OPITZ CONSULTING GmbH 2016 Slide 612c Upgrade Experience
Upgrade Process | Step-by-Step – Preparation (2)
3. Decide on an upgrade strategy that fits to your requirements
In-Place Upgrade
Schemas and domain directory upgrades are performed "in place" (updates existing 11g files)
Oracle Home binaries are upgraded "out of place" (binaries are installed in a new directory)
No need to redeploy composites after upgrade
Suitable for long running instances which should resume after upgrade
Side-by-Side Upgrade
New installation of schemas and domains
New deployment & configuration of the existing 11g projects
Suitable in stateless & short-running scenarios
Appropriate if the targeted sytem architecture should be diferent than with 11g or if the current topology is not
supported
7. © OPITZ CONSULTING GmbH 2016 Slide 712c Upgrade Experience
Upgrade Process | Step-by-Step - Infrastructure
4. Pre-Upgrade Tasks
Complete all applicable tasks from the Pre-Upgrade Checklist
Check if your To-Be Topology is supported
Perform General Pre-Upgrade Tasks
Perform the SOA-Specific Pre-Upgrade Tasks
Perform the Pre-Upgrade Tasks for Oracle BAM
Perform the Pre-Upgrade Tasks for Oracle Service Bus (OSB)
Validate your starting point which has to be 11.1.1.6 (PS5) or 11.1.1.7 (PS6)
Calculate system requirements (Memory, Disk Space, Network, OS)
Make a complete backup of your existing environment
Make sure that DB, OS and JVM are supported and apply recommended database parameters on the new
installation
Save copies of customized start scripts, configuration files, policies
More details: Upgrade Planning Guide and Interoperability and Compatibility Guide
8. © OPITZ CONSULTING GmbH 2016 Slide 812c Upgrade Experience
Upgrade Process | Step-by-Step - Infrastructure (2)
5. Install 12c Software
Download the Oracle Fusion Middleware Infrastructure distribution from the Oracle ADF download page on
OTN or from the Oracle Software Delivery Cloud
Download the production distribution for Oracle SOA Suite and Business Process Management from the Oracle
Software Delivery Cloud
Download the production distribution for Oracle Service Bus from the Oracle Software Delivery Cloud
Roadmap for Installing and Configuring the Standard Installation Topologies
Verify the Installation Checklist
Install Infrastructure distribution and the appropriate components
Verify the Installation
For a development or evaluation distribution, see "Downloading Oracle Fusion Middleware 12c (12.2.1)
Development Distributions“
9. © OPITZ CONSULTING GmbH 2016 Slide 912c Upgrade Experience
Upgrade Process | Step-by-Step - Infrastructure (3)
6. Database Schemas
Create the required Database Schemas
Preparing to Upgrade SOA Schemas (In-Place Upgrade only)
Upgrade Schemas with the Upgrade Assistant (In-Place Upgrade only)
7. Domain (Re-) Configuration
Configure the Domain (Side-by-Side Upgrade)
Reconfigure the Domain using the Reconfiguration Wizard (In-Place Upgrade)
Upgrade the Domain Component Configurations using the Upgrade Assistant (In-Place Upgrade)
10. © OPITZ CONSULTING GmbH 2016 Slide 1012c Upgrade Experience
Upgrade Process | Step-by-Step - Code Upgrade
8. Upgrade the projects (and deploy if needed)
Open projects in JDeveloper 12c, the Migration Assistent migrates the project files
or Upgrade JDeveloper Projects in Bulk
Migrate Oracle Service Bus Resources from Previous Releases
Deploy Applications (Side-by-Side Upgrade)
9. Post Upgrade Steps
General Post-Upgrade Tasks
Post-Upgrade Tasks for Oracle Service Bus
Post-Upgrade Tasks for Clusters
Post-Upgrade Tasks for BAM
11. © OPITZ CONSULTING GmbH 2016 Slide 1112c Upgrade Experience
Upgrade Process | Step-by-Step - Code Upgrade
10. Verify your results (Test)
Testing before and after the upgrade is the key to success!
Define and document all testcases in advance
Make sure that you have a complete test approach in place bevore you start your upgrade
Esablish a test approach that covers all relevant test layers (Elementary Unit Tests, Component Tests, End-to-
End Tests)
We decided to build our own OC testing framework based on JUnit Standard and SOA Suite APIs to integrate
it within other implementations and to establish a proper test-driven development
This allows us to
use the same test approach for BPEL, BPMN, OSB, Java, Human Tasks, XSLT and XQuery…
re-route external references to a mock service implemented in the same framework (in Java) including
changing references to standard web services so that database or file adapters can also be mocked
Human task handling (finishing the human task with a predefined outcome and predefined values)
Smooth integration into continuous integration environment
More details will be published on http://thecattlecrew.net
12. © OPITZ CONSULTING GmbH 2016 Slide 1212c Upgrade Experience
Straight Forward
Code upgrade with standard composites (using
BPEL, Database and File adapters) Testcases
successfully completed without any manual rework
Database Adapter for stored procedure calls
performed well after upgrade
Successfully transferred config changes like JTA
Transaction Timeout, Transaction Timeout of Beans
and SyncMaxWaitTime
Enabling of new Auto Purge function to avoid
Database growth
Deployment via Maven
What we‘ve learned…
Prepare for more complexity
Upgrading from Oracle BAM 11g to BAM 12c cannot be
handled with the standard upgrade procedures
OWSM / JDeveloper and Custom Policies because of
deprecated functions
HA Infrastructure setup took longer than our code
upgrade
Namespaces / Prefixes of some ext. XPath functions
have changed (solved via search & replace)
Challenges while upgrading large composites fixed in
Doc ID 2021736.1
Version 12.2.1 runs under JDK8 which can result in
additional work
13. © OPITZ CONSULTING GmbH 2016 Slide 1312c Upgrade Experience
Best Practices
High test coverage: define testcases well in advance and compare results before and after the
upgrade
Use a test framework that allows efficient (re-)execution of testcases for OSB and SOA -
including Mocks, Component and End-to-End Tests (e.g. OC Testframework)
Testing and pre-upgrade steps are the key points of success
Documentation about changed configuration parameters is important (document before
upgrade)
Plan the Infrastructure upgrade well in advance
Install BAM on a separate WLS domain to decouple runtime and monitoring components from
patching cycles (reduce downtimes)
Consider BAM Best Practices from the beginning
14. © OPITZ CONSULTING GmbH 2016 Slide 1412c Upgrade Experience
Material
Presentation: What's Stopping You from Upgrading to Oracle SOA Suite 12c?
http://goo.gl/HGDIqF
Slideshare: Road to SOA Suite 12c
http://de.slideshare.net/opitzconsulting/doag-2014-roadtosoasuite12cschmiedel
Video: 2 Minute Tech Tip
https://blogs.oracle.com/archbeat/entry/2mtt
Troubleshooting the Upgrade
http://docs.oracle.com/middleware/1213/core/FUPSS/know_base.htm#FUPSS339
Oracle® Fusion Middleware Upgrading to the Oracle Fusion Middleware Infrastructure
https://docs.oracle.com/middleware/1221/core/INFUP/toc.htm
Oracle® Fusion Middleware Upgrading SOA Suite and Business Process Management
https://docs.oracle.com/middleware/1221/core/FUPSS/toc.htm
15. © OPITZ CONSULTING GmbH 2016 Slide 1512c Upgrade Experience
Contact Details
Danilo Schmiedel
Solution Architect | Oracle ACE Director
OPITZ CONSULTING Deutschland GmbH
Tempelhofer Weg 64, 12347 Berlin, Germany
http://www.opitz-consulting.com
Phone: +49 173 7279001
Mail: danilo.schmiedel@opitz-consulting.com
@dschmied
http://inside-bpm-and-soa.blogspot.com & http://thecattlecrew.net