Skip navigation.
Downloads | Product Documentation | Support

Deploying WebLogic Platform Applications

# Overview of WebLogic Platform Deployment

This document explains how to deploy an application into a production environment that is based on WebLogic Platform. It describes the steps necessary to prepare the production environment and the application for deployment.

This overview includes the following topics:

- About WebLogic Platform Applications
- Promoting a WebLogic Platform Application from Development to Production
- Where to Find Additional Information

# About WebLogic Platform Applications

Throughout this document, the term WebLogic Platform application refers to an application that is developed in WebLogic Workshop and that combines all components of WebLogic Platform. For example, an application that combines a WebLogic Integration business process with the WebLogic Portal rules engine is a WebLogic Platform application. Similarly, an application that combines a WebLogic Portal application with the Worklist component and the data transformation capability from WebLogic Integration is a WebLogic Platform application.

Structurally, a WebLogic Platform application is a Web application that complies with the J2EE specification and can be deployed to WebLogic Server. A WebLogic Platform application may encompass multiple Workshop projects and includes:

- The WebLogic Workshop application deployment descriptors, `web.xml` (J2EE), and `weblogic.xml` (WebLogic Server)
- Optionally one or more standalone modules—for example, Web services, EJBs, or resource adapters—and startup and shutdown classes

Deploying a WebLogic Platform application into a production environment requires:

1. A domain created with the Basic WebLogic Platform Domain template.

A domain is the basic administration unit for WebLogic Server. For more detailed information about WebLogic Server domains, see Overview of WebLogic Server Domains in Configuring and Managing WebLogic Server.

The template you use to create a domain defines the structure of each WebLogic Server instance that is configured in that domain; specifically, it determines the kinds of applications that can be deployed and run on those servers. Servers configured in a domain that is based on the Basic WebLogic Platform Domain template can run any kind of application supported in WebLogic Platform, including a WebLogic Platform application, assuming that the full WebLogic Platform software has been installed on each machine in the domain.

2. Selective targeting of modules in the WebLogic Platform application.

Due to specific targeting requirements for WebLogic Integration and WebLogic Portal (described in detail later in this document), when you deploy a WebLogic Platform application into a clustered environment, you typically need to target some modules only on the Administration Server, and other modules only on the cluster.

Depending on the characteristics of the environment in which a WebLogic Platform application is deployed, and of the application itself, there are other considerations as well; for example, considerations for configuring databases, security, and load balancers. These considerations are summarized in Understanding the Target Environment.

# Promoting a WebLogic Platform Application from Development to Production

This section discusses the following topics about promoting a WebLogic Platform application to a production environment:

- Comparing Development and Production Environments
- Understanding the Application Promotion Process
- How WebLogic Platform Supports Application Promotion
- Planning the Promotion
- Summary of Tasks for Promoting a WebLogic Platform Application to Production
- Automating the Promotion Process

## Comparing Development and Production Environments

In a WebLogic development environment, developers create applications using WebLogic Workshop on a single instance of WebLogic Server. WebLogic Workshop facilitates iterative development by automatically generating server resources. The security configuration in a development environment is generally unrestricted.

In contrast, the production environment is typically a tightly controlled environment that may include multiple servers in one or more clusters. You need to configure resources required by an application separately and manually, although you may employ a rich set of configuration tools and scripts to construct a highly automated and controlled process to configure the resources. In addition, security and high-availability are critical in a production environment.

The following table compares typical differences between a development environment and a production environment in key areas.

Table 1-1 Comparison of the Development and Production Environments in Key Areas

Key Area | Development | Production
--- | --- | ---
Domain environment | Single domain, single server, and single machine (no cluster) | Multiple domains; clustered servers on multiple machines; Node Manager used to manage server availability
Security | Embedded LDAP using demonstration digital certificates that enable anonymous access | Use of security information imported from a QA/Test environment; user and group information on external LDAP server. Managed Servers configured for SSL.
Database Stores | Developer-level database (e.g., PointBase) located on development machine | Enterprise-level database
Web proxy server/Load Balancer | Not required in an unclustered environment | Used to load balance, access information behind a firewall, enable secure access to multiple domains, and provide inter-application communication
Deployment Process | Application auto-deploy enabled | Automated deployment of applications using WebLogic Server tools and scripts

Because of the significant differences between the two environments, and the likely test environment in between, moving your application from development to production is typically a multi-stage process, as described in the next section.

## Understanding the Application Promotion Process

Promoting an application from a development environment to an enterprise production environment can be a complex process requiring a fair amount of planning, preparation, coordination, and testing. It is a multi-step process: the application typically is deployed into one or more intermediate environments where it is integrated with other applications, undergoes rigorous testing, and runs in configurations that are scaled up or in which application resources are increasingly distributed. This document refers to this multi-step process toward production as the promotion process, or application promotion.

For example, the promotion process may consist of promoting an application from development to production in two or more stages. The following figure depicts a promotion process that moves the application through four stages.

Figure 1-1 Example Set of Stages in the Application Promotion Process

It is critical for teams to adopt a process for promoting an application production to ensure a successful production system deployment, as described later in this section.

## How WebLogic Platform Supports Application Promotion

WebLogic Platform supports the application promotion process by providing a rich set of tools for creating and configuring the target application environment, building and deploying applications, and propagating application and security data. Most of these tools provide both a graphical user interface and scripting interface for ease-of-use and automation. The script-based tools give you the ability to automate application promotion.

While these tools facilitate the promotion process, they cannot take the place of a comprehensive plan. The section that follows discusses application promotion planning in more detail.

## Planning the Promotion

Planning the application promotion process from development to production is critical. Planning how you will promote an application from development to production helps to ensure a successful production deployment. This planning spans two broad areas:

- Defining the intermediate stages in which the application is to be promoted from development to production, and what changes are made at each stage.
- Identifying how each the environment will be configured at each stage, and the resources required to support the use and testing of the application in each stage.

When members of development, testing, and production teams collaborate to create a promotion plan, the plan has the buy-in, understanding, and sponsorship of all the people needed to create a reliable and reproducible production deployment.

A promotion plan includes detailed descriptions of the setup tasks and requirements for each environment in which the application is developed and deployed. Those involved in the development and deployment of the application collaborate to create a promotion plan. Detailed checklists are provided in this document, in Deployment Checklists, to facilitate the creation of an application promotion plan.

In short, the promotion plan is meant to address the following:

- Hardware and software requirements of each target environment, including:

- The complete set of hardware required at each stage, including the machines hosting the database, load balancers, firewalls, etc., including IP addresses, DNS names, and ports, as appropriate
- Network requirements
- Software requirements, including WebLogic Platform, operating systems, third-party software, software version control tools, etc.

- Domain configuration requirements, including:

- Machine addresses, DNS names, and listening ports for hosting the domain, specifically the Administration Server, Managed Servers, and cluster
- Configuration information for Relational Database Management System (RDBMS) used
- Node Manager requirements
- Shared file system requirements, such as Storage Area Network
- SDK requirements
- Application requirements for system-level resources, such as: JMS for reliable messaging; persistent storage for conversational Web services; logging
- Cluster requirements, including replication groups, load balancing for EJBs

- Security requirements, including:

- Required WebLogic security providers
- LDAP server requirements
- List of resources that need to be secured, including security policies required to protect them
- SSL requirements, including certificates and how they are stored, identity of Certificate Authority, etc.
- Action on Security advisories that are required

- Application file requirements, such as:

- Version control requirements; for example, identifying files to maintain in a version control tool such as Perforce® or CVS.
- Source code changes required for the target environment, such as for enabling high availability or specific security requirements
- Deployment descriptor changes
- Configuration changes required for WebLogic Integration application views

- Application packaging and deployment requirements, such as:

- Scripts for automating various tasks
- Library files, JAR files, etc. that need to be included
- Deployment format requirements, such as compressed vs. exploded EAR format, stage vs. nostage
- Deployment order requirements

- Configuration tools, application build tools, and deployment tools to be used; for example, Configuration Wizard, WLST Offline, `wlwBuild`, `weblogic.deploy`, source control management system
- A test plan, which specifies the set of unit, stress, or other QA test requirements for each promotion stage

Just as importantly, a promotion plan also identifies the team members who will be involved in each stage of promotion, and their specific roles, tasks, and responsibilities at each stage.

## Summary of Tasks for Promoting a WebLogic Platform Application to Production

The following table summarizes the tasks that need to be performed to promote an application from a development environment into a production environment.

Table 1-2 Summary of Tasks for Promoting a WebLogic Platform Application to Production

Step | Description
--- | ---
Installation and Network Requirements | Install WebLogic Platform in a secure manner on all machines targeted for use in the domain, and procure a product cluster production license for each required installation. Set up the network in a secure manner. For more information, see Checklist for Installation and Network Configuration Requirements.
Creating and Configuring the WebLogic Domain | Create the WebLogic domain and set up the remote Managed Servers.
Configuring the Production Database | Set up the RDBMS for the production environment and populate it with data.
Configuring Security | Secure the target environment and promote embedded LDAP security data to the target database. Import security information from the prior environment, as appropriate; for example, user and group information, and policies set on applications and resources.
Using Load Balancers and Web Proxy Servers | Use a load balancer or Web proxy server if the target environment includes a cluster. A load balancer/Web proxy server distributes client connection requests, provides load balancing and failover across the cluster, and provides security by concealing the local area network addresses from external users.
Preparing the Application for Deployment | Modify application files so that the application can invoke other applications that may have different addresses, and to transition the application from running in non-clustered to a clustered environment. Comply with security requirements of the new environment, such as SSL.
Deploying the Application | Start the servers and deploy the application.

## Automating the Promotion Process

Before deploying an application to a production environment, or to one of the intermediate stages, you should configure the environment in a careful and controlled manner. Automating the steps in the promotion process via the use of tools and scripts provide the following advantages:

- Reproducibility—Enables you to reproduce an environment.
- Reliability—Ensures that you are executing a set of steps that have been tested, and eliminates errors introduced by manual operation.
- Ease-of-use—Enables you to deploy applications quickly and easily by executing a set of scripts.

The following figure illustrates how automation might be introduced at each stage of the promotion process. As shown, the level of automation increases at each stage. Scripts that are tested and proven in one stage can be applied in subsequent stages. In this example, the production stage is fully automated.

Figure 1-2 Example of Automating the Promotion Process

It is recommended that the directory structure be identical across all stages to simplify the creation and re-use of configuration templates and shell scripts.

The following table defines the WebLogic tools available to automate the process. These tools can be used in conjunction with Ant or other shell scripting tools.

Table 1-3 WebLogic Tools Used for Automating the Promotion Process

The following tool(s)... | Enables you to...
--- | ---
WebLogic Scripting Tool (WLST) | Perform administration tasks and initiate WebLogic configuration changes interactively or by using an executable script. There are two versions of WLST available from BEA's dev2dev site: WLST Offline—Enables you to create a new domain or update an existing domain without connecting to a running WebLogic Server—supporting the same functionality as the Configuration Wizard. Instructions for setting up and using WLST offline, as well as sample scripts for configuring domains, are available from dev2dev code sample site at the following URL: `https://codesamples.projects.dev2dev.bea.com/servlets/Scarab?id=97` WLST Online—Enables you to perform administrative tasks and initiate WebLogic Server configuration changes while connected to a running server. Instructions for setting up and using WLST online, as well as sample scripts for configuring WebLogic Server, are available from dev2dev code sample site at the following URL: `https://codesamples.projects.dev2dev.bea.com/servlets/Scarab?id=13` Examples are provided in this document to illustrate automation of key Platform deployment steps using WLST Offline.
Configuration Wizard Silent-mode Configuration | Execute the Configuration Wizard as a noninteractive process. The Configuration Wizard reads configuration settings from a script that you manually create prior to execution. Note: This tool and the WLST Offline tool support the same functionality. For more information about silent-mode configuration, see Creating WebLogic Configurations Using the Configuration Wizard.
WebLogic Server Command-Line Interface | Manage a WebLogic Server domain by issuing commands manually on the WebLogic Server command line. This method enables you to manage a domain without the Administration Console, when use of the console is neither practical nor desirable. For more information, see weblogic.Admin Command-Line Reference in the WebLogic Server Command Reference.
Java Utilities | Perform common tasks, such as deploying applications and testing DBMS configurations. For more information, see Using the WebLogic Server Java Utilities in the WebLogic Server Command Reference.
Ant Tasks | Create powerful build scripts. For more information, see: Using Ant Tasks to Configure a WebLogic Server Domain in the WebLogic Server Command Reference. The Apache Ant Project Web site at: `http://ant.apache.org`
Deployment Tools | Deploy applications and standalone modules to WebLogic Server. For more information, see Deployment Tools Reference in Deploying WebLogic Server Applications.
WebLogic Portal Propagation Utility and Datasync Web Application | Promote LDAP and portal database data. For more information, see Using the Propagation Utility and Using the Datasync Web Application in the WebLogic Portal Production Operations User Guide.
WebLogic Integration Bulk Loader | Import, export, and delete trading partner data, including trading partner profiles, certificates from keystores, service definitions, and service profiles. For more information, see Using the Trading Partner Bulk Loader in Managing WebLogic Integration Solutions.

The examples provided throughout this document illustrate how you can automate the promotion process using a subset of the tools listed above.

# Where to Find Additional Information

This document supplements the information provided in the following guides, which describe the deployment considerations for applications that are built using a single WebLogic Platform component, such as WebLogic Portal or WebLogic Integration. You may wish to reference them for more information at points indicated throughout this document.

- Deploying WebLogic Server Applications—describes how to deploy WebLogic Server applications in a production environment.
- Production Operations User Guide—describes how to manage the portal life cycle, from portal development to staging and testing to live production environments.
- Deploying WebLogic Integration Solutions—describes how to deploy WebLogic Integration solutions in a production environment.
- Deploying an Application to a Production Server in WebLogic Workshop Online Help—describes the basic concepts of deploying WebLogic Workshop applications in a production mode.

For a set of sample WLST scripts demonstrating how to configure WebLogic domain resources using WLST, see `https://wlst.projects.dev2dev.bea.com`.

Note: Code samples and utilities are posted on dev2dev for your convenience. They are not products supported by BEA.

For an illustration of how to promote and extend the WebLogic Platform Tour from a development to a clustered production environment, review Clusterizing End2End on WebLogic Platform 8.1, available on the dev2dev Web site at the following URL:

`http://dev2dev.bea.com/products/wlplatform81/articles/clusterizing_E2E.jsp`

Note: The Tour is included with the WebLogic Platform installation. For more information about the Tour, see the ``WebLogic Platform Tour Guide.