Oracle Exalogic Elastic Cloud: Advanced I/O Virtualization ...
WebLogic Suite & Exalogic Deep Dive Oracle Partner iDay · 2011-08-08 · #1 in Performance AND...
Transcript of WebLogic Suite & Exalogic Deep Dive Oracle Partner iDay · 2011-08-08 · #1 in Performance AND...
WebLogic Suite & Exalogic Deep Dive
Oracle Partner iDay
Jeffrey West
Application Grid Product Management
2
Oracle StrategyHardware and Software Engineered to work Together
• Deliver a complete, open,
integrated stack of hardware,
infrastructure, database, middleware,
and business applications
• Exploit processor, systems, storage,
and networking trends to deliver
breakthrough innovations by
combining Oracle software with Sun
hardware
• Integrate components of Oracle‟s
software stack to provide unique
value to customers
2
3
• Comprehensive foundation for building
and running custom and packaged
applications
– Extremely well integrated
– Industry-leading reliability and performance
– Unified development and management
– Basis for Oracle Fusion Applications
• Built with and for Java technology
Middleware and Java in Oracle’s Strategy
4
Application Server Platform at OracleStrategically Centered Around WebLogic Server
Most complete platform for
cloud
#1 in Performance AND time-to-market
Best integration with Oracle
stack
GlassFish Coherence
Java SE
Enterprise Management
Developer Tools
WebLogicServer
Custom App
Packaged App
SOA Service
CloudService
FMWService
Cloud Application Foundation
5
WebLogic Areas of Focus
• Seamless install, upgrade, patching, provisioning, diagnostics across Fusion Middleware and Fusion Applications
LifecycleManagement
• Mission critical database, messaging, security, Web, services, caching, transactional middleware infrastructure
Enterprise Runtime Services
• Formalized large scale, HA operations, virtualization, Exalogic and Cloud solutions
Platform Operations
• Standards based, highly productive Java development with Java EE 6
LightweightApplication
Development
7
WebLogic Suite Product UpdateRolling Updates in 11g R1 Patchsets
• Developer Experience
• Active GridLink for RAC
• Messaging
• ActiveCache
• Virtualization
• Operations
• Exalogic Elastic Cloud
32 1
April 2010
Dec 2010
Jan 2011
PartitionedDistributed
Topics
Assembly Builder
Flight Recorder,
EM 11g
Hardware/Software
Optimized
WebLogicRAC
IntegrationJan 2011
Spring/Java EE 6
Jan 2011
April 2010
CoherenceIntegrationApril 2010
9
Messaging
• WebLogic JMS
Extensions
• JMS Performance
• Foundation for FMW
Interoperability
• JMS C/Net Client
Performance
• SPECjAppServer
Benchmarks
• SPECJBB Benchmarks
• Multiple Vendors &
Topologies Supported
• Jrockit Real Time
• ExaLogic
Optimizations
Persistence
• TopLink & EclipseLink
• Transaction Manager
• High Performance
Diagnostics
• WebLogic Diagnostic
Frameworks
• JRMC & JRFR
• EM 11g Java Advanced
Monitoring
Development
• Fast Swap
• OEPE
• Netbeans
• Web Services
Advanced: Buffered,
Asynchronous,
Conversational, JMS
transport
• Assembly Builder
• ZIP Distribution
• Mac OS Support
High Availability
• Web Tier & HW LB
• Side by Side
Deployments
• Whole Server Migration
• Service Migration
• Rolling Upgrade
• Data Guard
Certification
• RMAN Certification
Operations
• WebLogic Console
• WLST & Recording
• WebLogic Templates
• WebLogic Configuration
Wizards
• Vertical & Horizontal
• Self Tuning (WebLogic
& Jrockit)
• OVF Deployer/Control
• Cloud Management
Pack
Leveraging
Open Source
• Spring Integration
• JPA Integration
• Active Cache for JPA
(2nd level cache)
WebLogic Suite Unique FeaturesFeatures available on WebLogic
11
Messaging InfrastructureFoundation JMS for Java EE, SOA and Applications
WebLogic Server JMS
Oracle AQ(OFM 11)
AQFile
FilePersistence
Bridging
Bridge
DatabasePersistence
Database
C, .NET Clients
ApplicationsSOASuite
Java EE/ISVApps
WebLogic Server
Store and Forward
SAF
12
Messaging InfrastructureDesigned to Scale to the Most Complex SOA Integrations
• Unit of Order– Messages tagged with same Unit of Order (UOO)
are processed in order
– Stronger ordering semantics than the JMS specification
• Unit of Work– Messages are grouped with a group identifier
– Messages at final destination become available only when entire group arrives
• Store and Forward Messaging
– Store messages on local server and forward to remote server when available
– Store and forward for clients to server and server to server
• Distributed Destinations– All queues and topics in a cluster appear as a
single logical destination to clients
– Provides high availability and scalability; parallel processing and load balancing
1 2 3 4 5 6 7 8 9
MDB 1 MDB 2 MDB 3
Messages red and grey have separate UOO
Message 3/4 not processed until 1/2 processed
Producer 2
1
3 MDB 2
MDB 1
MDB 323 1
WebLogic Cluster
JMS Server JMS Server
JMS Server JMS Server
Client
LogicalDestination
WebLogicForward when Target Available
WebLogic
JMS ServerJMS Server
13
Messaging InfrastructurePerformance: Meets the Most Rigorous Throughput Req
• WebLogic 10 JMS is fast
– Up to 10X faster than previous WLS
releases
– Re-written file store and disk scheduling
extremely fast
– Database integration optimized with JDBC
and batching optimizations
• WebLogic JMS consistently beats
pure plays
– Synchronous writes 3X-6X faster than
competitors
– Message size 25%-4X faster for messages
between 1K->512K than competitors
0
1000
2000
3000
4000
5000
6000
7000
1 2 4 8 16 32 64
WL 100byte EMS 100byte
WL 4K EMS 4K
0
200
400
600
800
1000
1200
1400
0001
K
0002
K
0004
K
0008
K
0016
K
0032
K
0064
K
0128
K
0256
K
0512
K
1024
K
WL Persist EMS Persist
Persistent Queuing
Persistent Message Versus Size
Oracle Confidential
14
Cluster
Server 1 Server 2 Server 3
MDB / Consumer
MDB / Consumer
MDB / Consumer
jms-server-1 jms-server-3jms-server-2
DT Member1
DT Member2
DT Member3
JNDI: jms/MyApp/Queue1
Connection
Factory
MessagingWebLogic Partitioned Distributed Destinations
Publish
1
23
• Distributed Destination is created with physical memberson each server and accessed with a global JNDI Name
• Messages sent to an individual Member topic are NOT forwarded to other members
• Each MDB pool on a single server receives a copy of the message
Subscription SubscriptionSubscription
15
MessagingOracle AQ JMS Integration
• Enables migration and interop with AQ JMS apps
• Leverages new JNDI provider in AQ JMS client
• Uses standard WebLogic integration features
– Foreign JMS Servers, JDBC Data Sources, MDBs
• Fully supports JTA transactions
Oracle FMW 10gR3
OC4J/OAS, BPEL PM, SOA Suite…
AQ JMS
OC4J JDBC
Oracle AQ
DBMS Store
Oracle FMW 11gR1
WLS, BPEL PM, SOA Suite…
AQ client
JNDI provider
WLS JDBC
Foreign AQ
ServerMDBMDB
17
Persistence ServicesHigh Performance Transaction Manager
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 (
JM
X)
Global
Transaction
Server Interposed
Transaction Manager
Logging Last
Resource Transaction
Local TransactionsTransaction HA
Service/Server Migration
Inter Domain
Transactions
18
Persistence Services InfrastructureIntegrated with Eclipse Java Persistence Platform - TopLink
Eclipse Java Persistence Platform
JavaOSGI
ApplicationsSpring
DatabaseWeb Services
XMLRelational
SDOEISOXM
(JAXB)ORM(JPA)
JDBC JCA
XML Data Packaged Apps Legacy SystemsDatabases Data Hub
WebLogic Server
Coherence
19
WebLogic and RACHighest Availability and Performance
• Long History, Wide Adoption
• Highest Availability
– For Mission Critical Applications
– Transaction Recovery
– Fast Connection Failover
• Highest Performance
– Load Balancing
– Connection Affinity
• GridLink Data Source
– Easier Configuration for RAC
Oracle RAC Cluster
RAC Instances
RAC 1 RAC 2 RAC 3
WebLogic Cluster
ORACLE RAC Cluster
20
Complete Resiliency with WebLogic Server Active GridLink for RAC
WebLogic Cluster
WebLogic Domain
Managed
Server1
Active GridLink
Data Source
Managed
Server 2
ConnectionPool
Datasource
Oracle RAC Database
RAC Node 2RAC Node 1
RAC Node 4RAC Node 3
RAC Node Taken Offline!
No Service Interruption!
What will happen with WebLogic
applications when a RAC Node is taken
offline?
• No user downtime
• Zero wait time for WebLogic connection
recovery
• Connect pool automatically and rapidly
rebalances
• No application changes required
21
RAC Instance
Connections
for RAC Node 3
Oracle WebLogicData Source
Connection Pool
Notification Service
Oracle WebLogic
Server
Notification Service
Oracle RAC
Server
Connections
for RAC Node 2
Connections
for RAC Node 1
Channel for RAC Node Status Notifications
ThinJDBC
RAC 1
RAC 2
RAC 3
High Utilization
on RACNode 1
WorkloadBalancedAcrossCluster RAC Instance
Connections
for RAC Node 3
Oracle WebLogicData Source
Connection Pool
Notification Service
Oracle WebLogic
Server
Notification Service
Oracle RAC
Server
Connections
for RAC Node 2
Connections
for RAC Node 1
Channel for RAC Node Status Notifications
ThinJDBC
RAC 1
RAC 2
RAC 3
Active GridLink: Runtime Connection Load
Balancing
90%
5%
40%
35%
25%
5%
22
RAC Instance
Pool Entries
for RAC Node 3
Oracle WebLogicData Source
Connection Pool
Notification Service
Oracle WebLogic
Server
Notification Service
Oracle RAC
Server
Pool Entries
for RAC Node 2
Invalid Entries
for RAC Node 1
Channel for RAC Node Status Notifications
ThinJDBC
RAC 1
RAC 2
RAC 3
RACNode 1failurecauses
connectionscleaned
In WebLogicConnection
Pool RAC Instance
Pool Entries
for RAC Node 3
Oracle WebLogicData Source
Connection Pool
Notification Service
Oracle WebLogic
Server
Notification Service
Oracle RAC
Server
Pool Entries
for RAC Node 2
Invalid Entries
for RAC Node 1
Channel for RAC Node Status Notifications
ThinJDBC
RAC 1
RAC 2
RAC 3
X
Active GridLink: Fast Connection FailoverConnecting WebLogic Server to Oracle RAC
23
RAC Database
Instance1
Instance2
Instance3
Web Logic Connection Pool
Affinity Context
Connection
Active GridLink: Web Session AffinityConnecting WebLogic Server to Oracle RAC
Connect to me!
Servlet
EJBData
Source
Data
Source
Data
Source
OracleAS Containers
for J2EE
JSP
Application
24
RAC Instance
Notification Service
Oracle RAC
Server
RAC 1
RAC 2
RAC 3
Enable XATransaction
Affinity
RAC Instance
Notification Service
Oracle RAC
Server
RAC 1
RAC 2
RAC 3
Oracle WebLogic Servers
WebLogic Instance1
WebLogic
Conn
Pool
WebLogic 1
App 1
State
WebLogic Instance2
WebLogic 2
WebLogic
Conn
Pool
App2
State
Oracle WebLogic Servers
WebLogic Instance1
WebLogic
Conn
Pool
WebLogic 1
App 1
State
WebLogic Instance2
WebLogic 2
WebLogic
Conn
Pool
App2
State
XATXN
XATXN
AffinityContext
Active GridLink: XA Transaction AffinityConnecting WebLogic Server to Oracle RAC
26
WebLogic: Developers ExperienceDeveloper Friendly Operations Platform
• Best server tools integration
– Ant and Maven support, classloadinganalysis tool (CAT)
• Delivered on most popular developer platform
– New Mac OS X developer support ; ongoing OEPE Eclipse/JDeveloper releases
• Simple developer installation
– New zip distribution
• Early standards adoption
– Updating Java EE 6 Core API – JPA 2.0, JSF 2.0, JAX-RS
– New Java SCA support – integrated with SOA SCA
– Full Java EE 6 in next major release
• Latest open source support
– Updating to Spring 3.0
• Fusion Middleware Development
– ADF
SCA
27
WebLogic: Developers ExperienceEasy Access: NEW ZIP INSTALLER
• Make it easier to get and use WLS!
• New zip file distribution
• Complete version of WebLogic Server
• Missing some very minor tooling support
(SmartUpdate)
• Download, unzip, go
• Portable, platform independent
• Automatic domain creation on startup
• Mac OS X support!
28
WebLogic 10.3 Development FeaturesEnhancements from prior WebLogic versions
• Focused on improving developer productivity
– Fast turnaround times
• WebLogic 10.3 Console performance
– 2x-3x improvements over WebLogic 9.2/10.0
• WebLogic 10.3 Deployment and startup
– For example, EJB compilation improvements
• Optional service startup
– Start WebApp container w/o EJB, JMS, JCA
– Precursor to Java EE Web profile
• FastSwap
– WebLogic Server 10.3 development option
– Bypass typical edit > build >deploy > test cycle
– Execute modified code immediately after recompile
– No reboot, redeploy, no loss of application state
– Change code, refresh browser, view results
Develop Deploy
Accelerate Development
Cycle
Debug
Reduce Time to
Develop/Test
29
WebLogic Spring IntegrationOngoing Spring Support
• Develop/deploy Spring apps to WebLogic
– Supported for multiple WebLogic releases
– Integration features to host Spring applications
– Simplified config w/Spring pre-configured beans
• Leverage WebLogic in Spring apps
– Datasources, JMS, Work Managers
– Clustering
– Transactions
– Monitoring
– Management
– Automation
• Oracle Enterprise Pack for Eclipse Support
– Spring IDE, DAO generation, Facets
– Generate JAX-WS from bean
– Validate Spring config file
– Easy project configuration and library mgmt
– Graph view for relationship among Spring Beans
WebLogic Cluster/Domain
WebLogic Admin Server
WebLogic Console
Managed Server
Spring Apps
Java EE
Managed Server
Spring Apps
JEE
30
Choice of IDE Solutions
• JDeveloper– Complete IDE for Fusion Middleware and Oracle
– Oracle ADF, SOA, WebCenter, Database etc.
– WebLogic support
• Oracle Enterprise Pack for Eclipse (OEPE)– Best of breed Eclipse bundle focused on Java Development
– Rich capabilities for WebLogic Java EE developers
• NetBeans– Open Source and tooling for Java RIs
– WebLogic and generic Java platforms (SE, EE, ME, JavaFX)
• Many other IDEs support WebLogic
– Support not as rich as JDeveloper, OEPE
32
Transaction Log Persistence to RAC
• WebLogic historically has managed transaction state using a „tlog‟ file on a filesystem
• In order to recover transactions from a failed Server you had to migrate the filesystem or use shared storage
• WebLogic now offers the ability to maintain transaction logs in the database
• An HA database solution like Oracle RAC is strongly recommended
Oracle RAC Cluster
RAC Instance
RAC 1 RAC 2 RAC 3
WebLogic Server
ORACLE RAC Cluster
Transaction Logs
33
High AvailabilityBuilt in HA Infrastructure
UnplannedDowntime
PlannedDowntime
HA
Side by Side DeploymentDeploy Apps
Rolling UpgradeUpgrade
Online OperationsReconfigure
Load Balancing, ClusteringService/Server MigrationSW Failure
Backup and RecoveryData Failure
Disk Replication and Data Guard
DisasterRecovery
ClusterwareHW Failure
34
ORACLE RAC
WebLogic HA Web Topology
WLS Cluster
WLS Cluster
WLS Cluster Oracle DB
Oracle DBApacheServeror OHS
ApacheServeror OHS
Node Mgr
Node Mgr Node Mgr
Administration Server
FW-1LB-1
FW-2
DMZ Intranet
Internet
Node MgrDesktop
X
X
X
X
35
HA with Web Tier Load BalancingSurviving a Failed HTTP Server
• Load balancing– Round robin
• Supported Web servers– IIS, SunOne, Apache
• Multi-machine cluster aware• Uses HTTP piggy backing
• Failure aware• Failed WLSs removed from cluster
• Restarted WLSs added to cluster
• Routing– Static routing
• Lightweight solution– HTTPClusterServlet hosted on a
WebLogic instance
WebLogic Cluster
…
WebLogic Server
Node Manager
WLS1
JVM
WLSn
JVM
Apache Server
HTTP Server
mod_wl
36
ClusterManagedServer 1
Domain
ManagedServer 2
HA with WebLogic State ReplicationSurviving a Failed WebLogic Server
WAN State Replication
MAN State Replication
Global Load
Balancer
Local Load Balancer
Local LoadBalancer
Cluster 1
State 1
State 2
Cluster 2
State 3
State 4
Global Load
Balancer
Local Load Balancer
Local LoadBalancer
Cluster 1
State 1
State 2
Cluster 2
State 3
State 4
State 1
State 2
Domain StateReplication
In Memory or Database BackedAsynch or Synch
In Memory Database BackedAsynch
Load Balancer
37
HA with WebLogic Clustered JNDISurviving a Failed WebLogic Server
• Clusterable objects include EJB, JDBC, JMS, Custom Objects
• Each server creates and maintains a local copy of cluster wide JNDI tree
Managed WLS 1
Object X
A C
Managed WLS 1
Object X
A C
Managed WLS 1
Object X
A C
Managed WLS 1
Object X
A C
IP Unicast
38
HA with WebLogic GridLink Data SourcesSurviving a Failed Oracle RAC Node
RAC Instance
DS3 Pool for RAC Node 3
WebLogic Multi Data
Source
OracleWebLogic
Server
Oracle RAC
Server
DS2 Pool for RAC Node 2
DS1 Pool for RAC Node 1
RAC Instance
WebLogic Multi Data
Source
OracleWebLogic
Server
Oracle RAC
Server
ThinJDBC
ThinJDBC
RAC 1
RAC 2
RAC 3
RAC 1
RAC 2
RAC 3
XRACNode
FailureCauses
DataSource to
Load Balance
ToSurviving
Pools
DS3 Pool for RAC Node 3
DS2 Pool for RAC Node 2
DS1 Pool for RAC Node 1X
39
HA for JMS Infrastructure
Continued ability to send and receive
messages
Distributed
Destinations
All messages sent are processedWhole Server and
Service Migration
Seamless client failoverAutomatic
Reconnect
Continued ability to send when no remote
servers are available
Store and Forward
Client SAF
40
HA with Whole Server MigrationApplication and Resource Recovery with Continuous Capacity
• Automatic migration of failed servers within a cluster
• Effectively a server restart and recovery on another
machine
Domain
Machine 3Machine 2Machine 1
AdministrationServer
Managed WLS 2
Resources 2
Managed WLS 3
(Cluster Master)
Resources 3
Database or Consensus Leasing Storage Area Network
SpareCapacity
Managed WLS 2
Resources 2
Detect Failure
MigrateServer
Managed WLS 2
Resources 2
WebLogic Cluster
41
HA with Service MigrationResource Recovery with Fast Recovery
• HA for singleton services
• Restart and recover services on another running server
in the cluster
Domain
Machine 3Machine 2Machine 1
AdministrationServer
Managed WLS 2
Resources 2
Managed WLS 4
Resources 4
Managed WLS 3
(Cluster Master)
Resources 3
Resources 2
Detect Failure
MigrateService
Managed WLS 2
Resources 2
Storage Area Network
WebLogic Cluster
Database or Consensus Leasing
42
HA with Side by Side DeploymentZero Application Downtime
• Newer version of application deployed side-by-side with older version in same JVM
• Clients already connected continued to be served by older version
• New clients connect to newer version
• Test versions before opening up to users
• Rollback to previous versions
• Automatic retirement – graceful or timeout
Managed WebLogic Server
Single Java VM
ApplicationVersion
One
Existing ExternalClient
Connections
New External Client Connections
When Activated
ApplicationVersion
Two
Internal ClientConnections
Test First inAdministrative Mode
43
HA with Rolling UpgradeZero Server Infrastructure Downtime
• Upgrade a running cluster with a
patch, maintenance pack, or minor
release without shutting down the
entire cluster
• During the rolling upgrade of a
cluster, each server in the cluster is
individually upgraded and restarted
while the other servers in the cluster
continue to host your application
• You can also roll back the patch,
maintenance pack, or minor release
in a similar fashion
IP
Unicast
Node 3
Managed Server
Node Mgr
App 1
Node 4
Managed Server
Node Mgr
App 1
Node 1
Managed Server
Node Mgr
Node 3
Managed Server
Node Mgr
App 1
Maint Pack x.y Maint Pack x.y
Maint Pack x.y Maint Pack x.y
App 1
44
Fusion Middleware
Backup and RecoveryCertified Solution Based on Disk Replication
• Simple solution based on file
system copy for middle-tier
components
• Use RMAN for Oracle
Database
• Support for online backups
• Can integrate with existing
Backup/Recovery tools
• Can be scheduled through
Enterprise Manager or cron
jobs
Backup Storage
LDAP,Policy,
CredentialData
ApplicationData
Metadata ExternalFiles
WebLogic Middle TiersOracle Binaries
Exploded Archives
ApplicationData
45
Disaster RecoveryDisk Replication Certified with Data Guard
Standby SiteDNS
DiskReplication
Data Guard
WebLogic
Domain
BPEL
Web Center
Rules
ESB
BPEL
Bus Intelligence
ADF
ESB Configuration Files
Application Code & Patches
Software Binaries
Primary Site
WebLogic
Domain
BPEL
Web Center
Rules
ESB
BPEL
Bus Intelligence
ADF
ESB Configuration Files
Application Code & Patches
Software Binaries
47
ActiveCacheCoherence Operations and Administration with WebLogic
• Install integration Coherence installable as part
of WebLogic Server distribution
• WebLogic Server and Coherence
management integration Configuration of Coherence clusters
from console or WLST
Monitoring of Coherence clusters
from console
Lifecycle management for application
scoped Coherence clusters
WebLogic Server/Coherence
logging integration
• WebLogic Server and Coherence
runtime integration Programming model integration with
annotations
WebLogic JNDI integration with
Coherence Caches
WebLogic Domain
Node Manager
WebLogic Cluster 1
WebLogic+Coherence
Storage Disabled 1
WebLogic+Coherence
Storage Disabled 2
WebLogic Cluster 2
WebLogic+Coherence
Storage Disabled 1
WebLogic+Coherence
Storage Disabled 2
Coherence Cluster
Coherence Storage
Enabled Cache 1
Coherence Storage
Enabled Cache 2
Common Management, Configuration, Scripting …
48
ActiveCacheWebLogic Suite 11g & Coherence * Web
“Standard” WebLogic
Server HTTP session
replication
“Optimized” HTTP
session replication
option with WebLogic
49
Distributed Level 2 JPA Entity CacheWebLogic Suite 11g & TopLink Grid
1. Queries are performed using
JPA em.find(..) or JPQL.
2. A find() will result in a get()
on the appropriate
Coherence cache. If found,
Entity is returned.
3. If get() returns null or query is
JPQL, the database is
queried with SQL.
4. The queried Entities are put()
into Coherence and returned
to the application.
50
Write-Behind JPA Entity CachingWebLogic Suite 11g & TopLink Grid
1. An application commits a
transaction with new Entities
or modifications to existing
Entities.
2. EclipseLink put()s all new
and updated Entities into
Coherence.
3. If a CacheStore is
configured, Coherence will
synchronously or
asynchronously write the
changes to the database,
depending on configuration.
51
Complete Database Entity OffloadWebLogic Suite 11g & TopLink Grid
1. Queries are performed using JPA em.find(..) or JPQL.
2. JQPL will be translated to a Coherence Filter and used to query results from Coherence. A find() will result in a get() on the appropriate Coherence cache.
• The database is not queried by EclipseLink.
• If Coherence is configured with a CacheLoader then a find() may result in a SELECT, but JQPL will not.
53
WebLogic Server Management Pack EEComplete management for all WebLogic Servers
• Business Transaction Management
– Discovery of transaction flows across
the enterprise
– Leverages transaction content/payload
for business visibility
– Exception Management
• Performance & Diagnostics
– Enterprise scale multi-domain
management
– Improve performance and availability of
Java EE and SOA applications
• Lifecycle Management
– Manage configuration changes
– Automated deployment procedures to
clone and scale-up applications
Performance & Diagnostics
Lifecycle Management
Business Transaction
Management
Production Test
Development
54
OperationsConfiguration Management
Node Manager
AS Control asctl JMX
Client
Grid Control
WebLogic Administration Server
Enterprise Manager WLST(Scripting)
JMX Client
DiagnosticsMonitoringWorkload
ManagementLogging Performance
LifecycleManagement
ResourceConfiguration
DeploymentWeb ServicesManagement
Security Configuration
WebLogic AdministrativeConsole
55
OperationsOnline, Offline, Batch Configuration Model
• Cluster configuration
– Target cluster or individual nodes
• Lock and edit
– Maintain administrator isolation
– Batch update or rollback
– Optional developer mode
• Online/offline configuration
– Over a thousand parameters can
be changed live
– Configuration can be changed
offline
Administration Server
WebLogic Domain
Managed Server 1
Managed Server 2
Managed Server 2
Cluster 1
Managed Server 4
Managed Server 5
Managed Server 6
Cluster 2
Node Manager
56
Cluster Deployment Using Standard Clients
and Packaging
Development Tools
WLST, weblogic.Deployer, Ant & Maevn
WebLogic Administration Console
Java EE Deployment
Plan (JSR 88)
Java EE EAR File
app1.jar
app2.war
app.rar
JSR 88Deploy Plan
weblogic-web.xml
weblogic.xml
weblogic-ejb-jar.xml
Java Artifacts –
EARs, WARs, RARs JARs
JDBC, JMS, WLDF
Shared Libraries
Deploy to Individual Nodes or Clusters
WebLogic Cluster
WebLogic Domain
Node Manager
Managed
Server 1
Managed
Server 2
Managed
Server 3
58
WebLogic Scale Out with Application
Isolation
• Isolation by application by machine
within domain
– Deploy applications to their
own servers
– Administration server on its
own server
– Each managed server on its
own physical server
• Isolation of single application per
domain
– Each application gets its
own domain
– Administration server on
its own server
– Each managed server
on its own physical
server
Machine 1
WebLogic Domain
Administration Server
Node Mgr
Machine 2
Managed Server
Node Mgr
Machine 3
Managed Server
Node Mgr
App 1 App 2
Machine 1
WebLogic Domain
Administration Server
Node Mgr
Machine 2
Managed Server
Node Mgr
Machine 3
Managed Server
Node Mgr
App 1 App 1
59
WebLogic Scale Out Vertically and
Horizontally
• Scale out vertically
– Multiple managed servers
for each application for
each machine
• Scale out horizontally
– Multiple machines each
with multiple managed
servers
• Cluster replication scheme
considers location in determining
secondary servers
WebLogic Domain
Machine 1
Administration Server
Node Mgr
Machine 2
Managed Server
Node Mgr
Machine 3
Managed Server
Node Mgr
App 1 App 1
Managed Server
App 1
Managed Server
App 1
60
Automation with Domain Templates
• Configuration Wizard and Domain Template Builder
– GUI/scriptable tool to generate templates from existing domains
– Scriptable with WLST to clone domains to multiple environments
• Fusion Middleware Templates Out of the Box
– SOA, WebCenter, Identity …
ManagedServer 1
Domain
ManagedServer 2
App 1
App n
Res n
Res 1
ManagedServer 1
Domain
ManagedServer 2
App 1
App n
Res n
Res 1
ManagedServer 1
Domain
ManagedServer 2
App 1
App n
Res n
Res 1
ManagedServer 1
Domain
ManagedServer 2
App 1
App n
Res n
Res 1
…
Domain Template Builder
Build Template of Domain
Env 1 Env 2 Env n
61
Lifecycle Management & OperationsWebLogic & Coherence Server Lifecycle Management
• Define Coherence and
WebLogic clusters
using WebLogic Admin
Console, WLST and
Domain Templates
• Easily configure and
start Coherence
servers and clusters
remotely
62
WebLogic Server DiagnosticsEnterprise Manager Diagnostics Pack
• Development Staff: JRockit
Mission Control
– JVM diagnostics for JRockit
– Memory, thread, latency analysis
–
• Operations Staff: Application
Diagnostics for Java
– JVM Diagnostics for Sun, HP, IB
– Memory, thread, latency analysis
– From server through to database
• Server Infrastructure: WebLogic
Diagnostics Framework
– Built into WebLogic Server
– Java EE specifics
63
OperationsWebLogic Diagnostics/JRockit Flight Recorder Integration
WLDF PropagateEvents
TriggerBuffer Capture
• JRockit Flight Recorder
– Powerful tool for post-incident
analysis
– Capture events in circular buffer
– Low overhead
– Persist buffer to disk
– Analyze in JRMC GUI
• WLDF acts as event producer
– Events stored in buffer
• WLDF-driven buffer capture
– Based on WLDF Watch rules
• JFR file in WLDF Image
– Integrated snapshot
Flig
ht
Reco
rdin
g
Capture in WLDF Image
JRMC GUIJFR FileWLDF Image
65
PerformanceJava App Server Designed to be Tuned for Maximum Performance
OHSApache
Apache Listener
Request Queues
OC4JWebLogic Server
DB Pool Mgr
Connection Queue
Database Listener
DB Internal Q
RDBMSRDMS
HTTPListener
RMIListener
Web Client OHS Servlet EJBDataSourceConnection
PoolDatabase
66
Self TuningWork Managers: Built-In Self Tuning
Network Socket Handlers(“Muxers”)
Asynchronously dispatched workfrom WebLogic kernel, subsystem,or application
Request Queue
Self TuningThread Pool
1. Monitor rate ofrequest processing
2. Adjust thread poolsize accordingly
• Active• Standby• Stuck• Hogging
67
App Server Performance LeadershipContinued Focus on Best Results, Lowest Resources
Application Server Platform/CPU/Cores
SPECjApp
Server2004
JOPS@Standard
Server
NodesDate Result
SPARC Enterprise T5440 SPARC T5440, 160 cores
28,648 5June
2010World Record, Multi-Node
Cisco UCS B230 M1 Xeon 7560, 32 cores
11,283 2Sept
2010World Record, Dual Node
HP ProLiant DL980 G7
Xeon X7560, 64 Cores20,092 1
Sept
2010World Record, Single Node
HP Proliant BL460c Xeon X5570, 24 Cores
11,067 3Jan
2010World Record, Multi-Node RAC
Dell PowerEdge R810Xeon 7560, 16 cores
5,739 1May
2010Best on One Processor
Best Multi-Node Result
Best on RAC Result
Best Dual Node Result
Best Single Node Result
Best on One Processor Result
See: http://www.spec.org/jAppServer2004/results/
68
JRockit JVM PerformanceRunning on the World’s Fastest Java VM
• Complete implementation of Java
– 100% compatible with the Java SE and ”bug
compatible” with the Sun Java implementation
• Underpins Oracle Fusion Middleware product
stack
– One-stop shop for support issues
– Optimized stack
• Architected and optimized for server-side
Java
– High Performance
– Typical benefit is ~20% over Sun Java VM
based on benchmarking
– Customer feedback & surveys
* Oracle JRockit has been used for all world record SPECjbb2005 publications since Q2 2006. Best results based on Sun, JRockit and IBM as of
September 8, 2008 are (bops/bops per JVM): Sun Fire E25K (2105264/29240), SGI Altix 4700 (5180451/80945), IBM Power 595 (3435485/107359).
For full details see http://wws.spec.org. SPEC and SPECjbb2005 are trademarks of Standard Performance Evaluation Corporation.
0
50000
100000
150000
200000
250000
2P Opteron 2220 4P Opteron 885 2P Intel X5355
SP
EC
jbb
2005 b
op
s
Sun JVM
JRockit JVM
Response times (DC1)
0
10
20
30
40
50
60
70
80
90
100
110
120
130
140
0 200 400 600 800 1000 1200 1400
Time (s)R
esp
on
se t
ime (
ms)
JRockit Sun
69
JRockit PerformanceJRockit Real Time: With Near Zero Application Pause Times
• Guaranteed maximum response times
– Java EE applications consistently under 100ms pause times
– Java SE tuned can be single-digit ms pause times
• Deterministic QoS under heavy load
– No code re-writes
• Remove weeks of tuning with simple declarative setting
– Deterministic setting
– Pause time target
Traditional Java VM – Stop the World Pauses
JRockit - < 10 ms Pause
71
Extreme Java EE PerformanceThe power of the Oracle Exalogic Elastic Cloud
2-3X improvement
in Database OLTP
60% more
Java Operations/sec.
– Run-time connection
load balancing
– JDBC over SDP
– Enhanced buffer
handling for InfiniBand
– Optimized multi-core
scheduler
– Cluster IPC
multiplexing over SDP
– Scatter-gather IO
0
50
100
150
200
250
Update Insert Delete
Tx/S
ec
(Higher is better)
Standard WebLogic Server GridLink for Exadata
0
50
100
150
200
250
300
350
400
450
CreateWS Purchase Manage Browse
(Lower latency is Better)
Standard Platform Exalogic
Up to 10X faster
response time
Copyright © 2011 Oracle Corporation - Proprietary and Confidential
72
InfiniBand Performance AdvantageUp to 12x Performance
• Network IO is critical
– #1 limiting factor for application
performance and scale
• Eliminate buffer copies
– From four to zero
• Use larger packet size to
reduce network overhead
– 64K instead of 4K packets
• Optimized for InfiniBand
– 3x throughput over 10 GbE
– 50% less latency via native SDP
Host Channel Adapter (Driver)
InfiniBand Core
IPoIB
TCP/IPSockets Direct
Protocol
Exalogic Software
73
WebLogic Server
Scatter Gather Input Output with InfiniBand
• Scatter gather input output collects 4K WebLogic chunks into
larger collections of chunks
• Chunks written onto larger MTU infrastructure of InfiniBand
• Instrumental in increasing throughput and reducing latency
1.5K 1.5K 1.5K
Standard WebLogicwith standard read write IO
10Gb/s Ethernet with 1.5KMaximum Transmission (MTU)Size
WebLogic Server
Read/write collections of 4K chunks
…
4K 4K 4K 4K
64K 128K
40Gb/s Infiniband with 64K MTUfor IPoIB or >=32K MTU for SDP
…
WebLogic on ExalogicwithScatter/Gather IO
Read/write 4K standalone chunks
4K 4K 4K 4K
Standard WebLogic WebLogic Server on Exalogic
74
Self-Tuning Thread Pool Optimized for Exalogic
Elastic Cloud Compute Node Processors
• Thread pool aware
of processor cores
– 2 processors x 6 cores
x 2 hyper threads per
core = 24 hardware
threads
• Rapid adjustment to
varying workloads
– Optimal adjustment is
24 threads per time
period
Exalogic X4170 Compute Node
Self Tuning WebLogic Thread Pool
X86 Dual Processor6 Cores per Processor with Hyper-Threading
WebLogic Server
Operating System
Hotspot or JRockit
Work Request
Work Request
Work Request
Priority Request Queue
Adjust by 24_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Current Thread Count
75
JSP Compiler
Servlet Container
WebLogic Core
JRockit/HotSpot
Sockets Direct Protocol
Sender/Receiver
Uses Byte Buffers instead of static byte arrays
Uses Byte Buffers instead of copying into temporary buffers
Uses Byte Buffer-aware streams instead of Kernel level chunked streams
66% Less Buffer Copies
JVM pins WebLogic buffers on heap to avoid copies
Reduced copying between user and kernel space
Use
r S
pac
eK
ern
el
Sp
ac
e
We
bL
og
ic
ExaLogic Elastic CloudReduced IO Buffer Copying
76
ExaLogic Elastic CloudOptimized State Replication on Exalogic
• Single channel state replication per JVM
• Traditional two way RMI
• Full deserialization on secondary server
• State replicated over standard network
Standard WebLogic WebLogic on Exalogic
• Multi-channel state replication per JVM
• Optimized one way RMI
• Lazy deserialization on second server
• State replicated over InfiniBand
• Parallel muxer reduces lock contention
• Larger packet sizes (>=32K MTU for
SDP, versus 1.5K on 10Gb networks)
reduces processing overhead
• Rapid adjustment to varying workloads
(optimal adjustment is 24 threads)
77
WebLogic Server Multi-tenancy in ExalogicMaximum density, manageability, flexibility
• Single application
• High Availability
• Dedicated CPU/Memory
for maximum performance
• Maximum security
Compute Node Compute Node Compute Node Compute NodeCompute Node
Partition A Partition CPartition B
WebLogic
Domain A
WebLogic
DomainB
WebLogic
DomainD
WebLogic
DomainB
WebLogic
DomainC
WebLogic
DomainC
Application A Application A
WebLogic
Domain A
• Multiple HA applications or
one composite HA
application
• Common Level of Service
(shared CPU, Memory,
failure unit, security)
• Multiple
applications
• Single
availability
• Maximum
density
78
Oracle Virtual Assembly BuilderPackage Complex, Multi-Tier Applications
• Package up complex structure from dev/test and reconstitute in production
• Minimize setup time and risk of hard-to-debug configuration errors
• Easily replicate in production with minor variations
• Each production instance has well-contained configuration parameters for
flexibility
config1
Dev/Test Environment
Production Environments
config2
Assembly = Appliances (VM Templates + configuration Metadata) + relationships & start order Metadata
Ora
cle
En
terp
rise
Ma
na
ge
r(S
oftw
are
Lib
rary
)