39
Oracle Application Server Containers for Java EE to Oracle WebLogic Server Frances Zhao Frances Zhao Oracle WebLogic Server Product Management

OTNVDD-JavaEEUpgrade

Embed Size (px)

Citation preview

Page 1: OTNVDD-JavaEEUpgrade

Oracle Application Server Containers for Java EE to Oracle WebLogic Server Frances ZhaoFrances ZhaoOracle WebLogic Server Product Management

Page 2: OTNVDD-JavaEEUpgrade

The following is intended to outline our general d t di ti It i i t d d f i f tiproduct direction. It is intended for information

purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any

t i l d f ti lit d h ld t bmaterial, code, or functionality, and should not be relied upon in making purchasing decisions.The development, release, and timing of any

f f i li d ib d f O l ’features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Page 3: OTNVDD-JavaEEUpgrade

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• WebLogic SmartUpgrade Feature Update• Understanding Differences Between OracleAS 10gR3

and WebLogic Server 10.3 g• A Technical Comparison to Help Plan for Upgrades

• Upgrade Best Practice for OracleAS to WebLogicServer 10 3Server 10.3

Page 4: OTNVDD-JavaEEUpgrade

Oracle Fusion Middleware

Page 5: OTNVDD-JavaEEUpgrade

WebLogic Suite and Fusion MiddlewareUpgrade, Migration and Interoperability SupportUpg ade, g at o a d te ope ab ty Suppo t

SmartUpgradeOC4J/JEE Apps

Upgrade AssistantOHS, Forms, Reports..

JDeveloper MigratorADF, SOA, WebCenter..

Domain UpgradeWebLogic Domains

WebLogic Suite

Coherence

WebLogic ServerJava EE: Reliability, Availability, Scalability & Performance

WebLogic Suite

Man

ager

pera

tions

Develop

JdeveloCoherence

JRockit Real Time

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

High Performance JVM with Extreme Low LatencyEnte

rpris

e M

Adm

in a

nd O

p pment Tools

oper/Eclipse

High Performance JVM with Extreme Low LatencyE A

Proven to Outperform

Best Foundationfor the Oracle

PortfolioL t O ti l C tLowest Operational Cost

Page 6: OTNVDD-JavaEEUpgrade

Upgrade Paths at a Glance

Page 7: OTNVDD-JavaEEUpgrade

10g Upgrade Starting Points and Tools11gR1 Product Starting Point

Version RequiredUpgrade Tool

Oracle Discoverer, Reports, and Forms 10.1.2.xOracle Portal 10.1.2.x or 10.1.4.xOracle IdM 10.1.2.x or 10.1.4.xOracle HTTP Server and WebCache 10.1.2.x or 10.1.3.x

FMW Upgrade AssistantOracle Enterprise Content Management 10.1.3.xOracle Business Intelligence 10.1.3.xOracle Data Integration 10.1.3.xO ac e a a eg a o 0 3Oracle Business Activity Monitoring 10.1.3.xOracle B2B Integration 10.1.2.xOracle WebCenter and BPEL PM 10 1 3 x JDeveloper MigratorOracle WebCenter and BPEL PM 10.1.3.x JDeveloper Migrator

WizardOracle ADF Applications 10.1.2.x or 10.1.3.xOC4J Custom Java EE Apps 10.1.2.x or 10.1.3.x WebLogic SmartUpgrade

Page 8: OTNVDD-JavaEEUpgrade

Oracle IDM 10g to 11gR1 Product MappingMapping

10g IDM Product 11gR1 Product Tool10g IDM Product 11gR1 Product ToolOracle Internet Directory Oracle Internet Directory

Upgrade AssistantOracle Virtual Directory Oracle Virtual DirectoryOracle Single Sign On Oracle Access ManagerOracle Single Sign On Oracle Access Manager

Page 9: OTNVDD-JavaEEUpgrade

<Insert Picture Here>

SmartUpgrade

Page 10: OTNVDD-JavaEEUpgrade

Upgrade OracleAS EE to WLS SuiteUpgrade SupportUpgrade Support

• JEE Upgrades• Upgrade Guide for Java EE

SmartUpgradeOC4J/JEE Apps

g• WebLogic SmartUpgrade

• Systematic upgrade of OC4J JEE apps to WLS• Advisory reports and automated generation

• Meta-data Repository and Environment Upgrades

Upgrade AssistantOHS, 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 BAMADF Application Upgrades

JDeveloper Migrator• ADF Application Upgrades

• JDeveloper Migrators• Available for ADF applications, Oracle SOA Suite, WebCenter

• Professional Services Offerings

ADF, SOA, WebCenter..

• Oracle Consulting and Partners

Page 11: OTNVDD-JavaEEUpgrade

<Insert Picture Here>

Customer Case StudyUK 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 collocatedUsing 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

Page 12: OTNVDD-JavaEEUpgrade

<Insert Picture Here>

Customer Case StudyFrance Government Company

• Used SmartUpgrade on a large scale, to migrate hundreds of their OracleAS–based IT systems to Weblogic

• Mission-critical applicationsMission critical applications

• External portal that services millions of users.

• Over 10,000 employees will be using the weblogic-based IT systems.

• 310 Weblogic processors

Page 13: OTNVDD-JavaEEUpgrade

Cover All Aspects of Custom Java EE Application Upgrade

P j t Pl i P j t D l t P j t V ifi ti d

Application Upgrade

Understand OC4J and

Project Planning Project Development Project Verification and Rollout

Upgrade Application

Create Target QualityWebLogic Server

Conceptual Differences

Create Target Development Environment

Create Target Quality Assurance Environment

Assess Required Adjustments to

Administrative Processes

Upgrade Application Clients

Create Target Staging and Production Environments

Oracle DocumentationWebLogic SmartUpgrade

Oracle Documentation

Page 14: OTNVDD-JavaEEUpgrade

WebLogic SmartUpgrade DesignApplication Artifacts JDeveloper

Interface- Enhanced

Findings JDev

Command Line Interface

ReportJDev Management

Input To

PDD Analysis

Code Analysis

JSP

Container Config.

GeneratesProject - Findings

- Scoping Metrics

Project

JAR, WAR,

Analysis Engine

Analysis - JSP- Java

gAnalysis

WebLogic

Auto Generation

Generates

JAR, WAR, or EAR

Source

Container Configuration

Uses

Knowledge Base

Directory

ConfigurationPDD Rules

Code Rules

Container Config. RulesOC4J JEE

Instances

Page 15: OTNVDD-JavaEEUpgrade

WebLogic SmartUpgrade Features

• ReportingOC

• Auto GenerationS• OC4J 10.1.3 and 10.1.2 rules

• Multi-application analysis• Archive, Directory, and

JDeveloper Projects

• Web Services Applications• EJB Applications• Web Applications• Data Source ConfigurationsJDeveloper Projects

• Single instance environment analysis

• Rules categorization and t i

• Data Source Configurations• Deployment Descriptors• JCA Configurations

metrics summary• Multi-format reports

• Text, HTML, and JDev• User Finding Management• User Finding Management• Ant Integration

Page 16: OTNVDD-JavaEEUpgrade

WebLogic SmartUpgrade – Roadmap

Milestone Availability

1 Li i d Al h R l1 – Limited Alpha Release• Multi-application and single instance analysis

May 2009

2 Release 12 – Release 1• PDD Generation, limited

1-2 HY09

3 – Release 1.1• Web Services, Web App, Data Sources 2HY9

4 – Release 1 24 Release 1.2• EJB, JCA, Web App, Web Services 2HY10 – Shipped ☺

Page 17: OTNVDD-JavaEEUpgrade

WebLogic SmartUpgrade – Download

Page 18: OTNVDD-JavaEEUpgrade

<Insert Picture Here>

SmartUpgrade - Best Practices

Page 19: OTNVDD-JavaEEUpgrade

Runtime – Java EE and Java SEWebLogic Server Oracle Application ServerWebLogic Server Oracle Application Server

5 05 0Java EEJava EE6.06.0Java SEJava SE

Java EE APIsJava EE APIs SupportSupport

1 4/5 01 4/5 0Java EEJava EE6.06.0Java SEJava SE

Java EE APIsJava EE APIs SupportSupport

√√Servlet 2.5Servlet 2.5√√JSF 1.2JSF 1.2√√JSP 2.1JSP 2.1

5.05.0Java EEJava EE

√√Servlet 2.4/2.5Servlet 2.4/2.5√√JSF 1.1JSF 1.1√√JSP 2.0JSP 2.0

1.4/5.01.4/5.0Java EEJava EE

√√JMS 1.1JMS 1.1√√JAXJAX--WS 2.1WS 2.1√√EJB 3.0EJB 3.0√√Servlet 2.5Servlet 2.5

√√JMS 1.1JMS 1.1√√JAXJAX--RPC 1.1RPC 1.1√√EJB 3.0EJB 3.0√√Servlet 2.4/2.5Servlet 2.4/2.5

√√√√JTA 1.1JTA 1.1√√JCA 1.5JCA 1.5√√JNDI 1.2JNDI 1.2

√√√√JTA 1.01JTA 1.01√√JCA 1.5JCA 1.5√√JNDI 1.2JNDI 1.2

√√Java EE Management 1.1 Java EE Management 1.1 √√Java EE Deployment 1.2Java EE Deployment 1.2√√JMX 1.2JMX 1.2

√√JDBC 3 0 √JDBC 3 0 √√√Java EE Management 1.0 Java EE Management 1.0 √√Java EE Deployment 1.1Java EE Deployment 1.1√√JMX 1.2JMX 1.2

√√JDBC 3 0 √JDBC 3 0 √√√JDBC 3.0 √JDBC 3.0 √ √√JDBC 3.0 √JDBC 3.0 √

Page 20: OTNVDD-JavaEEUpgrade

WebLogic ServerJava EE 5 Persistence Messaging and Web ServicesJava EE 5, Persistence, Messaging and Web Services

IdentityManagement

BusinessIntelligence

ContentManagement

SOASuite

WebCenterSuite

Java EE/ISVApps Management

SuiteIntelligence

SuiteManagement

SuiteSuite SuiteApps

FMW Applications/Frameworks

EJBBusiness POJOJSF/Servlet JMS JCAWebBusiness

LogicPOJOWeb 2.0 Messaging ConnectivityServices

ConnectionPooling

PersistenceInfrastructureTransactions

ProtocolHandling Security

WorkloadManagement

Middleware Administration Server

WebLogic Kernel – Reliability, Availability, Scalability, Performance

WebLogic Server

Page 21: OTNVDD-JavaEEUpgrade

OC4J Data Sources

• Standard data source

Oracle Application ServerOC4J Group

OC4J Instance

OC4J Instanceconnectivity

• Connection pooling with max, minR t k li lli

Instance Instance

Data SourceRAC Node 1-2

Data SourceRAC Node 1-2

• Retry, keep alive, polling …• For RAC, fast connection

failover capability

Connection Pool

Connection Pool

Oracle Process Manager and Notification

• OC4J connection pool wired to RAC cluster via Oracle Notification Service and RAC events

Oracle Notification Service

events• RAC integration transparent to

application

Oracle Database

Shared Storage

RAC Node 2RAC Node 1

Oracle Database

Page 22: OTNVDD-JavaEEUpgrade

WebLogic Data Sources

• Standard data source WebLogic Cluster

WebLogic DomainNode Manager

connectivity• Connection pooling with min, max• Death detection, retry, keep alive,

polling

g

Multi Data Source

ManagedServer1

ManagedServer2

polling …

• For RAC, multi data source capability

• An abstraction over multiple data

Data SourceRAC Node 1

Data SourceRAC Node 2

Connection Pool

Connection PoolAn abstraction over multiple data

sources for each RAC node• Applications use the multi data

source versus the underlying data source transparent to applications

Oracle Notification Service

source – transparent to applications• WebLogic load balances and

handles RAC node failure with XA support Shared Storage

RAC Node 2RAC Node 1

Oracle Database

Page 23: OTNVDD-JavaEEUpgrade

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 Graceful Planned Shutdown• Database Unplanned Shutdown• Database New Instance Rejoin

• Runtime Connection Load Balancing• XA Affinity for Connection Routing• SCAN Support• Data Guard Support

Oracle Database

RAC N d 2RAC N d 1

Ora

cle

Not

ifica

tion

Serv

ice

WebLogic ClusterWebLogic Domain

ManagedServer1

GridLinkData Sourcean

ager Datasource

RAC Node 2RAC Node 1Server1

ManagedServer2

Data Source

RAC AwareConnection

PoolNod

e M

a

RAC Node 4RAC Node 3

Ora

cle

Dat

abas

eSe

rvic

eRAC Node 4RAC Node 3

Page 24: OTNVDD-JavaEEUpgrade

Upgrade Strategy – Data Sources• Native Data Source

• No support of native/unmanaged data sources in WebLoigcServerServer• 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• 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.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 Requirementsg q

Page 25: OTNVDD-JavaEEUpgrade

OC4J JMS Infrastructure

JavaJava Java EEJava EEApplicationsApplications

Oracle Enterprise Messaging Service (JMS 1.1)

ApplicationsApplications

Oracle Containers for Java EE

In MemoryProvider

FileProvider

DatabaseProviderJMS Router JMS

Connector

Memory File Oracle AQRoutingPl bl

Connector

Queue 1PluggableJMS Providers

WebSphereMQ Tibco Sonic SeeBeyond WebLogicWebSphereMQ Tibco Sonic SeeBeyond WebLogic

Page 26: OTNVDD-JavaEEUpgrade

WebLogic JMS Message InfrastructureC, .NET Clients

ApplicationsSOASuite

Java EE/ISVApps

WebLogic Server JMS

Oracle AQIntegration

FilePersistence Bridging Database

Persistence

WebLogic Server

AQFile Bridge Database

Queue 1

WebSphereMQ Tibco Sonic OC4J JMS 1.1 Compliant

Page 27: OTNVDD-JavaEEUpgrade

Upgrade Strategy – JMS

• JMS Server config in OC4J – jms.xml, zero or one per OC4J instanceO i t t fil f t t d i t t fil f h d ti ti• 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 betweenEach 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 g at g a d st buted top c• 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 availableg p

Page 28: OTNVDD-JavaEEUpgrade

<Insert Picture Here>

Customer Case StudyUK Government Compary

• 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 AQWebLogic s foreign JMS server for AQ

• Works as advertised!

• Configuration at the server level (via a JMS module) rather than in deployment descriptorsdeployment descriptors

• XA data source recommended

Page 29: OTNVDD-JavaEEUpgrade

Upgrade Strategy – JMS Interop scenarios to WLSscenarios 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• No MDB 3.0, no XA, no Java2, SSO and subject propagation

• 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• 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 Ad tAdapter

• 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)

Page 30: OTNVDD-JavaEEUpgrade

Upgrade Strategy - EJB

OC4J Version CMP Provider Migration

Target Notes

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

Native (Orion) WLS CMP •Supported by SmartUpgrade

TopLink JPA•Same XML mapping file

or JPA annotations and XML

10.1.3 TopLink

TopLink JPA or JPA annotations and XML•Customer must migrate application logic

TopLinkPOJO-ORM

•Same XML mapping file or JPA annotations and XML

•Customer must migrate application logic

EJB 2.1TopLink BMP

• Same XML mapping file Minor Entity Bean changes with no

application code changes

T Li k CMP• Not supported by SmartUpgrade

TopLink CMPpp y pg

Page 31: OTNVDD-JavaEEUpgrade

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• possible namespace collision when upgrade to WLS from OC4J• using the “Global JNDI” feature in OC4J should not experience any

problems J li t i A li ti Cli tI iti lC t tF t• 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

Page 32: OTNVDD-JavaEEUpgrade

Upgrade Strategy – RMI/JNDI Interop scenarios to WLSscenarios to WLS

• OC4J Server remote connection to OC4J and WLS, Configure a remote JNDI conte t to se the WLS JNDI implementationremote 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" />)g y )

• OC4J Remote client making remote connections to OC4J and WLS, Config a remote JNDI context to use the WLS JNDI implementation.

S fl i JNDI i i f OC4J JNDI• 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

b h d OC4J d WLS)be shared across OC4J and WLS).

Page 33: OTNVDD-JavaEEUpgrade

Oracle Application Server Transaction ManagementManagement

JavaJavaClientsClients

Java EEJava EEApplicationsApplications

SpringSpringShips OC4J TX

Integration

Transaction Coordinator Transaction Recovery Manager

Global

Integration

Transactionrativ

es

(JM

X)

Tx Log(File or DB)

GlobalTransaction

Recoverable Last Resource Commit

Logging(Presume Nothing

Presume Abort)

Local Transactions TransactionInteroperability

Protocol EventNotification (JMX)A

dmin

istr

Ope

ratio

ns

Transaction Manager (JTA)

Oracle Containers for Java EE

Presume Abort)

Other OC4J Instances(Global, Local & Tx Propagation)

DB ResourceManager

3rd Party (JMS, DB…)Resource Manager (Global, Local & Tx Propagation)Manager

(Global, Local Tx)Resource Manager

(Global, Local Tx )

Page 34: OTNVDD-JavaEEUpgrade

WebLogic Transaction Management

JavaJavaClientsClients

Java EEJava EEApplicationsApplications

SCASCAApplicationsApplications

SpringSpringShips WLS TX

Integration

Transaction Coordinator Transaction Recovery Manager

Integration

rativ

es

(JM

X)

Global Transaction HA

Tx Log(Shared

Storage)

Adm

inis

trO

pera

tions Global

Transaction

Server InterposedTransaction Manager

Logging LastResource Transaction

Local Transactions Transaction HAService/Server Migration

Inter DomainTransactions

WebLogic Transaction Service (JTA/JTS)

WebLogic Server

Storage)

DB ResourceManager

Other WLS Instances(Global, Local & Tx Propagation)

3rd Party (JMS, DB…)Resource Manager

3rd Party (Vitria BW…)Transaction ManagerManager

(Global, Local Tx)(Global, Local & Tx Propagation)Resource Manager

(Global, Local Tx )Transaction Manager(JTS Tx Interoperability )

Page 35: OTNVDD-JavaEEUpgrade

OC4J Web Services Infrastructure

HTTPHTTPSOAPSOAP

HTTPHTTPRESTREST

Web Services ManagementASControl

Web Services DevelopmentWith JDeveloper

Service Infrastructure (SCA)Service Infrastructure (SCA)

WS- WS- A diti L iA t

W b S i JAX BAtt h t

WSSecurity

WSReliability Auditing LoggingAgent

Declarative QoS - Web Services Interoperability Infrastructure (WS-*)

Oracle Containers for Java EE

Web ServicesMetadataJAX-RPC JAX-B

Data BindingAttachment

(MTOM/SwA) JAX-R

Web Services Java Programming Model – Java EE

WSIF

Oracle Containers for Java EE

Page 36: OTNVDD-JavaEEUpgrade

WebLogic Web Services Infrastructure

JMSJMSSOAPSOAP

HTTPHTTPSOAPSOAP

HTTPHTTPRESTREST

Web Services Management& Web Services Manager

Web Services DevelopmentWith JDeveloper & Eclipse

WS-Security SAML

WS-Reliable

MessagingBuffered

Web ServicesAsynchronousWeb Services

ConversationalWeb Services

XMLCatalog

JAX-WSJAX RPC

JAX-BData Binding

Attachment(MTOM/SwA) JAX-R

Messaging

Declarative QoS - Web Services Interoperability Infrastructure (WS-*) – Built In

WSIF

WebLogic Server

CatalogJAX-RPC Data Binding(MTOM/SwA)Web Services Java Programming Model – Java EE

Page 37: OTNVDD-JavaEEUpgrade

SmartUpgrade Web Services Migration

• Pojo based web services, including • Bottom-up and Top-down

• EJB based web services• EJB2, EJB21, EJB30

• Stateful Webservices• Stateful Webservices• SOAP Handlers• SOAP AttachmentsSOAP Attachments• WS- Security

• WSS-UNT

• MTOM• Stub-based web service clients

Page 38: OTNVDD-JavaEEUpgrade

For more information

O l F i Middl U d C tOracle Fusion Middleware Upgrade Center:

http://www.oracle.com/technetwork/middleware/upgrade-092995.html

Page 39: OTNVDD-JavaEEUpgrade