You are on page 1of 30

An Oracle White Paper June 2009

Oracle WebLogic Suite 11g Technical White Paper

Oracle White PaperWebLogic 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 PaperWebLogic Suite 11g Technical White Paper

Best for Oracle................................................................................. 26 Summary ......................................................................................... 26

Oracle White PaperWebLogic Suite 11g Technical White Paper

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), Weboriented 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 PaperWebLogic Suite 11g Technical White Paper

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 industrys most hardened infrastructure for mission-critical application deployments.

Oracle White PaperWebLogic Suite 11g Technical White Paper

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 worlds highest performing low latency Java VM; 3. Oracle Coherence the industrys 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 customers 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 PaperWebLogic Suite 11g Technical White Paper

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 Oracles 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 PaperWebLogic Suite 11g Technical White Paper

ActiveCache is the direct integration of WebLogic Server and Coherence. Two areas have been implemented within WebLogic Server 11g 1. 2. Support for JPA applications using TopLink to store JPA entities within Coherence; and 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


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.


Oracle White PaperWebLogic Suite 11g Technical White Paper

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 tiers 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 PaperWebLogic Suite 11g Technical White Paper

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. TopLinks 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). EclipseLinks provided SDO solution, a core component of the Oracles 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 PaperWebLogic Suite 11g Technical White Paper

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.



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 JDBC 3.0


Servlet 2.5 (Session Management) CommonJ Work Manager JCA 1.5 JCache (JSR 107)




1 2

Java Virtual Machine Debugging Interface Java Virtual Machine Profiling Interface

Oracle White PaperWebLogic Suite 11g Technical White Paper


Java Persistence API 1.0 Java Architecture for XML 2.1 Service Data Objects 2.1.1


From a developers 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, WSSecureConversation, 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 nonWebLogic Web services.



Web Services Java EE Web Services Metadata for the Java Platform (JWS) Java API for XML-Based Web Services (JAX-WS) Simple Object Access Protocol (SOAP) Web Services Description Language (WSDL) Java API for XML-based RPC (JAX-RPC) SOAP with Attachments for Java (SAAJ) Web Services Security (WS-Security) Web Services Policy Framework (WS-Policy) Web Services Security Policy (WS-SecurityPolicy) Web Services Policy Attachment (WS-PolicyAttachment) Web Services Addressing (WS-Addressing)

1.2, 1.1 2.0, 1.0 2.1, 2.0 1.1, 1.2 1.1 1.1, 1.0 (deprecated) 1.3, 1.2 1.1, 1.0 1.5, 1.2 1.2 1.5, 1.2 1.0, 2004/2008 member submission

Oracle White PaperWebLogic Suite 11g Technical White Paper



Web Services Reliable Messaging (WS-ReliableMessaging) Web Services Trust Language (WS-Trust) Web Services Secure Conversation Language (WSSecureConversation) Universal Description, Discovery, and Integration (UDDI) Java API for XML Registries (JAX-R) Java Architecture for XML Binding (JAX-B) Security Assertion Markup Language (SAML) SAML Token Profile

1.1, 1.0 1.3 1.3

2.0 1.0 2.1, 2.0 2.0, 1.1 1.1, 1.0


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 PaperWebLogic Suite 11g Technical White Paper


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 PaperWebLogic Suite 11g Technical White Paper

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 clients 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 clusters 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

Todays 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 PaperWebLogic Suite 11g Technical White Paper

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 PaperWebLogic Suite 11g Technical White Paper

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 PaperWebLogic Suite 11g Technical White Paper

is commensurate with service deployment capability. Using a pre-installed JDK, the minimum server installation takes up just 151 MB of disk space.


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 PaperWebLogic Suite 11g Technical White Paper

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 PaperWebLogic Suite 11g Technical White Paper

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 PaperWebLogic Suite 11g Technical White Paper

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 PaperWebLogic Suite 11g Technical White Paper

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 PaperWebLogic Suite 11g Technical White Paper

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 users 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 PaperWebLogic Suite 11g Technical White Paper

Virtualization and Cloud Computing

Oracle provides both an Oracle VM Template as well as an Amazon Machine Image for Amazons Elastic Compute Cloud (EC2) for WebLogic Server3. 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 programmatically4 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.)

For more information about WebLogic Server and Virtualization and Cloud computing, go to Oracle Cloud Computing Center: 4 The WLSTInterpreter is available in the Package.


Oracle White PaperWebLogic Suite 11g Technical White Paper

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.



Oracle White PaperWebLogic Suite 11g Technical White Paper


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 WebLogics 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 rulebased 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 PaperWebLogic Suite 11g Technical White Paper


Proven to Outperform
Even if todays 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 PaperWebLogic Suite 11g Technical White Paper

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.



Oracle White PaperWebLogic Suite 11g Technical White Paper

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.


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 is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. 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.