- doag deutsche oracle ... · pdf fileoracle virtual directory oracle virtual directory...
TRANSCRIPT
1
<Insert Picture Here>
Upgrading from Oracle Application Server to Oracle WebLogic Server
Frances Zhao
Oracle WebLogic Product Management
3
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 remains at the sole discretion of Oracle.
4
Agenda
Oracle Fusion Middleware Product Upgrade Strategy
Discussion of upgrade to Oracle Fusion Middleware 11
Upgrade iAS/OC4J Java EE
WebLogic SmartUpgrade Overview
WebLogic SmartUpgrade Feature Update
Upgrade Best Practice for OracleAS to WebLogic
Server 10.3
Demos
Q&A
5
Oracle Fusion Middleware
6
WebLogic Suite and Fusion MiddlewareUpgrade, Migration and Interoperability Support
Coherence
JRockit Real Time
WebLogic Server
Java EE: Reliability, Availability, Scalability & Performance
High Performance, Reliable, Scale Out for Java, C++ and .NET
High Performance JVM with Extreme Low Latency
WebLogic Suite
En
terp
ris
e M
an
ag
er
Ad
min
an
d O
pe
rati
on
s
De
ve
lop
me
nt T
oo
ls
Jd
eve
lop
er/E
clip
se
SmartUpgradeOC4J/JEE Apps
Upgrade AssistantOHS, Forms, Reports..
Proven to Outperform
Best Foundationfor the Oracle
PortfolioLowest Operational Cost
JDeveloper MigratorADF, SOA, WebCenter..
Domain UpgradeWebLogic Domains
7
Upgrade Paths at a Glance
8
10g Upgrade Starting Points and Tools
11gR1 Product Starting Point
Version Required
Upgrade Tool
Oracle Discoverer, Reports, and Forms 10.1.2.x
FMW Upgrade Assistant
Oracle Portal 10.1.2.x or 10.1.4.x
Oracle IdM 10.1.2.x or 10.1.4.x
Oracle HTTP Server and WebCache 10.1.2.x or 10.1.3.x
Oracle Enterprise Content Management 10.1.3.x
Oracle Business Intelligence 10.1.3.x
Oracle Data Integration 10.1.3.x
Oracle Business Activity Monitoring 10.1.3.x
Oracle B2B Integration 10.1.2.x
Oracle WebCenter and BPEL PM 10.1.3.x JDeveloper Migrator
WizardOracle ADF Applications 10.1.2.x or 10.1.3.x
OC4J Custom Java EE Apps 10.1.2.x or 10.1.3.x WebLogic SmartUpgrade
9
Oracle IDM 10g to 11gR1 Product Mapping
10g IDM Product 11gR1 Product Tool
Oracle Internet Directory Oracle Internet Directory
Upgrade AssistantOracle Virtual Directory Oracle Virtual Directory
Oracle Single Sign On Oracle Access Manager
10
SmartUpgrade
11
Upgrade OracleAS EE to WLS Suite
Upgrade Support
JEE Upgrades
Upgrade Guide for Java EE
WebLogic SmartUpgrade
Systematic upgrade of OC4J JEE apps to WLS
Advisory reports and automated generation
Meta-data Repository and Environment Upgrades
Upgrade Assistant automation
Available for Oracle Portal, Forms, Reports, Discoverer, OHS, WebCache, OID/DIP, OVD, OIF, B2B, and BAM
ADF Application Upgrades
JDeveloper Migrators
Available for ADF applications, Oracle SOA Suite, WebCenter
Professional Services Offerings
Oracle Consulting and Partners
SmartUpgradeOC4J/JEE Apps
Upgrade AssistantOHS, Forms, Reports..
JDeveloper MigratorADF, SOA, WebCenter..
12
<Insert Picture Here>
• Migrate Four J2EE 1.4 applications deployed to OC4J 10.1.3.x to run on Weblogic 10.3.2
• Using Struts, EJB2.1. Web and EJB Layer is not collocated
• Migration phase 4 Weeks
• Additional effort for discovery, OID 11g migration, builds automation, testing
• Migration estimates driven by Oracle WebLogic SmartUpgradetool
Customer Case Study
UK Government Company
13
<Insert Picture Here>
• Used SmartUpgrade on a large scale, to migrate hundreds of their OracleAS–based IT systems to Weblogic
• Mission-critical applications
• External portal that services millions of users.
• Over 10,000 employees will be using the weblogic-based IT systems.
• 310 Weblogic processors
Customer Case Study
France Government Company
14
SmartUpgrade
15
Understand OC4J and
WebLogic Server
Conceptual Differences
Project Planning Project Development Project Verification and
Rollout
Assess Required
Adjustments to
Administrative Processes
Upgrade Application
Create Target Development
Environment
Upgrade Application Clients
Create Target Quality
Assurance Environment
Create Target Staging and
Production Environments
Cover All Aspects of Custom Java EE Application
Upgrade
Oracle Documentation
WebLogic SmartUpgrade
16
Application Artifacts
WebLogic SmartUpgrade Design
Container
Configuration
JDeveloper
Interface
- Enhanced
Findings
Management
Analysis Engine
Input To
Uses
PDD
Analysis
Code
Analysis
- JSP
- Java
Container
Config.
Analysis
Generates
PDD
Rules
Code
Rules
Container
Config.
Rules
Knowledge Base
WebLogic
Auto Generation
Generates
JDev
Project
Command
Line Interface
Report
- Findings
- Scoping Metrics
JDev
Project
JAR, WAR,
or EAR
Source
Directory
OC4J JEE
Instances
17
WebLogic SmartUpgrade Features
Reporting
OC4J 10.1.3 and 10.1.2 rules
Multi-application analysis
Archive, Directory, and JDeveloper Projects
Single instance environment analysis
Rules categorization and metrics summary
Multi-format reports
Text, HTML, and JDev
User Finding Management
Ant Integration
Auto Generation
Web Services Applications
EJB Applications
Web Applications
Data Source Configurations
Deployment Descriptors
JCA Configurations
18
WebLogic SmartUpgrade – Roadmap
Milestone Availability
1 – Limited Alpha Release
• Multi-application and single instance analysisMay 2009
2 – Release 1
• PDD Generation, limited1-2 HY09
3 – Release 1.1
• Web Services, Web App, Data Sources 2HY9
4 – Release 1.2
• EJB, JCA, Web App, Web Services 2HY10 – Shipped
19
SmartUpgrade
20
Runtime – Java EE and Java SE
WebLogic Server Oracle Application Server
√Java EE Management 1.1
√Java EE Deployment 1.2
√JMX 1.2
√JTA 1.1
√JCA 1.5
√JNDI 1.2
√JMS 1.1
√JAX-WS 2.1
√EJB 3.0
√Servlet 2.5
√JSF 1.2
√JSP 2.1
√JDBC 3.0 √
5.0Java EE
6.0Java SE
Java EE APIs Support
√Java EE Management 1.0
√Java EE Deployment 1.1
√JMX 1.2
√JTA 1.01
√JCA 1.5
√JNDI 1.2
√JMS 1.1
√JAX-RPC 1.1
√EJB 3.0
√Servlet 2.4/2.5
√JSF 1.1
√JSP 2.0
√JDBC 3.0 √
1.4/5.0Java EE
6.0Java SE
Java EE APIs Support
21
OC4J Data Sources
Standard data source
connectivity
Connection pooling with max,
min
Retry, keep alive, polling …
For RAC, fast connection
failover capability
OC4J connection pool wired to
RAC cluster via Oracle
Notification Service and RAC
events
RAC integration transparent to
application
Oracle Application Server
OC4J Group
OC4J
Instance
OC4J
Instance
Data Source
RAC Node 1-2
Data Source
RAC Node 1-2
Connection Pool
Connection Pool
Oracle Database
Shared Storage
RAC Node 2RAC Node 1
Oracle Notification Service
Oracle Process Manager and Notification
22
WebLogic Data Sources
Standard data source
connectivity
Connection pooling with min, max
Death detection, retry, keep alive,
polling …
For RAC, multi data source
capability
An abstraction over multiple data
sources for each RAC node
Applications use the multi data
source versus the underlying data
source – transparent to applications
WebLogic load balances and
handles RAC node failure with XA
support
WebLogic Cluster
WebLogic Domain
Multi Data Source
Managed
Server1
Managed
Server2
Data Source
RAC Node 1
Data Source
RAC Node 2
Connection Pool
Connection Pool
Oracle Database
Shared Storage
RAC Node 2RAC Node 1
Oracle Notification Service
Node Manager
23
Upgrade Strategy – Data Sources
Native Data Source
No support of native/unmanaged data sources in WebLoigc
Server
Create a new WebLogic JDBC Data Source
Redefine as Managed Data Source, then re-run the upgrade
Modify the app to programmatically instantiate a third party data
source and register it in JNDI during application initialization.
instantiate a third party data source and register it in JNDI during
using a Oracle WebLogic Server Startup Class.
Oracle RAC Integration
Fast Connection Failover is not supported by current WebLogic
10.3.x releases
Multi Data Source is recommended
Manual Steps are needed
24
<Insert Picture Here>
• The customer data source migrated from 10.1.2 to 10.1.3 and then to WebLogic Server
• Still using 10.1.2 datasource.xml syntax
• Applications inadvertently using emulated 2 phase commit rather than true 2PC XA
• Favour XA where > 1 resource involved to maintain distributed transactional integrity
• Single phase commit where single resource involved may be more performant
Customer Case Study
UK Government Company
25
OC4J JMS Infrastructure
Oracle Enterprise Messaging Service (JMS 1.1)
Oracle Containers for Java EE
In MemoryProvider
Memory
FileProvider
File
DatabaseProvider
Oracle AQ
JMS Router
Routing
Queue 1Pluggable
JMS Providers
JMSConnector
Connector
WebSphereMQ Tibco Sonic SeeBeyond WebLogic
JavaJava EE
Applications
26
WebLogic JMS Message Infrastructure
WebLogic Server JMS
Oracle AQIntegration
AQ
Queue 1
File
FilePersistence
WebSphereMQ Tibco Sonic OC4J
Bridging
Bridge
JMS 1.1
Compliant
DatabasePersistence
Database
C, .NET Clients
ApplicationsSOASuite
Java EE/ISVApps
WebLogic Server
27
Upgrade Strategy – JMS
JMS Server config in OC4J – jms.xml, zero or one per OC4J instance
One persistent file for server state and one persistent file for each destination
JMS - Server Activated Check, six default connection factories
Distributed destination
Each of them have separate host/port, the message could be re-direct between clustered servers;
Consumers and producers can only communicate with a physical member that is hosted on the same OC4J JMS
migrating a distributed topic
Configure a unique non-distributed topic for each JMS server with same topic name, use local JNDI names
Don’t cluster the WebLogic Server
XA/Connection Factory, XA/QueueConnectionFactory, XA/TopicConnectionFactory
Create a new Connection Factory with WLS and bound to JNDI location
Tunnel attribute: HTTP tunneling for remote client access through a firewall
Host/port, SSL
JMS Connector and Router – no migration path available
28
<Insert Picture Here>
• Migrate Four J2EE 1.4 applications deployed to OC4J 10.1.3.x to run on Weblogic 10.3.2
• WebLogic's foreign JMS server for AQ
• Works as advertised!
• Configuration at the server level (via a JMS module) rather than in deployment descriptors
• XA data source recommended
Customer Case Study
UK Government Compary
29
Upgrade Strategy – JMS Interop scenarios to WLS
OC4J JMS client to WLS destinationSupport basic JMS access upgrade with local transaction.
No MDB 3.0, no XA, no Java2, SSO and subject propagation
WLS JMS client to OC4J destinationSupport basic JMS access using OC4J-JMS running within WLS via MDB 2.1, MDB 3.0, JMS Bridge and Foreign JMS Server
Support XA with CMT, BMT
No SSL (not supported in OC4J JMS provider)
No SSO and subject propagation
OC4J JMS client to WLS destination via Generic JMS Resource Adapter
Simple enqueues and dequeues with local txns
No SSO and subject propagation
No XA (WLS JMS client does not support foreign TMs)
OC4J MDB to WLS destinations via Generic JMS Resource AdapterEJB 2.0 and 3.0 style MDBs with local transactions.
No SSO and subject propagation
No XA (WLS JMS client doesnot support foreign TMs)
30
Upgrade Strategy - EJB
OC4J
VersionCMP Provider
Migration
TargetNotes
9.0.3, 9.0.4 Native (Orion) WLS CMP• Not supported by SmartUpgrade
10.1.2Native (Orion) WLS CMP •10.1.2 is supported by SmartUpgrade
10.1.3
Native (Orion) WLS CMP •Supported by SmartUpgrade
TopLink
EJB 2.1
TopLink JPA•Same XML mapping file
or JPA annotations and XML
•Customer must migrate application logic
TopLink
POJO-ORM
•Same XML mapping file
or JPA annotations and XML
•Customer must migrate application logic
TopLink BMP
• Same XML mapping file
Minor Entity Bean changes with no
application code changes
TopLink CMP• Not supported by SmartUpgrade
31
Upgrade Strategy – JNDI
OC4J models each deployed application as a separate context;
WLS models it’s JNDI context as a global context
possible namespace collision when upgrade to WLS from OC4J
using the “Global JNDI” feature in OC4J should not experience any
problems
Java client using ApplicationClientInitialContextFactory
Not supported in WLS
Customers will need to modify the code to run in a full app client
container
OC4J allows launching application clients within a running server,
no upgrade path
32
Upgrade Strategy – RMI/JNDI Interop scenarios to
WLS
OC4J Server remote connection to OC4J and WLS, Configure a remote JNDI context to use the WLS JNDI implementation.
Set flag in OC4J’s server.xml config file in order to support having the multiple JNDI implementations in the same VM. (<environment-naming-url-factory-enabled="true" />)
OC4J Remote client making remote connections to OC4J and WLS, Config a remote JNDI context to use the WLS JNDI implementation.
Set flag in JNDI environment properties for OC4J JNDI context, allows both JNDI implementations to co-exist in the same VM instance.(env.put(Context.PROVIDER_URL,"protocol://remote_host:port/app )
Upgrade Limitations
No transaction propagation
No security Context propagation (security subjects/identities cannot be shared across OC4J and WLS).
33
Oracle Application Server Transaction Management
Transaction Manager (JTA)
Oracle Containers for Java EE
Tx Log
(File or DB)
Transaction Coordinator Transaction Recovery Manager
Global
Transaction
Recoverable Last
Resource Commit
Logging
(Presume Nothing
Presume Abort)
JavaClients
Java EEApplications
SpringShips OC4J TX
Integration
Other OC4J Instances(Global, Local & Tx Propagation)
DB Resource
Manager(Global, Local Tx)
3rd Party (JMS, DB…)
Resource Manager(Global, Local Tx )
Local TransactionsTransaction
Interoperability
Protocol Event
Notification (JMX)
Ad
min
istr
ati
ve
Op
era
tio
ns
(J
MX
)
34
WebLogic Transaction Management
DB Resource
Manager(Global, Local Tx)
WebLogic Transaction Service (JTA/JTS)
Other WLS Instances(Global, Local & Tx Propagation)
WebLogic Server
Tx Log
(Shared
Storage)
Transaction Coordinator Transaction Recovery Manager
JavaClients
Java EEApplications
SCAApplications
SpringShips WLS TX
Integration
3rd Party (JMS, DB…)
Resource Manager(Global, Local Tx )
3rd Party (Vitria BW…)
Transaction Manager(JTS Tx Interoperability )
Ad
min
istr
ati
ve
Op
era
tio
ns
(J
MX
)
Global
Transaction
Server Interposed
Transaction Manager
Logging Last
Resource Transaction
Local TransactionsTransaction HA
Service/Server Migration
Inter Domain
Transactions
35
OC4J Web Services Infrastructure
Oracle Containers for Java EE
Web ServicesMetadata
JAX-RPC
HTTPSOAP
HTTPREST
JAX-BData Binding
Service Infrastructure (SCA)
Attachment(MTOM/SwA)
JAX-R
WS-Security
WS-Reliability
Auditing LoggingAgent
Web Services Java Programming Model – Java EE
Declarative QoS - Web Services Interoperability Infrastructure (WS-*)
Web Services ManagementASControl
Web Services DevelopmentWith JDeveloper
WSIF
36
WebLogic Web Services Infrastructure
WebLogic Server
XMLCatalog
JAX-WSJAX-RPC
JMSSOAP
HTTPSOAP
HTTPREST
JAX-BData Binding
Attachment(MTOM/SwA)
JAX-R
WS-Security
SAMLWS-
ReliableMessaging
BufferedWeb Services
AsynchronousWeb Services
ConversationalWeb Services
Web Services Java Programming Model – Java EE
Declarative QoS - Web Services Interoperability Infrastructure (WS-*) – Built In
Web Services Management& Web Services Manager
Web Services DevelopmentWith JDeveloper & Eclipse
WSIF
37
SmartUpgrade Web Services Migration
Pojo based web services, including
Bottom-up and Top-down
EJB based web services
EJB2, EJB21, EJB30
Stateful Webservices
SOAP Handlers
SOAP Attachments
WS- Security
WSS-UNT
MTOM
Stub-based web service clients
38
SmartUpgrade
39
Demo
40
Q & A
<Insert Picture Here>
Upgrading from Oracle Application Server to Oracle WebLogic Server
Frances Zhao
Oracle WebLogic Product Management