Deploying WebLogic Platform Applications
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:
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:
web.xml
(J2EE), and weblogic.xml
(WebLogic Server)Deploying a WebLogic Platform application into a production environment requires:
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.
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.
This section discusses the following topics about promoting a WebLogic Platform application to a production environment:
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.
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.
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.
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 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:
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:
wlwBuild
, weblogic.deploy
, source control management systemJust 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.
The following table summarizes the tasks that need to be performed to promote an application from a development environment into a production environment.
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. |
|
Create the WebLogic domain and set up the remote Managed Servers. |
|
Set up the RDBMS for the production environment and populate it with data. |
|
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. |
|
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. |
|
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. |
|
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:
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.
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:
|
|
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. |
|
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. |
|
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. |
|
Create powerful build scripts. For more information, see:
|
|
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. |
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.
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.
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.