Upload
cesar-perez-avilez
View
78
Download
0
Embed Size (px)
Citation preview
Oracle Application Server Containers for Java EE to Oracle WebLogic Server Frances ZhaoFrances ZhaoOracle WebLogic Server Product Management
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.
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
Oracle Fusion Middleware
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
Upgrade Paths at a Glance
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
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
<Insert Picture Here>
SmartUpgrade
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
<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
<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
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
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
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
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 ☺
WebLogic SmartUpgrade – Download
<Insert Picture Here>
SmartUpgrade - Best Practices
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 √
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
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
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
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
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
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
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
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
<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
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)
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
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
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).
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 )
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 )
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
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
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
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