You are on page 1of 39

Oracle Application Server Containers for Java EE to Oracle WebLogic Server

Frances Zhao Oracle WebLogic Server Product Management

The following is intended to outline our general product di ti d t direction. It is intended f i f i i t d d for information ti purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or f t i l d functionality, and should not b ti lit d h ld t be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality d f f i li described f O l ib d for Oracles products remains at the sole discretion of Oracle.

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 Understanding Differences Between OracleAS 10gR3 g and WebLogic Server 10.3
A Technical Comparison to Help Plan for Upgrades

Upgrade Best Practice for OracleAS to WebLogic Server 10 3 10.3

Oracle Fusion Middleware

WebLogic Suite and Fusion Middleware


Upg ade, g at o a d te ope ab ty Suppo t Upgrade, Migration and Interoperability Support
Domain Upgrade
WebLogic Domains

SmartUpgrade
OC4J/JEE Apps

Upgrade Assistant
OHS, Forms, Reports..

JDeveloper Migrator
ADF, SOA, WebCenter..

WebLogic Suite
WebLogic Server E Enterprise Manager M
A Admin and Op perations

Develop pment Tools

Java EE: Reliability, Availability, Scalability & Performance

Jdevelo oper/Eclipse

Coherence
High Performance, Reliable, Scale Out for Java, C++ and .NET

JRockit Real Time


High Performance JVM with Extreme Low Latency

Proven to Outperform Lowest Operational Cost L tO ti lC t

Best Foundation for the Oracle Portfolio

Upgrade Paths at a Glance

10g Upgrade Starting Points and Tools


11gR1 Product Oracle Discoverer, Reports, and Forms Oracle Portal Oracle IdM Oracle HTTP Server and WebCache Oracle Enterprise Content Management Oracle Business Intelligence O ac e a a eg a o Oracle Data Integration Oracle Business Activity Monitoring Oracle B2B Integration Oracle WebCenter and BPEL PM Oracle ADF Applications OC4J Custom Java EE Apps Starting Point Version Required 10.1.2.x 10.1.2.x or 10.1.4.x 10.1.2.x or 10.1.4.x 10.1.2.x or 10.1.3.x 10.1.3.x 10.1.3.x 10.1.3.x 0 3 10.1.3.x 10.1.2.x 10.1.3.x 10 1 3 x 10.1.2.x or 10.1.3.x 10.1.2.x or 10.1.3.x JDeveloper Migrator Wizard WebLogic SmartUpgrade FMW Upgrade Assistant Upgrade Tool

Oracle IDM 10g to 11gR1 Product Mapping

10g IDM Product Oracle Internet Directory Oracle Virtual Directory Oracle Single Sign On

11gR1 Product Oracle Internet Directory Oracle Virtual Directory Oracle Access Manager

Tool Upgrade Assistant

<Insert Picture Here>

SmartUpgrade

Upgrade OracleAS EE to WLS Suite


Upgrade Support
SmartUpgrade
OC4J/JEE Apps

JEE Upgrades g Upgrade Guide for Java EE WebLogic SmartUpgrade Systematic upgrade of OC4J JEE apps to WLS Upgrade Assistant Advisory reports and automated generation OHS, Forms, Reports.. 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 JDeveloper Migrator ADF Application Upgrades ADF, SOA, WebCenter.. JDeveloper Migrators Available for ADF applications, Oracle SOA Suite, WebCenter

Professional Services Offerings


Oracle Consulting and Partners

<Insert Picture Here>

Customer Case Study UK Government Compary


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 Struts EJB2.1. Migration phase 4 Weeks Additional effort for discovery, OID 11g migration, builds automation, testing Migration estimates driven by Oracle WebLogic SmartUpgrade tool

<Insert Picture Here>

Customer Case Study France Government Company


Used SmartUpgrade on a large scale, to migrate hundreds of their OracleASbased IT systems to Weblogic Mission critical 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

Cover All Aspects of Custom Java EE Application Upgrade


Project Pl P j t Planning i Project D P j t Development l t Project V ifi ti P j t Verification and d Rollout

Upgrade Application Understand OC4J and WebLogic Server Conceptual Differences Create Target Development Environment Assess Required Adjustments to Administrative Processes Upgrade Application Clients Create Target Staging and Production Environments Create Target Quality Assurance Environment

WebLogic SmartUpgrade Oracle Documentation

WebLogic SmartUpgrade Design


Application Artifacts
JDev Project
Input To

JDeveloper Interface
- Enhanced Findings Management

Command Line Interface


Report - Findings
Generates

- Scoping Metrics

JAR, WAR, or EAR

PDD Analysis

Code Analysis - JSP - Java

Container Config. g Analysis


Generates

Source Directory

Analysis Engine
Uses

WebLogic Auto Generation

Knowledge Base

Container Configuration
PDD Rules OC4J JEE Instances Code Rules

Container Config. Rules

WebLogic SmartUpgrade Features


Reporting
OC 10.1.3 and 10.1.2 rules OC4J Multi-application analysis Archive, Directory, and JDeveloper Projects Single instance environment analysis Rules categorization and metrics summary ti Multi-format reports Text, HTML, and JDev User Finding Management Ant Integration

Auto Generation
Web S Services Applications EJB Applications Web Applications Data Source Configurations Deployment Descriptors JCA Configurations

WebLogic SmartUpgrade Roadmap


Milestone 1 Li i d Al h R l Limited Alpha Release
Multi-application and single instance analysis

Availability May 2009

2 Release 1
PDD Generation, limited

1-2 HY09

3 Release 1.1
Web Services, Web App, Data Sources

2HY9

4 Release 1 2 1.2
EJB, JCA, Web App, Web Services

2HY10 Shipped

WebLogic SmartUpgrade Download

<Insert Picture Here>

SmartUpgrade - Best Practices

Runtime Java EE and Java SE


WebLogic Server
Java EE APIs Java SE Java EE JSP 2.1 JSF 1.2 Servlet 2.5 EJB 3.0 JAXJAX-WS 2.1 JMS 1.1 JNDI 1.2 JCA 1.5 JTA 1.1 JMX 1.2 Java EE Deployment 1.2 Java EE Management 1.1 JDBC 3 0 3.0 Support 6.0 5.0 50

Oracle Application Server


Java EE APIs Java SE Java EE JSP 2.0 JSF 1.1 Servlet 2.4/2.5 EJB 3.0 JAXJAX-RPC 1.1 JMS 1.1 JNDI 1.2 JCA 1.5 JTA 1.01 JMX 1.2 Java EE Deployment 1.1 Java EE Management 1.0 JDBC 3 0 3.0 Support 6.0 1.4/5.0 1 4/5 0

WebLogic Server
Java EE 5 Persistence Messaging and Web Services 5, Persistence,
Java EE/ISV Apps SOA Suite WebCenter Suite Content Management Suite Identity Management Suite Business Intelligence Suite

FMW Applications/Frameworks
EJB Business Logic

JSF/Servlet Web 2.0

POJO

Web Services

JMS Messaging

JCA Connectivity

Transactions

Connection Pooling

Persistence Infrastructure

Workload Management

Protocol Handling

Security

WebLogic Kernel Reliability, Availability, Scalability, Performance Middleware Administration Server WebLogic Server

OC4J Data Sources


Oracle Application Server
OC4J Group

Standard data source connectivity


Connection pooling with max, min R t k Retry, keep alive, polling li lli

OC4J Instance

OC4J Instance

Data Source RAC Node 1-2


Connection Pool

Data Source RAC Node 1-2


Connection Pool

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 Process Manager and Notification

Oracle Notification Service

RAC Node 1

RAC Node 2

Shared Storage Oracle Database

WebLogic Data Sources


WebLogic Domain

Standard data source connectivity


Connection pooling with min, max Death detection, retry, keep alive, polling

Node Manager WebLogic Cluster g

Managed Server1

Managed Server2

Multi Data Source

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

Data Source RAC Node 1


Connection Pool

Data Source RAC Node 2


Connection Pool

Oracle Notification Service

RAC Node 1

RAC Node 2

Shared Storage Oracle Database

WebLogic Active GridLink for RAC


Simpler Configuration: single data source Event-Based Model (ONS and FAN) for Adaptive Pool Management Fast Connection Failover
Database Graceful Planned Shutdown Database Unplanned Shutdown Database New Instance Rejoin

Runtime Connection Load Balancing XA Affinity for Connection Routing SCAN Support Data Guard Support
Node Ma anager WebLogic Cluster
Managed Server1 Managed Server2

Datasource
GridLink Data Source RAC Aware Connection Pool

Oracle Notification Service Oracle Database Service

WebLogic Domain

Oracle Database

RAC N d 1 RAC N d 2 Node Node

RAC Node 3 RAC Node 4

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


WebLogic Multi Data Source implementation Manual Steps are needed WebLogic Active GridLink for RAC Licensing Requirements g q

OC4J JMS Infrastructure


Java Java EE Applications

Oracle Enterprise Messaging Service (JMS 1.1)


Oracle Containers for Java EE JMS Router JMS Connector In Memory Provider File Provider Database Provider

Routing Pluggable Pl bl JMS Providers

Connector
Queue 1

Memory

File

Oracle AQ

WebSphereMQ

Tibco

Sonic

SeeBeyond

WebLogic

WebLogic JMS Message Infrastructure


Java EE/ISV Apps SOA Suite Applications C, .NET Clients

WebLogic Server JMS WebLogic Server


File Persistence Bridging Database Persistence Oracle AQ Integration

File
Queue 1

Bridge

Database

AQ

WebSphereMQ

Tibco

Sonic

OC4J

JMS 1.1 Compliant

Upgrade Strategy JMS


JMS Server config in OC4J jms.xml, zero or one per OC4J instance
O persistent file for server state and one persistent file for each destination One i t t fil f t t d i t t fil f h d ti ti

JMS - Server Activated Check, six default connection factories Distributed destination
Each of them have separate host/port, the message could be re-direct between re direct clustered servers; Consumers and producers can only communicate with a physical member that is hosted on the same OC4J JMS g at g distributed top c migrating a d st buted topic
Configure a unique non-distributed topic for each JMS server with same topic name, use local JNDI names Dont 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 p g path available

<Insert Picture Here>

Customer Case Study UK Government Compary

Migrate Four J2EE 1.4 applications deployed to OC4J 10.1.3.x to run on Weblogic 10.3.2
WebLogic s 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

Upgrade Strategy JMS Interop scenarios to WLS

OC4J JMS client to WLS destination


Support basic JMS access upgrade with local transaction. No MDB 3.0, no XA, no Java2, SSO and subject propagation 30 XA Java2

WLS JMS client to OC4J destination


Support 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 CMT, No SSL (not supported in OC4J JMS provider) No SSO and subject propagation

OC4J JMS client to WLS destination via Generic JMS Resource Adapter Ad t
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 Adapter


EJB 2.0 and 3.0 style MDBs with local transactions. No SSO and subject propagation No XA (WLS JMS client doesnot support foreign TMs)

Upgrade Strategy - EJB


OC4J Version 9.0.3, 9.0.4 10.1.2 CMP Provider Native (Orion) Native (Orion) Native (Orion) Migration Target WLS CMP WLS CMP WLS CMP TopLink JPA 10.1.3 TopLink EJB 2.1 TopLink POJO-ORM TopLink BMP TopLink T Li k CMP Notes
Not supported by SmartUpgrade 10.1.2 is supported by SmartUpgrade

Supported by SmartUpgrade Same XML mapping file or JPA annotations and XML Customer must migrate application logic Same XML mapping file or JPA annotations and XML Customer must migrate application logic Same XML mapping file Minor Entity Bean changes with no application code changes Not supported by SmartUpgrade pp y pg

Upgrade Strategy JNDI


OC4J models each deployed application as a separate context; WLS models its 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 J Java client using A li ti Cli tI iti lC t tF t li t i 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

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 conte t se implementation.
Set flag in OC4Js server.xml config file in order to support having the multiple JNDI implementations in the same VM. (<environmentg y ) 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 S fl i JNDI environment properties f OC4J JNDI context, i i for 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 h d b shared across OC4J and WLS) d WLS).

Oracle Application Server Transaction Management


Java Clients
Administr rative Operations (JMX) s

Java EE Applications

Spring
Ships OC4J TX Integration

Transaction Coordinator Global Transaction Protocol Event Notification (JMX)

Transaction Recovery Manager Transaction Interoperability Logging (Presume Nothing Presume Abort)

Local Transactions Recoverable Last Resource Commit Transaction Manager (JTA)

Tx Log (File or DB)

Oracle Containers for Java EE

DB Resource Manager
(Global, Local Tx)

3rd Party (JMS, DB) Resource Manager


(Global, Local Tx )

Other OC4J Instances


(Global, Local & Tx Propagation)

WebLogic Transaction Management


Java Clients
Administr rative Operations (JMX) s

Java EE Applications

SCA Applications

Spring
Ships WLS TX Integration

Transaction Coordinator Global Transaction Inter Domain Transactions

Transaction Recovery Manager Transaction HA Service/Server Migration Logging Last Resource Transaction

Local Transactions Server Interposed Transaction Manager

WebLogic Transaction Service (JTA/JTS)

Tx Log (Shared Storage)

WebLogic Server

DB Resource Manager
(Global, Local Tx)

3rd Party (JMS, DB) Resource Manager


(Global, Local Tx )

3rd Party (Vitria BW) Transaction Manager


(JTS Tx Interoperability )

Other WLS Instances


(Global, Local & Tx Propagation)

OC4J Web Services Infrastructure

Web Services Management ASControl

HTTP SOAP

HTTP REST

Web Services Development With JDeveloper

Service Infrastructure (SCA)


WS WSSecurity WS WSReliability

Agent A t

Auditing A diti

Logging L i

Declarative QoS - Web Services Interoperability Infrastructure (WS-*) JAX-RPC Attachment W b Services Att h t Web S i (MTOM/SwA) Metadata WSIF JAX-B JAX B Data Binding JAX-R

Web Services Java Programming Model Java EE

Oracle Containers for Java EE

WebLogic Web Services Infrastructure

Web Services Management & Web Services Manager

HTTP SOAP

HTTP REST

JMS SOAP

Web Services Development With JDeveloper & Eclipse

WSSecurity

SAML

WSReliable Messaging

Conversational Buffered Asynchronous Web Services Web Services Web Services

Declarative QoS - Web Services Interoperability Infrastructure (WS-*) Built In JAX-WS JAX-RPC JAX RPC Attachment (MTOM/SwA) XML Catalog WSIF JAX-B Data Binding JAX-R

Web Services Java Programming Model Java EE

WebLogic Server

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

For more information


Oracle Fusion Middleware U O l F i Middl Upgrade C t d Center: http://www.oracle.com/technetwork/middleware/upgrade -092995.html

You might also like