<Insert Picture Here>
Deep Dive: Oracle E-Business Suite Release 12 New Technology StackIvo DujmovicDirector, Applications Technology Integration
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.The development, release, and timing of any features or functionality described for Oracle’s products remain at the sole discretion of Oracle.
Audience and Goal
• Administrators of Applications R12 are the target audience of this presentation
• Attendees should exit this presentation with an understanding of the R12 technology:• What – New Technology• Why – New Feature Benefits• How – Easy Upgrade
• We want your feedback -- post to our team’s blog hosted by Steven Chan http://blogs.oracle.com/schan
<Insert Picture Here>
Agenda
• Introduction• New Technology Review• New Features• Upgrading Your Applications• Summary
<Insert Picture Here>
Introduction
R12 Technology Enables You to Deliver Best ROI
• Uptaking new technology lowers costs• Proven technologies deliver better experience • Latest standards provide better integration• Less training with familiar and improved Apps
• New features empower administrators and users• OC4J • Instance Home• Identity Management, Portlets, Certificate Management
• Upgrading is easy• Maintain your investment • Productive new development tools• Transform configurations
<Insert Picture Here>
New Technology Review
Overview of Technology Stack Changes from EBS 11i to 12
• New Versions of Mid Tier Technology• Application Server: 1.0 -> 10.1• Servlet Container: JServ -> OC4J• Apache: 1.3.19 -> 1.3.34• Forms & Reports: 6 -> 10
• R12 File System Change:• The two 11i middle tier Oracle homes are replaced with
newer versions• Instance Home vs. Source Home
11i Installed & Managed File System
COMMON TOP
APPL TOP
JServ
Apache 1.3
RSF 8.1.7
iAS 1.0.2.2ORACLE HOME
Reports 6
Forms 6
RSF 8.0.6
Developer6iORACLE HOME
RDBMSComponents
RSF 10.2
DatabaseORACLE HOME
Major Components:
•Java Home: 8.1.7-based iAS 1.0.2
•C Home: 8.0.6-based Developer 6
•Database Home: 10.2
•Appl Top: Applications’code staging area
•Common Top: Runtime location for Java, HTML, run-time generated files
R12 Installed & Managed File System
COMMON TOP
APPL TOP
Apache 1.3
OC4J
RSF 10.1
iAS 10.1.3ORACLE HOME
Reports 10
Forms 10
RSF 10.1
Developer10.1.2ORACLE HOME
RDBMSComponents
RSF 10.2
DatabaseORACLE HOME
Major Components:
•Java Home: 10.1-based iAS 10.1.3 –new
•C Home: 10.1-based Developer 10 standalone install of AS 10.1.2 phase2 –new
•Database Home: 10.2
•Appl Top: Applications’code staging area
•Common Top: Runtime location for Java, HTML
•Instance Top: configuration and run-time generated files –newINSTANCE TOP
Release 12 Technology Stack 3-Tier Logical Architecture
Application
JSP
Forms
Reports
BC4J
OC4J
Web
Lis
tene
rUIX
DatabaseClient
Data Guard
Partitioning
RAC & ASM
Global Single Data Model
JDB
C/S
QL N
et
HT
TP
/ S
Technologies Inside EBS R12Highlights
• OracleAS 10.1.3 J2EE• OracleAS 10.1.2 Forms• Database 10.2.0.2 • XDK 10.2• OJSP 10.1.3• JDBC 10.2.0.2• JEWT 2.3.36
• JDK 1.5.0_08 on apps server• JDK 1.5.0_09+ on desktop• Pre-patched file system• New shared file system with
Oracle Config Home so that Appl Top and Oracle Homes can be read only
• Newer versions of everything
Technologies External to EBS R12Highlights
• Installed and integrated separately from Rapid Install• Discoverer 10.1.2• SSO/OID 10.1.2• Portal 10.1.4• WebCache 10.1.2• Collab Suite 10.1.2• Warehouse Builder 10gR1• Enterprise Manager 10.1.2• Integration Server 10.1.3• BPM 10g
<Insert Picture Here>
New Features
New Features
• File System• OC4J• Forms10
<Insert Picture Here>
New Features:
File System
Release 12 File System Changes
• New file system layout by Rapid Install, Rapid Clone• db, apps, inst
• Instance Home• Configuration, logs, certificates
• JAVA_TOP• lib and classes directories
• OA_HTML• j2ee structure changes• webapps/oacore/html/WEB-INF
Release 12 File System Layout
• Database node• <apps_base>/db/tech_st/10.2.0• <apps_base>/db/apps_st/data
• Applications node• <apps_base>/apps/tech_st/10.1.2• <apps_base>/apps/tech_st/10.1.3• <apps_base>/apps/apps_st/appl• <apps_base>/apps/apps_st/comn
• Instance home• <apps_base>/inst/apps/<context_name>
Instance Home Structure
• <apps_base>/inst/apps/<context_name> ($INST_TOP)
• /admin• /scripts ($ADMIN_SCRIPTS_HOME)
• /appl ($APPL_CONFIG_HOME)• /fnd/12.0.0/secure ($FND_SECURE)
• /certs• /logs ($LOG_HOME)
• /ora ($ORA_CONFIG_HOME)
• /10.1.2• /10.1.3 ($ORACLE_CONFIG_HOME)
• /pids• /portal• /rgf
Instance Home Advantages
• Clear distinction between the shared file system and the file system unique to an instance• Ability to share code (Apps, technology stack) among multiple
nodes and even instances (Dev,Test, Production) • Enables split ownership of applications and technology stack
file systems• Improves code safety by making shared file system read-only
while not patching
• Configuration and log files are co-located• Easier collection of instance state
• Ability to use network or local storage for various file system portions• Minimize disk usage and maximize performance
File System OverviewFILESYSTEM CHANGES
APPMGR
OLD NEW
APPL_TOP $HOME/<SID>appl $HOME/apps/apps_st/appl
COMMON_TOP $HOME/<SID>comn $HOME/apps/apps_st/comn
ORACLE_HOME $HOME/<SID>ora/8.0.6 $HOME/apps/tech_st/10.1.2
IAS_ORACLE_HOME $HOME/<SID>ora/iAS $HOME/apps/tech_st/10.1.3
ORACLE
OLD NEW
ORACLE_HOME $HOME/<SID>db/10.2.0 $HOME/db/tech_st/10.2.0
ORADATA $HOME/<SID>data $HOME/db/apps_st/data
INSTANCE TOP
OLD NEW
INST_TOP N/A $HOME/inst/apps/<context_name>
Environment Variable Overview
ENVIRONMENT FILE/VARIABLE CHANGES
OLD NEW
Env Source File APPSORA.env APPS<SID>.envThis file executes the following env files$ORA_CONFIG_HOME/10.1.2/$TWO_TASK.env$APPL_CONFIG_HOME/$TWO_TASK.env
Context File (MT) $APPL_TOP/admin/$TWO_TASK.xml $APPL_CONFIG_HOME/admin/$TWO_TASK.xml
OA_HTML $COMMON_TOP/html $COMMON_TOP/webapps/oacore/html
JAVA_TOP, OA_JAVA $COMMON_TOP/java $COMMON_TOP/java/classes
AF_JLIB N/A $COMMON_TOP/java/lib
JAVA_BASE N/A $COMMON_TOP/java/
FND_SECURE $FND_TOP/secure/<SID>/ $INST_TOP/apps/fnd/12.0.0/secure/
ADMIN_SCRIPTS_HOME $COMMON_TOP/admin/scripts/<SID>/ $INST_TOP/admin/scripts/
LOG_HOME $APPL_TOP/admin/<SID>/logs/ $INST_TOP/logs
FORMS_WEB_CONFIG_FILE $OA_HTML/appsweb.cfg $INST_TOP/ora/10.1.2/forms/server/appsweb.cfg
<Insert Picture Here>
New Features:
OC4J
Application Server 10.1.3 Components
• OC4J• OPMN• Oracle HTTP Server 10.1.3.0.0 (Apache 1.3.34)
Does not include:• Forms and Reports (10.1.2)• Portal (included in 10.1.2 and 10.1.4)• Discoverer (10.1.2)• Web Cache (included in 9.0.4, 10.1.2)• Identity Management (OID,SSO included in 9.0.4
and 10.1.2)
Standards-Based Technology
• Oracle Application Sever (AS) includes Oracle's Containers for J2EE (OC4J)
• Through OC4J you can execute Servlets, Java Server Pages (JSP), Enterprise Java Beans (EJB)
• OC4J replaces the older JServ implementation for running servlets on the web server
• Oracle Application Server 10gR3 (10.1.3) is the latest production version
• OC4J is based on J2EE standards:• Specific directory structure• File requirements (content & naming conventions)• XML file definition
OC4J in Applications R12
• R12 creates 3 OC4J instances:• Oacore: runs OA Framework-based applications• Forms: runs Forms-base applications• OAFM: runs web services, mapviewer, ascontrol
• Applications R12 vs. 11i• OC4J replaces JServ • OC4J instances replace Jserv groups
• OC4J instances run in JVM’s and communicate through mod_oc4j / Apache
Directory Structure Highlights
• 10.1.3/<context-name>.env file definesORACLE_HOME, LD_LIBRARY_PATH, PATH, TNS_ADMIN, TWOTASK ..
• /Apache/Apache/conf/apps.conf, httpd.conf ...• OC4J applications directory structure
• /application : applications deployed from this directory• /application-deployment : contains config files specific to
each deployed application• /config : common settings for all J2EE applications for this
instance
Standard OC4J Deployment
• Servlets deployed to OC4J server adhere to J2EE specification
• Deployment is through an Enterprise Archive (EAR) file, which contains the application definition and Web Application (WAR) files, which in turn includes the web application code (JAR), and associated configuration files (servlet definitions), JSP code, HTML
• Forms.EAR 10.1.2 is deployed to the OC4J container in Application Server 10.1.3
Forms.EAR
-bash-2.05b$ unzip -l forms.ear
689 04-29-04 14:01 META-INF/application.xml
197180 07-14-05 01:33 formsweb.war
-bash-2.05b$ unzip -l formsweb.war
Archive: formsweb.war
0 07-14-05 01:33 WEB-INF/0 07-14-05 01:33 WEB-INF/lib/
204444 07-14-05 01:33 WEB-INF/lib/frmsrv.jar
691 07-14-05 01:33 WEB-INF/orion-web.xml3165 07-14-05 01:33 WEB-INF/web.xml
EBS R12 OC4J Deployment
• EBS Java code is pre-deployed by Rapid Install and maintained by adpatch; adpatch performs file level patching
• EBS uses a sparse .ear file (containing no code) for deployment. This creates the correct OC4J structure, configuration files, and services such as opmn
• EBS-specific configuration and shared libraries are added via AutoConfig
OC4J Configuration
• AutoConfig is used for configuration management, similar to Release 11i
• Jserv.conf & Jserv.properties are replaced with• Oc4j.properties : defines basic Apps directory aliasing• Server.xml : defines J2EE applications and their shared
libraries for runtime OC4J• Orion-application.xml : defines location of Java classes of all
J2EE web modules deployed under J2EE application• Orion-web.xml : defines servlet level parameters for J2EE
web modules
Application Server Control (ASC)
• Runs as a J2EE application (ascontrol) within every OC4J container created• Access via /ascontrol with user oc4jadmin
• Prior releases (10.1.2, 9.0.4 ) required a separate agent and port
• Uses less disk space and fewer system resources• UI to deploy J2EE applications• Configure auditing, logging, security, performance• Role-based administration
OPMN
Oracle Process Manager and Notification server (OPMN) manages AS components and consists of:• Oracle Notification Server (ONS)
Delivers notifications between componentsOHS<->OPMN<->OC4J
• Process Manager (PM)start,stop, restart, death detection
($ADMIN_SCRIPTS_HOME contains the Apps equivalent scripts called ad*)
• CoreCore logic, parses config files, launch scripts
Health Check Pages
Health Check ... :<port>/j2ee/• JSP Test Page (Large list of test to run)
• Servlet Test Page Hello World Execute Source
Request Info Execute Source Request Headers Execute Source Request Parameters Execute Source Cookies Execute Source Sessions Execute Source Snoop Execute Source ToJSPServlet Execute Source
<Insert Picture Here>
New Features: Forms10
What is New in Forms10
• Native Forms runtime executable (frmweb) with shared library for user exits (fndfmxit), replaces the statically linked Applications runtime executable (frmwebx)
• Updated Swan UI• Forms Trace in addition to Forms Runtime Diagnostics
(FRD)• Forms Servlet is default deployment / communication
mode• Customers with severe WAN performance problems
can use Forms Server only in conjunction with hardware for SSL and load balancing
What is New in Forms10
• FORMS_ environment variables replace FORMS60_• New environment variables e.g. FORMS_TRACE_DIR• The Forms builder is available as part of the AS 10.1.2 home in
EBS R12 on Solaris/Linux/Win for debugging situations• For development use, Forms builder needs to be installed
separately as part of the Developer Suite• $ORACLE_HOME/bin/frmbld.sh replaces f60desm for design
• Modify frmbld.sh shell script to customize settings e.g. FORMS_PATH
• Generation tools are delivered as part of the Runtime Services and Developer Suite installations• frmcmp.sh and frmcmp_batch for generation
• Modify the shell script to customize settings
Architecture Overview
• 10.1.3 Home delivers• OC4J instances including one for Forms• Service Management
• 10.1.2 Home delivers• Runtime (10.1.2.0.2) executables $ORACLE_HOME_1012/bin/frmweb • Forms generator
• Forms diagnostics and translation utility
• Applications delivers• Configuration Files via the Instance Home
• Shared library for the user exits $FND_TOP/bin/fndfmxit (referenced by the FORMS_USEREXITS environment variable)
Oracle Reports
• Oracle Reports, like Forms, is supplied from the Oracle Applications 10.1.2 home
• Only available through Concurrent Manager• Reports Server is not used, and no servlet or cgi is
used• Reports executable rwrun is used directly
Deployment Decisions Forms Servlet vs. Server
• Forms10 is deployed in 10.1.3 oc4j container• By default configured as servlet
• Pros: standards-based servlet communication enables easy networking (firewalls, load balancing, proxies)
• Cons: socket communication performs better over WAN
• Instructions on configuring Forms Server• No native SSL – must use hardware solution• No native load balancing – must use hardware solution• To migrate execute: $FND_TOP/bin/txkrun.pl
-script=ChangeFormsMode -mode=socket • For more details see Oracle MetaLink Note 384241.1
<Insert Picture Here>
Upgrading Your Applications
What You Can Start Today
• Increase storage available for your database since upgrade to Apps R12 will likely increase your dbf’s(some tests implied 10%)
• Upgrading your database to 10gR2 – it is certified with 11i (Oracle MetaLink Note 362203.1) and this upgrade is a mandatory part of the EBS R12 upgrade
• Apps R12 no longer uses (disables) mod_plsql; if you have any custom use for it, start planning a migration
• Oracle Graphics is no longer present in Application Server. Reports which rely on it will need to be modified and we recommend using XML Publisher
Analysis & Planning Custom Code Requiring Changes
• Forms• Reports• C code• Java code• Framework• AutoConfig Configuration Customizations• Development Tools: compilers, Forms/Reports
Builder 10.1.2, JDev 10.1.3 • User Interfaces: new look & feel
Analysis & PlanningWorkload Estimates
Here is what we found in transitioning our own code to the new technology stack:
• Most code upgraded seamlessly • Percent of files manually touched:
• Forms: ~10% of forms and libraries needed touching• Reports: ~1% of reports needed touching• C code: ~20% of C code needed touching• Java code: ~1% of overall Java code needed touching• JSP’s: ~50% of JSP’s needed touching
• The above might not reflect your applications / customizations being upgraded
Forms Tasks
• Forms Personalizations should upgrade transparently• Recommend doing a review
• Forms custom library needs to be backed up and separately upgraded
• Most required changes for all code can be identified at build time and a few only at run time• Testing is still needed
Forms Issues
YesYesNoNoFORMS60_* FORMS60_* env env variablesvariables
YesYesNoNoForms Calling GraphicsForms Calling Graphics
YesYesNoNoValidation and NavigationValidation and Navigation
NoNo
NoNo
YesYes
YesYesClient side PLSQL upgrade Client side PLSQL upgrade
YesYesForms builtForms built --in and Property in and Property ObsolescenceObsolescence
YesYesMirror ItemsMirror Items
Issue Issue Build Time Build Time Run TimeRun Time
Issues easily identifiable during build and/or run time
Forms Issues and Cost
6i6i30 min30 minLowLowFORMS60_* FORMS60_* env env variablesvariables
6i6iTBDTBDHighHighForms Calling GraphicsForms Calling Graphics
2 hr 2 hr –– 1 day1 day
0.5 0.5 –– 1 hr1 hr
0.5 0.5 –– 1 hr1 hr
2 hr 2 hr –– 1 day1 day
HighHigh
LowLow
LowLow
HighHigh
6i6i
6i6i
6i6i
6i6i
Validation and NavigationValidation and Navigation
Client side PLSQL upgradeClient side PLSQL upgrade
Forms builtForms built --in and Property in and Property ObsolescenceObsolescence
Mirror ItemsMirror Items
Issue Issue Risk Risk Time Time CompatibilityCompatibility
Compatibility designates what technology can be used to perform adjustments. Risk designates likelihood of wider code change impact.
Upgrading Forms and Libraries
• Builder:• Open then save library $ORACLE_HOME/bin/frmbld.sh
• Standalone:• To convert from pld to pll:
frmcmp.sh module=<filename.pld> userid=apps/apps module_type=library parse=yes
• To convert from pll to plx:frmcmp.sh module=<filename.pll> userid=apps/apps module_type=library compile_all=yes
• To upgrade forms:frmcmp.sh module=<filename.fmb> userid=apps/appsmodule_type=form compile_all=yes
Reports Tasks
• Reports that generate HTML output should be converted to XML Publisher
• Reports Server will only be accessible from the Concurrent Manager; any standalone reports will need to be modified
• Oracle Graphics has been replaced by OAF/BI Beans; any integration of Oracle Graphics into Oracle Reports-based reports will need to be re-implemented with XML Publisher and OAF/BI Beans
Reports Issues and Cost
30 min30 min
30 min30 min
30 min30 min
LowLow
LowLow
LowLow
6i6i
6i6i
6i6i
REPORTS60_ environment variable REPORTS60_ environment variable changed to REPORTS_changed to REPORTS_
Number precision exceeds 38Number precision exceeds 38
Use of DAY, LANGUAGE, or Use of DAY, LANGUAGE, or TIMESTAMP as a variable TIMESTAMP as a variable
Issue Issue Risk Risk Time Time CompatibilityCompatibility
Note: This summary excludes any rewriting efforts for HTML and Graphics reports
C-code Tasks
• Re-build your c/c++ code with the new compilers, linkers, and technology stack: • C compiler: icc 7.1.032
• C++ compiler: g++ 3.2.3
• RSF Level: 10.1.0.5
• Platform: Linux RH AS 3
C-code Issues and Cost
6i6i30 min30 minLowLowUntyped variable declarations
6i6i30 min30 minLowLowNetwork APIs changed in 10.1 RSFs
10g10gTBDTBDHighHighSome third party libraries might not be compatible with gcc2.96
30 min30 minLowLow 6i6ibitvec macro and ub8 and sb8 types are no longer in oratypes.h
Issue Issue Risk Risk Time Time CompatibilityCompatibility
Framework Tasks
• Framework Personalization upgrades transparently• Recommend review
• Framework custom application code should run with new OC4J without any upgrade; nevertheless we recommend• opening custom code with new JDeveloper: this is a one way
upgrade process• recreating JDeveloper projects (easier than migrating old
projects)
• Generic Java code changes include:• New JDK version and JSP spec restrictions• Servlet entry points need to be explicitly aliased • JServ Thread API incompatibility with OC4J
Java Code Issues and Cost
12121 day1 dayMedMedSOAP and Servlet library changes
11i11i1 day1 dayMedMedMismatched parameter type with errors like A(string) cannot be applied to y(jbo.domain.number)
11i11i30 min30 minLowLowTighter JSP 1.2 spec spec enforcement (extra “/”)
11i11i30 min30 minLowLowJDK1.5 type mismatched when trying to map "java.lang.String" to "oracle.jbo.domain.Number"
11i11i30 min30 minLowLowJDK1.5: stricter type checking for operator +
30 min30 minLowLow 11i11iJDK1.5: Enum is a keyword, and may not be used as an identifier, nor as type
Issue Issue Risk Risk Time Time CompatibilityCompatibility
<Insert Picture Here>
Summary
R12 Technology Enables You to Deliver Best ROI
• Uptaking new technology lowers costs• Proven technologies deliver better experience • Latest standards provide better integration• Less training with familiar and improved Apps
• New features empower administrators and users• OC4J • Instance Home• Identity Management, Portlets, Certificate Management
• Upgrading is easy• Maintain your investment • Productive new development tools• Transform configurations
Uptaking New Technology Lowers Costs
• Proven technologies deliver better experience • AS technologies fine tuned through three 9.0.x releases• New native RAC tools simplify advanced configurations
• Latest standards provide better integration• Industry standard specs like J2EE servlet, JSP, SOAP, JMS• EBS Portlets publishable on any WSRP 1.0 compliant Portal
• Less training with familiar and improved Apps Stack• Oracle Wallet Manager provide consumer side certificate
management• Desktop use of native Sun JDK simplifies administration of
multiple Java applications
New Features Empower Administrators and Users
• OC4J / OPMN• Native features for free• Leverage skill set for other J2EE applications• Evolution of concepts
• Instance Home• Easier administration• Better subdivision of work• Flexibility
• Identity Management, Portlets, Certificate Management• Better integration
Easy to Upgrade
• Maintain and extend your investment • Customizations and custom applications have simple
upgrades• Administration tools persist from 11i with added abilities • Existing SSL certificates can be reused
• Productive new development tools• JDeveloper 10.1.3• Forms10 Builder • Latest compilers and libraries
• Transform configurations• AutoConfig simplifies upgrades
R12 Technology Enables You to Deliver Best ROI …
… While Evolving Towards Fusion !
New E-Business Suite Technology Stack Blog
http://blogs.oracle.com/schan
• Certification, desupport announcements• Discussion architectures, advanced
configurations• Early Adopter Programs• Statements of Direction• Supports RSS feedreaders• Discuss Apps technology stack topics
with senior Development Architects
For More Information
http://search.oracle.com
or
http://www.oracle.com/
The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.The development, release, and timing of any features or functionality described for Oracle’s products remain at the sole discretion of Oracle.