Oracle WebLogic Suite 11Technical White Paper

ballooncadgeInternet and Web Development

Oct 31, 2013 (4 years and 2 months ago)

240 views

An Oracle White Paper
June 2009
Oracle WebLogic Suite 11g Technical
White Paper
Oracle White Paper—WebLogic Suite 11g Technical White Paper
Introduction........................................................................................1
Packaging..........................................................................................3
WebLogic Server ..............................................................................3
Enterprise Grid Messaging.............................................................3
ActiveCache with Coherence.........................................................4
Oracle TopLink..............................................................................7
Java EE Standards Support...........................................................7
Web Services.................................................................................9
Raw Performance........................................................................10
High Availability...............................................................................11
WebLogic Server Clustering........................................................12
Server and Service Migration.......................................................12
Side-by-Side Deployment............................................................14
Rolling Upgrade...........................................................................14
Full Lifecycle Development Support.................................................14
Lightweight Application Server.....................................................14
Development Agility.....................................................................15
FastSwap for Rapid Development and Testing Cycles.................15
WebLogic Server Ant Tasks.........................................................16
Automation of Development and Test Environments....................16
Application Classloading..............................................................16
Development Tooling...................................................................17
Management and Operations...........................................................17
Lowest Cost of Operations...........................................................17
Real Operations Insight................................................................18
Real Operations Automation........................................................19
Proven to Outperform..................................................................24
Oracle White Paper—WebLogic Suite 11g Technical White Paper
Best for Oracle.................................................................................26
Summary.........................................................................................26
Oracle White Paper—WebLogic Suite 11g Technical White Paper
1
Introduction
Oracle WebLogic Suite 11g is a significant new release of the core application grid
infrastructure foundation underpinning Oracle Fusion Middleware. It has been designed
to provide a standards-based, mission-critical platform for organizations that deploy
application grid and service-oriented architectures.
Three key business goals have shaped the WebLogic Suite offering:
1.Businesses must align priorities to survive the global economic downturn. There
is increased pressure to increase profitability through in cost reduction initiatives,
without sacrificing the parallel desire to improve service levels to ensure
customer satisfaction. New applications are being developed and deployed to
meet new needs and to be better able to compete.
2.Businesses must respond to the increasing burdens on their IT infrastructures.
Newer application types such as service-oriented architecture (SOA), Web-
oriented architecture (WOA), software as a service (SaaS), rich internet
application (RIA) and mobile applications are placing new demands on the
infrastructure to deliver better levels of performance, scale, and availability than
ever before. Businesses are re-addressing business continuity requirements and
disaster recovery scenarios to ensure long-term viability.
3.Business IT organizations must efficiently accelerate the time to deployment for
all applications to meet these new cost reduction and infrastructure demands.
WebLogic Suite 11g delivers features and functionality that focus on all three of these key
business goals:
 Reduce operational costs
 Improve performance
 Best for Oracle
Oracle White Paper—WebLogic Suite 11g Technical White Paper
2
Specifically, WebLogic Suite introduces a number of new features:
 GridLink for RAC: Advanced facilities in the WebLogic Server data source layer that
integrates with Oracle Real Application Clusters for a complete active-active high
availability deployment of applications.
 Enterprise Grid Messaging: Provides essential features for advanced messaging
applications including distributed destinations, unit of order and unit of work. Provides
an integrated messaging infrastructure for existing Advanced Queuing (AQ) and middle
tier JMS customers. AQ customers continue to benefit from RAC's scalable high
availability architecture.
 ActiveCache: Brings relief to data bound applications by providing high performance
access to frequently used data. Specifically, ActiveCache in WebLogic Server11g
provides support for HTTP Session Management and storage of TopLink JPA entities
within Coherence.
 Real Operations Insight: A set of facilities providing allowing for rapid diagnosis of
problems and root cause analysis, resulting in simpler and quicker time to resolution:
 Real Operations Automation: Provides a suite of facilities and tools designed to reduce
administrator overhead through automation of mundane and repetitive tasks as well as
provide automatic self-adjusting configuration of otherwise complex server sub
systems.
 SmartUpgrade for WebLogic: Tooling, processes and best practices that makes the
upgrade process to WebLogic Server from Oracle Containers for J2EE (OC4J).
The design philosophy of WebLogic Suite 11g is makes the environment simple, open,
and easy-to-use within heterogeneous middleware infrastructures while remaining the
industry’s most hardened infrastructure for mission-critical application deployments.
Oracle White Paper—WebLogic Suite 11g Technical White Paper
3
Packaging
In Fusion Middleware 11g, Oracle provides a single integrated Java infrastructure packaged as
WebLogic Suite. WebLogic Suite contains three major server side runtime components: 1.
Oracle WebLogic Server - the best-of-breed, proven mission critical capable Java server
infrastructure; 2. Oracle JRockit - the world’s highest performing low latency Java VM; 3. Oracle
Coherence – the industry’s most predictable, reliable, scale-out in-memory data grid.
This infrastructure increases application performance and improves application efficiency due to
a highly optimized integration of the components, enables predictable and reliable application
scale out with the deep integration of the Coherence In Memory Data Grid and provides
unmatched quality of service for custom and packaged applications deployed to this
infrastructure. WebLogic Suite comes with a choice of highly productive development tools
based on Oracle JDeveloper or Eclipse (Oracle Enterprise Pack for Eclipse) and a fully
integrated management infrastructure for large-scale administration and operations with
Enterprise Manager.
WebLogic Server
For 11g, WebLogic Server moves the bar for application server providers even higher by
extending its performance lead and offering new innovation for enterprise application
developers. WebLogic Server has again set new world records in the industry standard
SpecJAppserver2004 benchmark. New features such as GridLink for RAC and Enterprise Grid
Messaging provide new capabilities for mission critical applications.
At all levels of WebLogic Suite, capabilities are provided that drive toward solving our customer’s
problems, including need for performance and product integration.
Enterprise Grid Messaging
Enterprise Grid Messaging (EGM) has been designed and developed to provide all the features
necessary for the most demanding messaging applications. EGM works across the Oracle stack,
and beyond, offering support for .Net applications for interoperability and integration with many
Oracle applications. Above and beyond the Java Messaging Service (JMS) specification, EGM
incorporates important message scoping facilities including:
 Unit of Order: Processing messages out of order can be disastrous to the integrity of an
application. This feature guarantees that all messages are processed sequentially in the order
that they are placed on the destination. While configurable, the default Unit of Order is first in
first out.
 Unit of Work: Where applications require an even more restricted group than that provided by
the Unit of Order feature, Unit of Work can be used to group messages as a unit allowing
Oracle White Paper—WebLogic Suite 11g Technical White Paper
4
message consumers to process the collection of messages as a unit. A message within a Unit of
Work does not become available for processing by the recipient until all messages scoped
within the Unit of Work are all available.
Other important features that are omitted from the JMS specification but are required to build
advanced messaging applications, are included in EGM:
 Store and forward messaging: This construct removes significant complexity from the
development of message-based applications by having the framework address reliability
concerns. A messaging client should have the option of sending a message once and only once,
even if the associated message provider is down. The store and forward messaging feature will
store messages destined for a system that was unavailable at the time they were sent until the
system becomes available, at which time the messages will be forwarded.
 Distributed destinations: A distributed destination is a set of destinations (queues or topics)
that are accessible to clients as if they were as a single, logical destination. Distributed
destinations are typically used in high availability environments or where message processing
must be load balanced across a set of compute resources.
Enterprise Grid Messaging also includes the Oracle AQ JMS implementation based on the
exceptionally reliable Oracle Database, which is in wide production use today across many of
Oracle’s customers. Oracle AQ JMS is the standard JMS API applied to the Advanced Queuing
streams of any Oracle database with messages persisted to the Oracle Database.
Benefits of Oracle AQ JMS come from integrating key features from the Oracle Database with
the JMS standard:
 Failover and clustering capabilities of Oracle Real Application Clusters (Oracle RAC) are
inherent.
 Messages are guaranteed to be delivered and recoverable in the event of failure.
 Messaging applications can leverage Database features such as triggers and stored procedures.
Oracle AQ JMS also enables migration as well interoperability with other Oracle AQ JMS
applications. Just like the WebLogic Server JMS implementation, Oracle AQ JMS fully supports
JTA transactions.
ActiveCache with Coherence
ActiveCache, based on Oracle Coherence and included in WebLogic Suite,is an in-memory data
grid solution that enables applications to predictably scale by providing fast, reliable and scalable
access to frequently used data. The key to the linear scalability of Coherence is the partitioning of
data across the nodes in the data-grid. In other words, each node does not cache a complete set
of the data yet to external users it appears as a single coherent clustered cache.
Oracle White Paper—WebLogic Suite 11g Technical White Paper
5
ActiveCache is the direct integration of WebLogic Server and Coherence. Two areas have been
implemented within WebLogic Server 11g
1.Support for JPA applications using TopLink to store JPA entities within Coherence; and
2.Support for WebLogic HTTP session management within Coherence
This integration is seamless declarative integration rather than requiring rewrites of your
application. Developers are also able to fully program to Coherence directly but ActiveCache
simplifies the integration substantially.
JPA and Coherence
Figure 1 below, illustrates the difference between the traditional approach of data access and data
access in the new model using the ActiveCache integration of JPA and Coherence
FIGURE 1: COHERENCE DATA GRID: GET
Rather than using the typical local cache infrastructure provided by JPA implementations, the
ActiveCache implementation within WebLogic Server enables TopLink based JPA applications
to seamlessly take advantage of Coherence as a high performance shared cache for JPA entities.
The JPA programming model is augmented by a number of Coherence aware annotations
enabling developers to easily and quickly put their JPA applications on the grid. The end result is
dramatically increased performance and increased scalability for JPA applications.
Coherence*Web
Oracle White Paper—WebLogic Suite 11g Technical White Paper
6
Designed to extend and improve the performance of Java EE Web applications that make use of
HTTP session state, Coherence*Web offloads session management from the application server
infrastructure. There are several scenarios where offloading session state management from the
application server makes sense. Applications making use of large sessions will quickly limit the
scalability of an application, as there are limits to a Java heap on a 32-bit operating system. Even
on 64-bit systems, a large heap comes with other trade-offs that must be made, including garbage
collection latency. In these cases, Coherence*Web can be used to store session state in the data
grid. This still allows for very fast access of session data in a high availability solution, while
properly leveraging the middle-tier for the work for which it was designed.
Coherence*Web works equally well in cases where session state must be shared across multiple
applications, as in the case of composite applications. Coherence*Web does not require any
coding changes to the underlying application.
GridLink for Oracle RAC
In Java EE application servers, database interactions are typically handled by the middle tier’s
data source implementations. In Oracle WebLogic Server, configuring JDBC data sources and
multi datasources exposes database connectivity. These JDBC resources are then deployed
targeting to servers or clusters in a WebLogic Server domain. Each data source that is configured
contains a pool of database connections that are created when the data source instance is created,
deployed, or targeted, or at server startup.This data source capability and its integration with
Oracle Real Application Clusters is called GridLink for RAC.
Oracle WebLogic Server multi data sources together with Oracle RAC manage pooled
connections for high availability and provide the following features:
 Planned outages: Oracle WebLogic Server provides support for planned outages, where
database maintenance or other activities must be performed at a known point in time. Oracle
RAC supports this, as service can be gracefully shutdown. In such scenarios, any borrowed or
in-use connections are not interrupted and closed until work is completed and control of the
connection is returned to the pool. This feature provides an extremely efficient way in large
heterogeneous customer environments to manage planned outages.
 Unplanned outages - Oracle WebLogic Server provides support for the area of unplanned
outages. Depending upon your configuration, when an Oracle RAC node fails, in-flight
transactions are redirected to another node in the cluster either by Oracle WebLogic Server or
by the Oracle THIN JDBC driver.
 Failover: The connection failover with Oracle WebLogic Server and RAC can be handled using
Oracle WebLogic Server multi data sources by pinning a transaction to one and only one Oracle
RAC instance when an Oracle RAC instance becomes unavailable. Oracle Database
connection failover and the Oracle JDBC Implicit Connection Cache feature of Fast
Oracle White Paper—WebLogic Suite 11g Technical White Paper
7
Connection Failover can also be used to detect dead connections, clean the connection pool,
and fail over the connections to another instance.
 Load balancing: Load balancing is supported through the use of Oracle WebLogic Server and
JDBC multi data sources used with Oracle RAC nodes. The set of data sources that form the
multi data source is accessed using a round-robin pattern. When switching connections, Oracle
WebLogic Server selects a connection from the next data source in the order listed. In a
configuration without a multi data source, Oracle WebLogic Server relies on the connect-time
failover feature provided by the Oracle JDBC thin driver to work with Oracle RAC.
 New in WebLogic Server 11g GridLink for RAC is support for Oracle 10g and 11g Oracle
Services. Oracle Services are a recommended pattern for Oracle RAC administrators to
manage RAC infrastructures and are now fully supported by Oracle WebLogic Server.
Oracle TopLink
Oracle TopLink 11g (TopLink) is fully integrated into the Oracle WebLogic 11g infrastructure.
TopLink, based on the open source Eclipse Persistence Services Project (EclipseLink), is an
advanced object-persistence framework that provides runtime capabilities that reduce
development and maintenance efforts and increase enterprise application functionality. TopLink
is designed for use in wide range of Java EE and Java SE architectures. TopLink’s most popular
persistence services include:
 Relational: For persistence of Java objects using the standard Java Persistence API (JPA)
specification to a relational database accessed using Java Database Connectivity (JDBC).
TopLink provides advanced features for all leading databases with specialized support for
Oracle Virtual Private Database, XML DB XMLType, flashback, and stored procedures and
functions with Oracle Database.
 Grid: For integration with Oracle Coherence that supports scaling JPA applications up onto
large clusters and leveraging the processing power of the grid to parallelize queries for
Coherence cached objects.
 XML: For conversion between Java objects and XML documents using Java Architecture for
XML Binding (JAXB) and Service Data Objects (SDOs). EclipseLink’s provided SDO
solution, a core component of the Oracle’s SOA infrastructure, is the SDO 2.1.1 reference
implementation.
TopLink supports all leading Java EE servers including Oracle WebLogic Server as well as
integration with support for JMX based management, standard logging, and security policies.
Java EE Standards Support
In order to maximize productivity and reduce risk in the usage of middleware infrastructure, full
adoption of standards is key. Standards also help to effectively leverage developer talent, provide
Oracle White Paper—WebLogic Suite 11g Technical White Paper
8
interoperability support, and prevent vendor lock-in to proprietary technologies. Oracle invests
heavily in supporting of the latest technology standards to retain its hot-pluggable goal.
WebLogic Suite supports the latest standards not only for the foundational application server
component, but also for the other components including Oracle Coherence, TopLink, and
JRockit. Table 1 below summarizes the supported standards by product.
PRODUCT
SPECIFICATION SUPPORT
Java SE 6.0
Java EE 5.0
JSP 2.1
JSF 1.2
Servlet 2.5
EJB 3.0
JAX-WS 2.1
JAX-RPC 1.1
JMS 1.1
JNDI 1.2
JCA 1.5
JTA 1.2
JMX 1.2
Java EE Deployment 1.2
Java EE Management 1.1
JAAS 1.2
WEBLOGIC SERVER
JDBC 3.0
COHERENCE Servlet 2.5 (Session Management)
CommonJ Work Manager
JCA 1.5
JCache (JSR 107)
Java 1.5
JVMDI
1
JROCKIT
JVMPI
2
1
Java Virtual Machine Debugging Interface
2
Java Virtual Machine Profiling Interface
Oracle White Paper—WebLogic Suite 11g Technical White Paper
9
Java Persistence API 1.0
Java Architecture for XML 2.1
TOPLINK
Service Data Objects 2.1.1
TABLE 1: WEBLOGIC SUITE STANDARDS SUPPORT
From a developer’s perspective, support for the latest standards and specification ensures that
skills are effectively leveraged and are transferrable to future projects.
Web Services
WebLogic Server has a comprehensive and fully standards compliant Web services infrastructure
that is available across the Fusion Middleware product portfolio. The primary Java programming
model supported is the developer friendly annotation based JAX-WS standard however for
backwards compatibility JAX-RPC is also supported. For quality of service a complete set of
WS-* standards including WS-Policy, WS-PolicyAttachment, WS-Security, WS-
SecureConversation, WS-SecurityPolicy, WS-Trust, WS-ReliableMessaging and more are
supported. Table 2 provides a comprehensive summary of the Web services standards supported
in WebLogic Server 11g. Complementing this implementation is rich support of Oracle Web
Services Manager for policy management and policy enforcement for both WebLogic and non-
WebLogic Web services.
WEB SERVICE STANDARD
VERSION
Web Services Java EE 1.2, 1.1
Web Services Metadata for the Java Platform (JWS) 2.0, 1.0
Java API for XML-Based Web Services (JAX-WS) 2.1, 2.0
Simple Object Access Protocol (SOAP) 1.1, 1.2
Web Services Description Language (WSDL) 1.1
Java API for XML-based RPC (JAX-RPC) 1.1, 1.0 (deprecated)
SOAP with Attachments for Java (SAAJ) 1.3, 1.2
Web Services Security (WS-Security) 1.1, 1.0
Web Services Policy Framework (WS-Policy) 1.5, 1.2
Web Services Security Policy (WS-SecurityPolicy) 1.2
Web Services Policy Attachment (WS-PolicyAttachment) 1.5, 1.2
Web Services Addressing (WS-Addressing) 1.0, 2004/2008 member submission
Oracle White Paper—WebLogic Suite 11g Technical White Paper
10
WEB SERVICE STANDARD
VERSION
Web Services Reliable Messaging (WS-ReliableMessaging) 1.1, 1.0
Web Services Trust Language (WS-Trust) 1.3
Web Services Secure Conversation Language (WS-
SecureConversation)
1.3
Universal Description, Discovery, and Integration (UDDI) 2.0
Java API for XML Registries (JAX-R) 1.0
Java Architecture for XML Binding (JAX-B) 2.1, 2.0
Security Assertion Markup Language (SAML) 2.0, 1.1
SAML Token Profile 1.1, 1.0
TABLE 2: WEB SERVICES STANDARDS IN WEBLOGIC SUITE
Raw Performance
Better performance in the middle tier supports not only delivering the best possible performance
to users, but also enabling a reduced infrastructure investment in hardware resources. WebLogic
Server has again set world records in the industry-standard benchmark SPECJAppServer2004 in
all categories (single node, dual node and multinode) across a variety of platforms. Figure 2 for
compares the official SPECjAppServer2004 results by vendor. When combined with the superior
performance of the Oracle JRockit JVM on the same hardware, the overall benefit can be
substantial and measurable in contrast to other application server providers.
Oracle White Paper—WebLogic Suite 11g Technical White Paper
11
FIGURE 2: SPECJAPPSERVER2004 BENCHMARK RESULTS BY VENDOR
Further, Oracle JRockit has also been the SPECjbb2005 performance benchmark leader for the
past three years providing the best performance for server-side applications and augmenting the
overall performance results that are possible with WebLogic Suite when WebLogic Server is run
with JRockit.
Finally, Oracle JRockit JVM has recently set a new world-record in the SPECpower_ssj2008
benchmark, demonstrating superior performance per watt. The combination of achieving best
overall performance while at the same time keeping server power consumption low is
unprecedented.
High Availability
WebLogic Server carries forward its rich High Availability features from previous releases,
designed to reduce both planned and unplanned downtime. As a key value for all those
customers who use Oracle Database, WebLogic Server 11g R1 has been integrated with the latest
high availability features of Oracle Database 11g including RAC and provides the most advanced
mechanisms for load balancing and failover between the middle tier and the database of an
application.
Oracle White Paper—WebLogic Suite 11g Technical White Paper
12
WebLogic Server Clustering
Clustering provided through WebLogic Server consists of multiple WebLogic Server instances
running simultaneously and working together to provide increased scalability and reliability.
From a client’s perspective, a cluster appears to be a single WebLogic Server instance. The server
instances that constitute a cluster can run on the same machine, or be located on different
physical/virtual machines. A cluster’s capacity can be scaled by increasing the number of servers
in the cluster.
The key benefits of clustering are to provide:
 Scalability: Applications deployed on WebLogic Server can be scaled by using clustering and
can be increased dynamically to meet demand. Scaling a cluster in or out does not affect
application clients or users.
 High-availability: Equal in importance to scalability is high availability and is another reason to
cluster applications. The goal of clustering in this context is to continue application processing
even in the event of server failure.
Key capabilities of clustering include:
 Application failover: In the event of a failure, WebLogic Server can automatically migrate a
clustered server instance from one machine to another. This capability not only ensures
uninterrupted service of an application, but also that application scalability is maintained.
 Load balancing: In order for applications to scale properly, work and associated network
communications must be evenly distributed across the compute and network resources.
WebLogic Server provides load balancing at multiple levels to ensure that the appropriate
assignment of work takes place.
WebLogic Server has the ability to cluster the various Java EE application resource including
Servlets, JSPs, EJBs, RMI objects, JMS Destinations and JDBC resources.
Server and Service Migration
Today’s mission-critical applications require highly available services. WebLogic Suite offers
messaging, transaction, and other system services to facilitate building enterprise level
applications. These services can operate in a clustered environment to help build scalable and
highly available applications. Previous releases of Oracle WebLogic Server provided support for
administrators to manually migrate highly available services from a failed cluster server to a
running server. Oracle WebLogic Server 10.3 adds support to the clustering infrastructure to
automatically migrate the services for high availability without any administrative intervention. If
the application is configured for session replication, the cluster replication service, which runs on
all the nodes in the cluster, will replicate sessions to another node in the cluster.
Oracle White Paper—WebLogic Suite 11g Technical White Paper
13
Singleton services, are services that exist only on one node of the cluster at any given point of
time, so as to offer a specific quality of service (QoS), but most importantly, to preserve data
consistency. One such example is the JMS (Java Message Service) service, where the service must
ensure that only one copy of the application message persists to storage for every persistent send
operation from the producer. But this high QoS has a cost. It is obvious that any problems or
issues with the node that hosts the singleton service would render the service unusable or make it
unavailable until the problem is corrected. This is a concern in an enterprise application
environment.
The current set of singleton services that are currently offered by WebLogic Server to ensure
data consistency can be grouped into the following broad categories:
 Persistent store service
 JMS-related services
 JTA-related services
 User-defined singleton services
Singleton services offer one of the highest qualities of service but are susceptible to “single point
of failure.” To address this issue, WebLogic Server offers a solution called migration.
Migration in WebLogic Server is the process of moving a clustered WebLogic Server instance or a
subsystem component running on a clustered instance, elsewhere in the event of failure.
The process of moving the entire server instance from one physical machine to another upon
failure is called whole server migration (WSM). Moving only the affected subsystem services from
one server instance to another running server instance is called service migration.
The whole server migration process was introduced in WebLogic Server release 9.0. In this
process, when a migratable server becomes unavailable for any reason, for example, if it hangs,
loses network connectivity, or its host machine fails, the server instance is automatically migrated.
Upon server instance failure, a migratable server is automatically restarted on the same machine if
possible. If the migratable server cannot be restarted on the machine where it failed, it is
migrated to another machine. In addition,an administrator can manually initiate migration of a
server instance.
Service Migration provides the necessary infrastructure to manually migrate only the failed
subsystem services from an unavailable server instance to an available server instance.
However, manual migration needs human intervention (to detect the server/service failure and
initiate the migration), which increases overall administration and ownership costs for WebLogic
Server customers, as well as potentially leads to unpredictable service unavailability.
In WebLogic Server 11g, the entire process of service failure detection and recovery is fully
automated with an improved migration framework. The Automatic Service Migration (ASM)
framework now proactively monitors the health of the singleton services and automatically
Oracle White Paper—WebLogic Suite 11g Technical White Paper
14
migrates failing services to available server instance in a cluster, thus greatly reducing the time
taken to perform the migration and increasing the overall availability of these services.
Side-by-Side Deployment
Side-by-side deployment, allows for a multiple versions of an application to be deployed at the
same time. This functionality is used to patch or update production applications without service
interruption. When employing side-by-side deployment, there are two different policies that can
be used to govern how existing sessions move over to the new version of the application:
 Allow the application to finish its current sessions and then retire.
 Retire the previous version after a specified timeout.
As dictated by the policy, WebLogic Server will migrate users to the new version of the
application. After all clients are moved to the new application version, the old application is
retired and no longer services any requests.
Side-by-side deployment can be set up in a number of ways, including through the WebLogic
Server Administrative console as well as with WLST.
Rolling Upgrade
Rolling upgrade is the process of upgrading a running WebLogic Server cluster with a patch,
maintenance pack, or minor release without shutting down the entire cluster or domain, allowing
for uninterrupted service. 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.It is also possible to uninstall a patch, maintenance pack, or minor releases using the
similar rolling uninstall process.
Full Lifecycle Development Support
WebLogic Server continues to innovate at the design level, providing features that address the
needs of the developer community.
Lightweight Application Server
To allow for a flexible installation that more closely matches the needs of the usage model, as of
release 10.3 the WebLogic Server installer now provides the option of installing specific parts of
the server, minimizing the infrastructure footprint. Figure 3 shows a screenshot of the WebLogic
Server installer and illustrates the flexibility afforded during the installation procedure.
The lightweight installation is matched in the runtime by flexible service startup, allowing for
specific services to be started, which provides faster server startup. Server resource consumption
Oracle White Paper—WebLogic Suite 11g Technical White Paper
15
is commensurate with service deployment capability. Using a pre-installed JDK, the minimum
server installation takes up just 151 MB of disk space.
FIGURE 3: ORACLE WEBLOGIC SERVER LIGHTWEIGHT INSTALLER
Development Agility
Developers have a choice of service startup. Creating a lightweight server without EJB, JMS and
JCA is easily accomplished by specifying -DserverType=”wls” or -DserverType=”wlx” as
a startup system property.
Internal applications, such as the WebLogic Server administration console is deployed upon
demand to further accelerate server startup and to minimize resource consumption.
The WebLogic Server administration console disables the change center in development mode as
well as eliminating confirmation dialogs, thereby allowing configuration changes to be made
quickly. In addition, console performance has been improved by over 50%.
FastSwap for Rapid Development and Testing Cycles
The traditional Java EE development cycle of edit, build, deploy and test is now superseded by a
much more efficient model of edit and test cycle. Enabled by Java 6 enhancements, the FastSwap
classloading infrastructure allows replacing of the byte code with just the modified methods. This
enables instance variable and application state to be preserved, allowing for a very quick iterative
development cycle.
FastSwap is automatically disabled in production mode and can be enabled in development mode
by adding <fast-swap>true</fast-swap> to the weblogic-application.xml file.
Oracle White Paper—WebLogic Suite 11g Technical White Paper
16
WebLogic Server Ant Tasks
WebLogic Server comes with a plethora of Ant tasks that allow for lifecycle, packaging,
build/compile code, resource configuration and applications operations. These Ant tasks can also
be used to generate automation scripts, thus simplifying and reducing human error for repetitive
as well as complex tasks.
Automation of Development and Test Environments
WebLogic Server provides a set of tools that allows developers (as well as administrators) to
automate various aspects of the their daily work in order to avoid performing repetitive tasks.
For instance, developers need to be able to quickly reset and re-create test and development
environments. Repeatedly performing theses tasks is costly, boring, and error prone. Using use of
domain templates, the Domain Template Builder, the Configuration Wizard, and WebLogic
Scripting Tool (WLST), automation scripts (based on Ant) can easily be created for new
domains, and can populate those domains with resources (that is JDBC, JMS, JCA, and
Applications and so on).
The WebLogic Server administration console can be used to record actions into a reusable
WLST script, which provides a great basis for customization, simplifying the script creation
process.
Application Classloading
Due to its complexity, classloading is often a misunderstood area of application servers.
Fortunately, WebLogic server provides a few mechanisms, which simplify configuration of
application classloading.
First, WebLogic Server provides a way of sharing libraries across applications, which simplifies
the deployment of such applications. This is useful in cases where the libraries themselves evolve
at a different rate than the applications. It also removes the need to deploy the libraries with each
application.
Next, WebLogic Server provides for application-level libraries. These libraries are deployed with
each application and loaded through the standard Java EE classloading hierarchy. This means
that these libraries are not shared by other applications deployed on the server, each application
receives its own copy of the library. This is useful if applications deployed on the same server
need to use different versions of the same library.
One of the ways that WebLogic Server has simplified classloading is through the filtering
classloader. This classloader does not load classes itself; it just prevents classes from being loaded
by the parent classloader. In effect, this changes the Java EE classloading delegation model from
parent to child first. This allows applications to override system level classes, which is difficult to
accomplish with other application servers. For instance, your application may need to make use
Oracle White Paper—WebLogic Suite 11g Technical White Paper
17
of a different version of Xerces, Spring, Ant, or Commons-Logging; to accomplish this the filter
classloader would be configured not to load those classes from the system classpath. Instead
those classes would be bundled and loaded from the application libraries.
Development Tooling
WebLogic Suite offers two distinct toolsets for development: Oracle JDeveloper IDE as well as
Oracle Enterprise Pack for Eclipse. JDeveloper, now fully integrated with WebLogic Server
offers a complete development environment with code editing, testing, debugging, profiling and
Application Development Framework (ADF) support for rapidly building and deploying
enterprise grade applications on WebLogic Server. JDeveloper provides support for a plethora of
application development environments including Java EE, Java SE ADF and BPEL applications.
For those Java EE developers that prefer the Eclipse integrated development environment,
WebLogic Suite offers the Open Source provided Oracle Enterprise Pack for Eclipse (OEPE)
providing all of the tools necessary for Java EE development and deployment on WebLogic
Server. OEPE is the predecessor to the BEA WebLogic Workshop toolset.
Management and Operations
Lowest Cost of Operations
IT departments have always been constrained by their budgets. In the present economic climate,
the efficiency imperative has become extreme. Some of the most important operational costs
related to application servers are based on the time, complexity, and risk of:
 Installation and maintenance: This includes application server installation, upgrade, and
patching.
 Configuration and deployment:This includes application server and application
configuration, deployment, instance creation and cloning and moving of applications from a
test environment into production.
 Performance tuning and monitoring:This includes determining/setting thresholds for
performance monitoring, ensuring satisfaction of service level agreements (SLA), diagnosing
and troubleshooting and correcting performance problems.
Fundamental application server capabilities in these areas have significant impact on operational
costs. A crosscutting concern is automation: The more areas that can be reliably automated, the
greater the reduction in operating costs. Other important operational cost factors are consistency
and synergy across the data center. It is one thing to optimize for a single application or a small,
contained project, but to truly maximize efficiency requires exploiting the economy-of-scale
benefits of having consistent infrastructure underlying as many applications as possible. This
Oracle White Paper—WebLogic Suite 11g Technical White Paper
18
enables the standardization and automation of time-consuming activities such as software
patches and upgrades, the leveraging of in-house expertise, and minimizing incremental training.
The key WebLogic Suite capabilities that help reduce operational costs are:
 Integrated management: This means effective visibility and control, both in a native console
and in integration with overall infrastructure management tools.
 Automation: This means the ability to define rules and set thresholds that trigger automatic
response; ability to script complicated procedures so that they can be carried out efficiently and
consistently with no user error (which accounts for a majority of outages)
 Monitoring, diagnostics, and tuning: This means proactive monitoring and advanced
diagnostics to help administrative staff quickly identify and fix problems; self-tuning to
substantially reduce configuration complexity and time-consuming trial and error.
Real Operations Insight
Real Operations Insight, a new feature for 11g,offers an umbrella of facilities designed to
provide a powerful solution to simplify system monitoring and diagnostics, including:
 Sophisticated composite application performance management
 Simple yet powerful Java virtual machine (JVM) diagnostics with WebLogic Suite suitable for
both developer, test and production environments.
 Performance monitoring and diagnostics for portlets and remote services, and visually
representing them within the context of an enterprise portal.
Oracle Enterprise Manager
Oracle Enterprise Manager provides all management capabilities necessary to deploy WebLogic
Suite in an enterprise data center. Enterprise Manager implements monitoring and advanced
diagnostics capabilities to help administrators prevent system failures and other undesirable
outcomes in high load production environments.
In order to simplify diagnostics and management, the diagnostics pack allows for system
monitoring of multiple WebLogic Server domains as well as Oracle Application Server farms
from a single pane of glass.
Key diagnostics functionality offered by the pack includes:
 The ability to trace in-flight transactions from Java requests to database sessions and the
converse.
 Viewing request performance breakdowns by application tier (JSP, EJB, JDBC, and SQL)
drastically simplifying root cause analysis.
 Interactive transaction tracing to diagnose transaction performance problems
Oracle White Paper—WebLogic Suite 11g Technical White Paper
19
 Differential Java heap analysis to detect and analyze memory leaks
Java Virtual Machine Diagnostics
Enterprise Manager provides specialized capabilities, which allow low level monitoring and
diagnosis at the JVM layer. For instance, Application Diagnostics for Java (AD4J) provides low
overhead monitoring and diagnostic functionality that can be used to improve Java application
availability and performance. AD4J enables administrators to monitor application performance,
and provides in-depth application details to diagnose problems. Most important, AD4J can
perform all of these capabilities without any server restarts, no application instrumentation, and
no additional performance overhead, making it a perfect solution for monitoring and diagnosing
production applications.
In addition, JRockit Mission Control (JRMC), a toolset specific to JRockit deployments provides
a developer friendly management toolset. JRMC turns the traditional black box JVM into a
transparent runtime, open for inspection. JRMC adds a handful of tools, all useful for diagnosing
application problems at the lower levels. JRMC operations,such as starting a diagnostics
recording can be automated and scripted using the JRockit diagnostics command. JRockit tools
and commands do not require restarting the JVM.
Enterprise Manager provides for extensive memory leak detection and analysis tools both at the
management console level as well as in the diagnosis tooling designed to locate causal
information. For instance, the memory leak detection tool of JRMC performs this same analysis
in real time, where suspected memory leaks are highlighted and can be used for further analysis.
The entire Java heap can be walked and each object instance can be inspected, allowing even the
most complex memory leaks to become readily diagnosable. One of the more important features
of this tool is that it can be used in production because associated overhead with connecting to a
running instance of JRockit is very slight and will not materially affect server performance
(typically less than 1%).
Real Operations Automation
Real Operations Automation, also new for 11g, provides a suite of facilities and tools designed to
reduce administrator overhead through automation of mundane and repetitive tasks, as well as
provide automatic self-adjusting configuration of otherwise complex server subsystems.
Work Manager
In order for an application server to perform optimally, it is critical that it be configured with the
correct number of application request threads. Because the number of request threads is largely
dependent on hardware, applications, and the underlying JVM, it is difficult to determine the
exact number of threads needed in production to achieve optimal application throughput. In
WebLogic Server there is a single thread pool, in which all types of work are executed. WebLogic
Oracle White Paper—WebLogic Suite 11g Technical White Paper
20
Server prioritizes work based on policies defined alongside runtime metrics, including the actual
time it takes to execute a request and the rate at which requests are entering and leaving the pool.
Work managers can be configured at the domain, application, or module level using the
WebLogic Administration Console. The various policies and constraints that can be employed
are:
 Fair-share-request: Specifies the average thread-use time required to process requests, which
the work manager then uses to ensure that requests for different modules get their specified
share of compute time.
 Response-time-request: Specifies a response time goal in milliseconds, which the work
manager then uses to throttle different types of requests to prevent starvation of certain
requests.
 Context-request: Assigns request classes to requests based on context information, such as the
current user or the current user’s group, which can then have additional constraints applied.
 Max-threads-constraint: Prevents the server from scheduling additional requests of this type
until the number of concurrent executions falls below the limit. The server then schedules
work based on the fair-share or response-time goal.
 Min-threads-constraint: Guarantees the number of threads the server will allocate to affected
requests to avoid deadlocks.
 Capacity: Causes the server to reject requests when it has reached its capacity.
Combining the preceding policies and constraints make for a self-tuning, dynamically adjusting
thread pool. The thread pool will schedule work as well as increase and decrease the number of
threads to achieve optimal throughput, subject to concurrency constraints. The work manager
monitors the overall throughput, and uses collected data to determine if the thread count must
be adjusted. The various policies ensure that thread starvation does not occur in applications that
comprise both short and long running requests, a problem common in other application servers.
Installation and Maintenance
This category of administrative tasks includes installation, upgrade, and patching of server and
related management software. Installation in the past tended to be infrequent operations.
However, due to increased reliance on virtualization, dynamic server farms, and cloud
computing, installation has become a more frequent administrative task that must be made
efficient to meet the goal of reducing operational costs.
Oracle White Paper—WebLogic Suite 11g Technical White Paper
21
Virtualization and Cloud Computing
Oracle provides both an Oracle VM Template as well as an Amazon Machine Image for
Amazon’s Elastic Compute Cloud (EC2) for WebLogic Server
3
. Both packages create for a
flexible deployment choice and illustrate the simplicity with which a WebLogic Server can be
preconfigured and deployed to both virtualized and cloud environments. Not only does this
allow for new instances of WebLogic Server to be provisioned in a matter of minutes, coupling
this to Enterprise Manager functionality allows for a dynamic provisioning environment to
reduce involvement of administrative staff resulting in higher levels of productivity.
WebLogic Scripting Tool
The mainstay of WebLogic Server automation is WLST; a full-fledged, extensible Jython based
administrative environment that allows for automation of any task that can be accomplished
using the WebLogic Server Administration console as well as the Domain Configuration Wizard.
Custom scripts can be created to automate virtually any maintenance task, including server
lifecycle management, configuration, deployment and management.
Because WLST commands execute by invoking methods on WebLogic Server MBeans, WLST
commands can also be executed programmatically
4
in Java or by using the included Ant task.
To make the script authoring process simpler, the WebLogic Server console has a built in
recording function that records all of the WLST commands that would need to be executed to
perform any console actions. This accelerates the script authoring process.
Configuration and Deployment
Configuration and deployment includes a key set of necessary administrative tasks:
 General application and server configuration
 Movement of product specific metadata from test environment to production environment
 Instance creation and cloning
 Security management (for example, users, roles, profiles)
 Schema management (tables, indexes, views, and so on.)
3
For more information about WebLogic Server and Virtualization and Cloud computing, go to
Oracle Cloud Computing Center: http://www.oracle.com/technology/tech/cloud/middleware.html
4
The WLSTInterpreter is available in the weblogic.management.scripting.utils.WLSTInterpreter
Package.
Oracle White Paper—WebLogic Suite 11g Technical White Paper
22
These tasks are made easier through a rich set of tools and features included in WebLogic Suite.
WebLogic Administration Console
The WebLogic Administration console serves as the primary means by which administrators
perform ongoing maintenance and configuration. Because any task that can be performed using
the Administration console can be automated by recording a WLST script, efficiency and
productivity are greatly increased.
As of the 10.3 release, the JSP based WebLogic Server administration console now provides a
radical improvement in performance, which is immediately noticeable. The Console is now
deployed only on demand (upon first access) to avoid any application overhead of running the
console even if it is not being used.
Fusion Middleware Control
A new addition to the Enterprise Manager umbrella, Fusion Middleware Control (FMW Control)
brings in modern technologies and a fresh look and feel to more efficiently provide monitoring at
the Farm level including WebLogic Server, service oriented architecture applications and
WebCenter applications. Figure 4 shows the look and feel of this new console.
FIGURE 4: FUSION MIDDLEWARE CONTROL
Oracle White Paper—WebLogic Suite 11g Technical White Paper
23
Deployment
WebLogic Server offers great flexibility when it comes to the deployment of application server
artifacts, including shared libraries, connectors and applications (EARs and WARs). First, there
are a number of mechanisms used for deployment, including the WebLogic Administration
console, WLST and the weblogic.Deployer tool. Deployment is also possible to accomplish
through the use of WebLogic’s deployment ANT task making it simple to script and
subsequently automate.
For added support varying operational policies and procedures, WebLogic Server has three
different stages of deployment:
 Stage mode: Upon deployment, the administration server copies the deployment archive
files to each of the targeted managed servers. After completing this initial step, each
server completes deployment by using the now local copy of the archive. Stage mode is
the default mode when deploying to more than one managed server instance.
 Nostage mode: This mode differs from the stage mode in that each managed server
targeted must be able to access the source location of the deployment archive. A local
copy is not created since the archive at the source location is used.
 External stage mode: This mode is similar to stage mode, in that target servers deploy
using local copies of the deployment files. However, the Administration Server does not
automatically copy the deployment files to targeted servers in external stage mode;
instead, files must be copied manually to each target server before deployment.
SmartUpgrade for WebLogic
New for 11g, SmartUpgrade is introduced to make migration of OC4J based applications to
WebLogic Server as simple as possible (see Figure 5). SmartUpgrade for WebLogic is a rule-
based system that analyzes the deployment descriptors of OC4J deployed applications and makes
appropriate changes to the application readying it for deployment to WebLogic Server.
Oracle White Paper—WebLogic Suite 11g Technical White Paper
24
FIGURE 5: SMARTUPGRADE UPGRADE TOOLING
Proven to Outperform
Even if today’s economy has catapulted cost reduction and efficiency to the number-one priority,
maximizing the quality of service is still a close number two. In nearly every business, the quality
of service experienced by the customer is one of the most important differentiators between
success and failure. For IT, maximizing service levels means providing the right data (reliability) at
the right level of responsiveness (performance) no matter how many simultaneous transactions or
users (scalability). Beating competitors on all these dimensions comes at a cost. An enterprise
cannot indiscriminately throw hardware at the problem (elevating costs) or blindly deploy the
latest fad technology (elevating risk, and ultimately cost). The goal of WebLogic Suite is to
provide the leading service level at the lowest risk and cost.
JRockit Real Time
Efficient memory use increases application performance and stability. Garbage collection as a
form of memory management greatly influences Java application performance. In the process, it
performs two basic activities:
 Determines which objects in memory are or are not being used
 Reclaims the memory being consumed by inactive, discarded objects
Improper handling of garbage collection inhibits application execution and seriously detracts
from system performance and reliability. Some applications require the highest-possible
application throughput and can tolerate periodic garbage collection pauses. Others cannot; they
demand consistency, sacrificing some amount of throughput to minimize pause times.
Oracle White Paper—WebLogic Suite 11g Technical White Paper
25
Ideally, garbage collection implementation would be completely invisible: There would be no
collection pauses and no CPU time lost to garbage collection. Unfortunately, there are no ideal
garbage collectors, but the deterministic garbage collection functionality in Oracle JRockit Real
Time represents a significant improvement over traditional methods.
Deterministic garbage collection is the ability to specify and maintain a maximum pause time for
the memory system with a high level of confidence. Designed to deliver short, predictable pause
times with minimal manual tuning, it helps in situations where there is a continuous querying of
events or where it is necessary to find correlations over streams and time periods in real time or
near real time.
Figure 6 shows two graphs that compare the average response time of an application running
with deterministic garbage collection versus [normal] parallel garbage collection. The long pause
times for the parallel garbage collector can be fatal for applications that are sensitive to delays,
such as real-time trading applications. With deterministic garbage collection, pause times are
guaranteed to be kept to a minimum, even when running applications with gigabyte-size heaps.
The short, frequent pauses in the deterministic garbage collector ensure that an application will
not experience time out intervals like those of the parallel garbage collection method, which
occur when the JVM using parallel collection pauses while purging unused items from memory.
FIGURE 6: APPLICATION RUN WITH PARALLELL GARBAGE COLLECION (TOP) VS. DETERMINISTIC GARBAGE COLLECTION (BOTTOM)
Oracle White Paper—WebLogic Suite 11g Technical White Paper
26
Best for Oracle
WebLogic Suite is the only application server platform certified for all Oracle applications.
WebLogic Suite includes foundational technologies beyond Java EE such as Oracle Forms,
Oracle Reports, and Oracle Portal that are critical for applications such as Oracle E-Business
Suite. With Oracle Fusion Middleware release 11g, many cross-infrastructure capabilities such as
security and configuration are cleanly consolidated into the WebLogic Suite foundation for both
performance and simplicity. It is also important to keep in mind that WebLogic Suite is the
foundation for Oracle Fusion Applications, so any existing or new investment in this technology
lays the perfect groundwork for these new offerings.
Oracle WebLogic Suite offers unmatched capabilities and benefits for enterprises with stringent
business requirements that demand proven infrastructure software. Figure 7 provides an
overview of WebLogic Suite as the foundation for the upper layers of Oracle Fusion Middleware
as well as for the Oracle application portfolio.
FIGURE 7: WEBLOGIC SUITE, BEST FOR ORACLE
Summary
WebLogic Suite 11g R1 is a major new release of the core infrastructure underpinning Oracle
Fusion Middleware. WebLogic Suite provides the basis for SOA and application grid
infrastructure used by the rest of the Oracle portfolio of products. This provides for a consistent
technology foundation designed specifically to support Oracle products, offers the lowest cost of
operations and outperforms the competition through integration by design.
Oracle WebLogic Suite Technical White Paper
June 2009
Author: Erik Bergenholtz
Contributing Authors: Michael Lehmann
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com
Copyright © 2009, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only and
the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other
warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or
fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are
formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any
means, electronic or mechanical, for any purpose, without our prior written permission.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective
owners.