10 Deploying Applications

Deployment is the process of packaging application files as an archive file and transferring them to a target application server. This chapter describes how to deploy applications, such as Java EE or SOA applications, to Oracle Fusion Middleware.

An Oracle SOA Suite composite application. A SOA composite application is a single unit of deployment that greatly simplifies the management and lifecycle of SOA applications.

An Oracle WebCenter application. WebCenter applications differ from traditional Java EE applications in that they support run-time customization, including the application's pages, the portlets contained within these pages, and document libraries.

A Metadata Archive (MAR) is a compressed archive of selected metadata, such as the application-level deployment profile, for an application. A MAR is used to deploy metadata content to the metadata service (MDS) repository. The following application types use a MAR as a container for content that is deployed to the MDS Repository: ADF applications, SOA composite applications, and Oracle WebCenter applications.

Note:

If your application uses password indirection in the application-level data source, you cannot use Fusion Middleware Control to deploy the application. The section "Deploying an Application to an EAR File to run on Oracle WebLogic Server" in the Oracle JDeveloper Help describes how to change the settings of the application to be able to deploy the application using Fusion Middleware Control.

You can use Fusion Middleware Control, Oracle WebLogic Server Administration Console, Oracle JDeveloper, or the command line to deploy, undeploy, or redeploy an application. Which method you use depends on the type of application, as described in Table 10-1.

Table 10-1 Tools to Deploy Applications

Type of Application

Tools to Use

Pure Java EE application

Oracle WebLogic Server Administration Console

Fusion Middleware Control: Deployment Wizard

Oracle JDeveloper

WLST command line

ADF application

Fusion Middleware Control: Deployment Wizard

Oracle JDeveloper

WLST command line

SOA Composite application

Fusion Middleware Control: SOA Composite Deployment Wizard

Oracle JDeveloper

WLST command line

WebCenter application

Fusion Middleware Control: Deployment Wizard

Oracle JDeveloper

WLST command line

If your application uses an MDS Repository, you must register the repository with the Oracle WebLogic Server domain before you deploy your application. Applications such as custom Java EE applications developed by your organization and some Oracle Fusion Middleware component applications, such as Oracle B2B and Oracle Web Services Manager, use an MDS Repository. For information about the MDS Repository and registering the repository, see Section 14.3.

Note:

If your application contains an application-level credential store, and you are moving the application from a test to a production environment, you must reassociate the credential store, as described in "Reassociating the Domain Policy Store" in the Oracle Fusion Middleware Application Security Guide.

10.1.2 Understanding Deployment, Redeployment, and Undeployment

When you deploy an application, you deploy it to the application server for the first time.

When you redeploy an application, you can:

Redeploy a new version of the application; the previous version is still available, but the state is set to "Retired."

This is known as the production redeployment strategy. Oracle WebLogic Server automatically manages client connections so that only new client requests are directed to the new version. Clients already connected to the application during the redeployment continue to use the older version of the application until they complete their work, at which point Oracle WebLogic Server automatically retires the older application.

Redeploy the same version of the application or redeploy an application that is not assigned a version; the application version you select is replaced with the new deployment.

Redeploy a previous version of the application; the earlier, retired version is set to "Active" and the later version is set to "Retired."

When you undeploy an application, Oracle WebLogic Server stops the application and removes staged files from target servers. It does not remove the original source files used for deployment.

10.2 Understanding and Managing Data Sources

A data source is a Java object that application components use to obtain connections to a relational database. Specific connection information, such as the URL or user name and password, are set on a data source object as properties and do not need to be explicitly defined in an application's code. This abstraction allows applications to be built in a portable manner, because the application is not tied to a specific back-end database. The database can change without affecting the application code.

Applications use the Java Naming and Directory Interface (JNDI) API to access a data source object. The application uses a JNDI name that is bound to the data source object. The JNDI name is logical and can be mapped to any data source object. Like data source properties, using JNDI provides a level of abstraction, since the underlying data source object can change without any changes required in the application code. The end result is the details of accessing a database are transparent to the application.

When you configure certain Oracle Fusion Middleware components, such as Oracle SOA Suite or Oracle WebCenter, using the Oracle WebLogic Server Configuration Wizard, you specify the data source connection information. If the components use the MDS Repository, the Configuration Wizard prepends "mds-" to the data source name to indicate that the data source is a system data source used by MDS Repository.

If you are using Oracle Real Application Clusters (Oracle RAC) or Oracle Fusion Middleware Cold Failover Cluster, you must configure multi data sources. To do so, you must use the Oracle WebLogic Server Administration Console. Note that if you create a multi data source and you add an existing MDS data source to it, the data source you added is no longer considered a valid MDS Repository. The repository is not displayed in Fusion Middleware Control or Oracle WebLogic Server Administration Console. For example, the MDS Repository is not listed in the Fusion Middleware Control navigation pane and is not displayed as a choice for a target metadata repository when you deploy an application.

10.2.1Creating and Managing JDBC Data Sources

You can create and manage JDBC data sources using the following management tools:

The Oracle WebLogic Server Administration Console

The WebLogic Scripting Tool (WLST)

Fusion Middleware Control

To create an MDS data source manually, you should use Fusion Middleware Control or WLST to set the correct attributes for the data source. The MDS data source is displayed in the navigation pane in Fusion Middleware Control and in the domain structure in the Administration Console. If your application uses an MDS Repository, you must register the repository with the Oracle WebLogic Server domain before you deploy your application. For information about the MDS Repository and registering the repository, see Section 14.3.

Note:

When you create the data source, you must use the MDS schema created by the Repository Creation Utility (RCU), not other schemas.

Although it is not recommended, you can also use the Oracle WebLogic Server Administration Console to create a MDS data source. If you do, note the following:

You must prefix the data source name with "mds-" if you intend it to be used with MDS Repository.

You must target the data source to the Administration Server and to all Managed Servers to which you are deploying applications that need the data source.

Follow the instructions in the wizard to set the properties of the data source and to target the data source for one or more of the Managed Servers in the domain.

For help on individual fields and properties, use your mouse to give focus to a field. Fusion Middleware Control displays a popup definition of the field.

Note that the data source properties you define in Fusion Middleware Control are similar to those you define when creating data sources in the Oracle WebLogic Server Administration Console. As a result, you can also refer to "Creating a JDBC Data Source" in Oracle Fusion Middleware Configuring and Managing JDBC for Oracle WebLogic Server for more information about the data source properties.

10.2.1.2Editing a JDBC Data Source Using Fusion Middleware Control

To edit an existing JDBC data source using Fusion Middleware Control:

From the navigation pane, expand the farm, then WebLogic Domain.

Select the domain to display the Domain home page.

From the WebLogic Domain menu, choose JDBC Data Sources.

The JDBC Data Sources page is displayed.

Select the data source that you want to edit.

Click Edit to display the Edit JDBC Data Source page.

Use the tabs on this page to modify the properties of the selected data source.

For help on individual fields and properties, use your mouse to give focus to a field. Fusion Middleware Control displays a popup definition of the field.

Note that the data source properties you edit in Fusion Middleware Control are similar to those you edit when editing data sources in the Oracle WebLogic Server Administration Console. As a result, you can also refer to "Creating a JDBC Data Source" in Oracle Fusion Middleware Configuring and Managing JDBC for Oracle WebLogic Server for more information about the data source properties.

10.2.1.3 Monitoring a JDBC Data Source Using Fusion Middleware Control

To monitor a JDBC data source using Fusion Middleware Control:

From the navigation pane, expand the farm, then WebLogic Domain.

Select the domain to display the Domain home page.

From the WebLogic Domain menu, choose JDBC Data Sources.

The JDBC Data Sources page is displayed.

Select the data source that you want to monitor.

Click Monitoring to display the Monitor JDBC Data Source page.

This page shows the current instances of the selected data source.

Note that only data sources that are targeted to a running Managed Server are shown on this page. If a specific data source is not listed on the monitoring page, then edit the data source to be sure it is targeted to a running Managed Server.

10.2.1.4 Controlling a JDBC Data Source Using Fusion Middleware Control

To start, stop, suspend, resume, or clear the statement cache for a JDBC data source using Fusion Middleware Control:

From the navigation pane, expand the farm, then WebLogic Domain.

Select the domain to display the Domain home page.

From the WebLogic Domain menu, choose JDBC Data Sources.

The JDBC Data Sources page is displayed.

Select the data source that you want to edit.

Click Control to display the Control JDBC Data Source page.

Note that only data sources that are targeted to a running Managed Server are shown on this page. If a specific data source is not listed on the control page, edit the data source to be sure that it is targeted to a running Managed Server.

Note that the commands you select on this page are similar to those available when you are managing data sources in the Oracle WebLogic Server Administration Console. Refer to "Managing WebLogic JDBC Resources" in Oracle Fusion Middleware Configuring and Managing JDBC for Oracle WebLogic Server for more information about the JDBC data source control options.

10.3Deploying, Undeploying, and Redeploying Java EE Applications

You can use Fusion Middleware Control, Oracle WebLogic Server Administration Console, Oracle JDeveloper, or the command line to deploy, undeploy, or redeploy a Java EE application. The following topics describe using Fusion Middleware Control and the command line to accomplish these tasks:

In the Archive or Exploded Directory section, you can select one of the following:

Archive is on the machine where this browser is running. Enter the location of the archive or click Browse to find the archive file.

Archive or exploded directory is on the server where Enterprise Manager is running. Enter the location of the archive or click Browse to find the archive file.

In the Deployment Plan section, you can select one of the following:

Create a new deployment plan when deployment configuration is done.

Deployment plan is on the machine where this web browser is running. If you select this option, enter the path to the plan.

Deployment plan is on the server where Enterprise Manager is running. If you select this option, enter the path to the plan.

Click Next.

The Select Target page is displayed.

Select the target to which you want to deploy the application. The Administration Server, Managed Servers, and clusters are listed. You can select a cluster, one or more Managed Servers in the cluster, or a Managed Server that is not in a cluster. Although the Administration Server is shown in the list of targets, you should not deploy an application to it. The Administration Server is intended only for administrative applications such as the Oracle WebLogic Server Administration Console.

Click Next.

The Application Attributes page is displayed.

In the Application Attributes section, for Application Name, enter the application name.

In the Context Root of Web Modules section, if the Web module does not have the context root configured in the application.xml file, you can specify the context root for your application. The context root is the URI for the Web module. Each Web module or EJB module that contains Web services may have a context root.

Depending on the type of application, in the Deployment Tasks section, you can:

Configure Web modules: Click Go to Task in the Configure Web Modules row. The Configure Web Modules page is displayed. Click Configure General Properties to view and edit the general configuration for the Web Module or Map Resource References to map the resource references.

For example, you can change the session invalidation interval or the maximum age of session cookies.

Configure EJB modules: Click Go to Task in the Configure EJB modules row to set standard EJB deployment descriptor properties. The Configure EJB Modules page is displayed. Click Configure EJB Properties to view and edit the general configuration for the EJBs or Map Resource References to map the resource preferences.

For example, you can configure the maximum number of beans in the free pool or the network access point.

Configure application security: Click Go to Task in the Configure Application Security row. Depending on what type of security is used, different pages are displayed, as described in Section 10.8.

You can edit and save the deployment plan, if you choose. If you edit the deployment plan and change descriptor values, those changes are saved to the deployment plan. In addition, the following configurations are saved to the deployment plan:

Application attributes

Web module configuration

EJB configuration

Application attributes related to MDS are stored in the file adf-config.xml. Application security attributes are stored in weblogic-application.xml.

Fusion Middleware Control updates the relevant files and repackages the .ear file.

Click Deploy.

Fusion Middleware Control displays processing messages.

When the deployment is completed, click Close.

To deploy an application to multiple servers at the same time, navigate to the domain. Then, from the WebLogic Domain menu, select Application Deployment, then Deploy. The deployment wizard displays a page where you can select the servers.

To deploy an application to a cluster, select the cluster. Then, from the Cluster menu, select Application Deployment, then Deploy.

10.3.1.2 Deploying Java EE Applications Using WLST

You can deploy an application using the WLST command line. To deploy a Java EE application when WLST is connected to the Administration Server, you use the WLST command deploy, using the following format:

deploy(app_name, path [,targets] [,stageMode] [,planPath] [,options])

You must invoke the deploy command on the computer that hosts the Administration Server.

10.3.2Undeploying Java EE Applications

You can undeploy an application or a specific version of an application from a WebLogic Server Managed Server instance or a cluster. This section describes how to undeploy an application from a Managed Server. If an application has been deployed to multiple servers, when you undeploy it using Fusion Middleware Control, the application is undeployed from all the servers.

To undeploy a Java EE application from a Managed Server using Fusion Middleware Control:

From the navigation pane, expand Application Deployments.

Select the application to undeploy.

The application home page is displayed.

From the Application Deployment menu, choose Application Deployment, then Undeploy.

The confirmation page is displayed.

Click Undeploy.

Processing messages are displayed.

When the operation completes, click Close.

Alternatively, you can navigate to the domain, Managed Server, or cluster. Then, from the target's menu, choose Application Deployment, then Undeploy. In the Select Application page, select the application you want to undeploy.

10.3.2.2 Undeploying Java EE Applications Using WLST

You can undeploy an application using the WLST command line. To undeploy a Java EE application when WLST is connected to the Administration Server, you use the WLST command undeploy, using the following format:

undeploy(app_name, path [,targets] [,options])

You must invoke the undeploy command on the computer that hosts the Administration Server.

For example, to undeploy the application businessApp from all target servers and specify that WLST wait 60,000 ms for the process to complete:

wls:/mydomain/serverConfig> undeploy('businessApp', timeout=60000)

10.3.3Redeploying Java EE Applications

You can redeploy a new version of an updated application, redeploy the same version, or redeploy a non-versioned application. You can redeploy an application to a cluster or a Managed Server. This section describes how to redeploy an application to a Managed Server.

To redeploy a Java EE application to a Managed Server using Fusion Middleware Control:

From the navigation pane, expand the farm, then Application Deployments.

Select the application.

The application home page is displayed.

From the Application Deployment menu, choose Application Deployment, and then Redeploy.

The Select Application page is displayed.

Click Next.

In the Archive or Exploded Directory section, you can select one of the following:

Archive is on the machine where this browser is running. Enter the location of the archive or click Browse to find the archive file.

Archive or exploded directory is on the server where Enterprise Manager is running. Enter the location of the archive or click Browse to find the archive file.

In the Deployment Plan section, you can select one of the following:

Create a new deployment plan when deployment configuration is done.

Deployment plan is on the machine where this web browser is running. Enter the path to the plan or click Browse to find the plan file.

Deployment plan is on the server where Enterprise Manager is running. Enter the path to the plan or click Browse to find the plan file.

Click Next.

The Application Attributes page is displayed.

Click Next.

The Deployment Wizard, Deployment Settings page is displayed.

On this page, you can perform common tasks before deploying your application or you can edit the deployment plan or save it to a disk. Depending on the type of application, in the Deployment Tasks section, you can:

You can edit and save the deployment plan, if you choose. If you edit the deployment plan and change descriptor values, those changes are saved to the deployment plan. In addition, the following configurations are saved to the deployment plan:

Application attributes

Web module configuration

EJB configuration

Application attributes related to MDS are stored in the file adf-config.xml. Application security attributes are stored in weblogic-application.xml.

Fusion Middleware Control updates the relevant files and repackages the .ear file.

Click Redeploy.

Processing messages are displayed.

When the operation completes, click Close.

To redeploy an application to a cluster, select the cluster. Then, from the target's menu, select Application Deployment, then Redeploy.

10.3.3.2 Redeploying Java EE Applications Using WLST

You can redeploy an application using the WLST command line. To redeploy a Java EE application when WLST is connected to the Administration Server, you use the WLST command redeploy, using the following format:

redeploy(app_name [,planpath] [,options])

You must invoke the redeploy command on the computer that hosts the Administration Server.

For example, to redeploy the application businessApp from all target servers:

You can use Fusion Middleware Control, Oracle WebLogic Server Administration Console, Oracle JDeveloper, or the command line to deploy, undeploy, or redeploy an Oracle ADF application. The following topics describe using Fusion Middleware Control, the Administration Console, and the command line to accomplish these tasks:

10.4.1 Deploying Oracle ADF Applications

You can deploy an application to a WebLogic Server Managed Server instance or a cluster. This section describes how to deploy an application to a Managed Server. This example assumes that you have created an .ear file containing the ADF application.

10.4.1.1 Deploying ADF Applications Using Fusion Middleware Control

To deploy an Oracle ADF application using Fusion Middleware Control:

From the navigation pane, expand the farm, then WebLogic Domain, and then the domain.

Select the server in which you want to deploy the application.

The server home page is displayed.

From the WebLogic Server menu, choose Application Deployment, then Deploy.

The Deployment Wizard, Select Archive page is displayed.

In the Archive or Exploded Directory section, you can select one of the following:

Archive is on the machine where this browser is running. Enter the location of the archive or click Browse to find the archive file.

Archive or exploded directory is on the server where Enterprise Manager is running. Enter the location of the archive or click Browse to find the archive file.

In the Deployment Plan section, you can select one of the following:

Create a new deployment plan when deployment configuration is done.

Deployment plan is on the machine where this web browser is running. Enter the path to the plan.

Deployment plan is on the server where Enterprise Manager is running. Enter the path to the plan.

Click Next.

The Select Target page is displayed.

Select the target to which you want to deploy the application.

You can select a cluster, one or more Managed Servers in the cluster, or a Managed Server that is not in a cluster.

Click Next.

The Application Attributes page is displayed, as shown in the following figure:

In the Application Attributes section, for Application Name, enter the application name.

In the Context Root of Web Modules section, if the Web module does not have the context root configured in the application.xml file, you can specify the context root for your application. The context root is the URI for the Web module. Each Web module or EJB module that contains Web services may have a context root.

In the Target Metadata Repository section, you can choose the repository and partition for this application. If the partition name is not specified in the adf-config.xml file, the application name plus the version is used as the default partition name. This ensures that the partition used is unique in the domain so that the metadata for different applications are not accidentally imported into the same repository partition and overwrite each other. Typically, each application's metadata is deployed to its own partition.

To change the repository, click the icon next to the Repository Name. In the Metadata Repositories dialog box, select the repository and click OK.

To change the partition, enter the partition name in Partition Name. Oracle recommends that you create a new partition for each application. If you enter a name of a partition that does not exist, the partition is created.

The adf-config.xml file in the .ear file is updated with the new information.

If the partition or repository specified in the application is not valid in the domain, Fusion Middleware Control displays a message.

If the application's adf-config.xml file archive contains MDS configuration for an MDS shared repository, the Shared Metadata Repository section is displayed. In this section, you can choose the repository and partition for this application. If the partition or repository specified in the application is not valid in the domain, Fusion Middleware Control displays a message.

If you change the repository or partition, the adf-config.xml file in the .ear file is updated with the new information.

On this page, you can perform common tasks before deploying your application or you can edit the deployment plan or save it to a disk. Depending on the type of application, in the Deployment Tasks section, you can:

Configure Web modules: Click Go to Task in the Configure Web Modules row. The Configure Web Modules page is displayed. Click Configure General Properties to view and edit the general configuration for the Web Module or Map Resource References to map the resource references.

For example, you can change the session invalidation interval or the maximum age of session cookies.

Configure EJB modules: Click Go to Task in the Configure EJB modules row to set standard EJB deployment descriptor properties. The Configure EJB Modules page is displayed. Click Configure EJB Properties to view and edit the general configuration for the EJBs or Map Resource References to map the resource preferences.

For example, you can configure the maximum number of beans in the free pool or the network access point.

Configure application security: Click Go to Task in the Configure Application Security row. Depending on what type of security is used, different pages are displayed, as described in Section 10.8.

Configure ADF Connections: To modify the ADF connections, click Go to Task in the Configure ADF Connections row. The Configure ADF Connections page is displayed, showing the current connection information. To modify a connection type, click the Edit icon for a particular row. For example, you can modify the connection information for an external application. For more information about ADF connections, see Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.

10.4.1.2 Deploying ADF Applications Using WLST or the Administration Console

You can deploy an ADF application using the WLST command line or the Oracle WebLogic Server Administration Console.

Take the following steps:

If your application uses an MDS Repository, you must configure the application archive (.ear) file before you deploy your application. You must provide the repository information for the deploy target repository and any shared metadata repositories using the WLST getMDSArchiveConfig command. The repository specified must already be registered with the domain before deploying the application. The following example show how to use this command to get the MDSArchiveConfig and call the setAppMetadataRepository method to set the deploy target repository. Otherwise, your application will fail to start.

To deploy the application using the Oracle WebLogic Server Administration Console:

If you have not already done so, in the Change Center of the Administration Console, click Lock & Edit.

In the left pane of the Administration Console, select Deployments.

In the right pane, click Install.

See Also:

The Help in the Oracle WebLogic Server Administration Console

10.4.2 Undeploying Oracle ADF Applications

To undeploy an Oracle ADF application using Fusion Middleware Control:

From the navigation pane, expand Application Deployments, then the application to undeploy.

The application home page is displayed.

From the Application Deployment menu, choose Application Deployment, then Undeploy.

The confirmation page is displayed.

Click Undeploy.

Processing messages are displayed.

When the operation completes, click Close.

Alternatively, you can navigate to the domain, Managed Server, or cluster. Then, from the target's menu, choose Application Deployment, then Undeploy. In the Select Application page, select the application you want to undeploy.

Note that when you undeploy an application, documents stored in the MDS partition are not deleted.

10.4.3 Redeploying Oracle ADF Applications

When you redeploy an application, if the application contains a Metadata Archive (MAR), the contents of the MAR is imported to the application's metadata repository only if the MAR is changed. If the MAR is unchanged from previous deployment of the application, it is ignored.

To redeploy an Oracle ADF application using Fusion Middleware Control:

From the navigation pane, expand the farm, then Application Deployments.

Select the application.

The application home page is displayed.

From the Application Deployment menu, choose Application Deployment, and then Redeploy.

The Select Application page is displayed.

Click Next.

The Select Archive page is displayed.

In the Archive or Exploded Directory section, you can select one of the following:

Archive is on the machine where this browser is running. Enter the location of the archive or click Browse to find the archive file.

Archive or exploded directory is on the server where Enterprise Manager is running. Enter the location of the archive or click Browse to find the archive file.

In the Deployment Plan section, you can select one of the following:

Create a new deployment plan when deployment configuration is done.

Deployment plan is on the machine where this web browser is running. Enter the path to the plan.

Deployment plan is on the server where Enterprise Manager is running. Enter the path to the plan.

Click Next.

The Application Attributes page is displayed.

In the Application Attributes section, for Application Name, enter the application name.

In the Context Root of Web Modules section, if the Web module does not have the context root configured in the application.xml file, you can specify the context root for your application. The context root is the URI for the Web module. Each Web module or EJB module that contains Web services may have a context root.

The Target Metadata Repository section is displayed. In this section, you can choose the repository and partition for this application:

To change the repository, click the icon next to the Repository Name. In the Metadata Repositories dialog box, select the repository and click OK.

To change the partition, enter the partition name in Partition Name. Oracle recommends that you create a new partition for each application. If you enter a name of a partition that does not exist, the partition is created.

If the application's adf-config.xml file archive contains MDS configuration for an MDS shared repository, the Shared Metadata Repository section is displayed. In this section, you can choose the repository and partition for this application.

Click Next.

The Deployment Settings page is displayed.

On this page, you can perform common tasks before deploying your application or you can edit the deployment plan or save it to a disk. In the Deployment Tasks section, you can:

Service components such as Oracle Mediator for routing, BPEL processes for orchestration, human tasks for workflow approvals, business rules for designing business decisions, and complex event processing for queries of event streams

These components are assembled together into a SOA composite application. This application is a single unit of deployment that greatly simplifies the management and lifecycle of SOA applications.

You can use Fusion Middleware Control, Oracle JDeveloper, or the command line to deploy, undeploy, or redeploy a SOA application. The following topics describe using Fusion Middleware Control to accomplish these tasks:

In the Archive or Exploded Directory section, specify the archive of the SOA composite application to deploy. The archive contains the project files of the application to be deployed (for example, HelloWorld_rev1.0.jar for a single archive or OrderBooking_rev1.0.zip for multiple archives).

In the Configuration Plan section, optionally specify the configuration plan to include with the archive. The configuration plan enables you to define the URL and property values to use in different environments. During process deployment, the configuration plan is used to search the SOA project for values that must be replaced to adapt the project to the next target environment.

Click Next.

The Select Target page appears.

In the SOA Partition section, select the partition into which to deploy this SOA composite application. Partitions enable you to logically group SOA composite applications into separate sections. Note that even if there is only one partition available, you must explicitly select it. Once deployed, a composite cannot be transferred to a different partition.

Click Next.

The Confirmation page appears.

Review your selections.

Select whether or not to deploy the SOA composite application as the default revision. The default revision is instantiated when a new request comes in.

10.6 Deploying, Undeploying, and Redeploying WebCenter Applications

WebCenter applications differ from traditional Java EE applications in that they support run-time customization, such as the application's pages, the portlets contained within these pages, and the document libraries. Customizations are stored as follows:

WebCenter application customizations are stored in Oracle Metadata Services (MDS), which is installed in a database.

Portlet producer customizations (or preferences) are usually stored in a database preference store.

You can use Fusion Middleware Control, Oracle JDeveloper, or the command line to deploy, undeploy, or redeploy a WebCenter application. The following topics describe using Fusion Middleware Control to accomplish these tasks:

10.6.1 Deploying WebCenter Applications

To deploy your application to a Managed Server that resides outside JDeveloper, you must first create an application deployment plan. In Oracle JDeveloper, first create a project-level deployment profile and then an application-level deployment profile. The project-level deployment profile is packaged as a Web Application Archive (WAR) file. The application-level deployment profile is packaged as a Metadata Archive (MAR). A MAR is a compressed archive of selected metadata. A single MAR can contain metadata content of multiple projects. MAR files are used to deploy metadata content to the MDS Repository. For information about creating deployment plans with Oracle JDeveloper, see the Oracle Fusion Middleware Developer's Guide for Oracle WebCenter.

To deploy an Oracle WebCenter application to a Managed Server using Fusion Middleware Control:

From the navigation pane, expand the farm, then WebLogic Domain, and then the domain.

Select the server in which you want to deploy the application.

The server home page is displayed.

From the WebLogic Server menu, select Application Deployment, then Deploy.

The Deployment Wizard, Select Archive page is displayed.

In the Archive or Exploded Directory section, you can select one of the following:

Archive is on the machine where this browser is running. Enter the location of the archive or click Browse to find the archive file.

Archive or exploded directory is on the server where Enterprise Manager is running. Enter the location of the archive or click Browse to find the archive file.

In the Deployment Plan section, you can select one of the following:

Create a new deployment plan when deployment configuration is done.

Deployment plan is on the machine where this web browser is running. Enter the path to the plan.

Deployment plan is on the server where Enterprise Manager is running. Enter the path to the plan.

Click Next.

The Select Target page is displayed.

Select the target to which you want to deploy the application.

You can select a cluster, one or more Managed Servers in the cluster, or a Managed Server that is not in a cluster.

Click Next.

The Application Attributes page is displayed.

In the Application Attributes section, for Application Name, enter the application name.

In the Context Root of Web Modules section, specify the context root for your application if you have not specified it in application.xml. The context root is the URI for the Web module. Each Web module or EJB module that contains Web services may have a context root.

In the Target Metadata Repository section, you can choose the repository and partition for this application. If the partition or repository specified in the application is not valid in the domain, Fusion Middleware Control displays a message.

To change the repository, click the icon next to the Repository Name. In the Metadata Repositories dialog box, select the repository and click OK.

To change the partition, enter the partition name in Partition Name. Oracle recommends that you create a new partition for each application. If you enter a name of a partition that does not exist, the partition is created.

Each application must have a unique partition in the repository.

Click Next.

The Deployment Wizard, Deployment Settings page is displayed.

On this page, you can perform common tasks before deploying your application or you can edit the deployment plan or save it to a disk. Depending on the type of application, in the Deployment Tasks section, you can:

Configure Web modules: Click Go to Task in the Configure Web Modules row. The Configure Web Modules page is displayed. Click Configure General Properties to view and edit the general configuration for the Web Module or Map Resource References to map the resource references.

For example, you can change the session invalidation interval or the maximum age of session cookies.

Configure EJB modules: Click Go to Task in the Configure EJB modules row to set standard EJB deployment descriptor properties. The Configure EJB Modules page is displayed. Click Configure EJB Properties to view and edit the general configuration for the EJBs or Map Resource References to map the resource preferences.

For example, you can configure the maximum number of beans in the free pool or the network access point.

Configure application security: Click Go to Task in the Configure Application Security row. Depending on what type of security is used, different pages are displayed, as described in Section 10.8.

Configure ADF Connections: To modify the ADF connections, click Go to Task in the Configure ADF Connections row. The Configure ADF Connections page is displayed, showing the current connection information. To modify a connection type, click the Edit icon for a particular row.

10.6.2 Undeploying WebCenter Applications

From the navigation pane, expand Application Deployments, then the application to undeploy.

The application home page is displayed.

From the Application Deployment menu, select Application Deployment, then Undeploy.

The confirmation page is displayed.

Click Undeploy.

Processing messages are displayed.

When the operation completes, click Close.

Alternatively, you can navigate to the domain, Managed Server, or cluster. Then, from the target's menu, choose Application Deployment, then Undeploy. In the Select Application page, select the application you want to undeploy.

10.6.3 Redeploying WebCenter Applications

To redeploy a WebCenter Application:

From the navigation pane, expand the farm, then WebLogic Domain, and then the domain.

Select the server in which you want to deploy the application.

The server home page is displayed.

From the WebLogic Server menu, select Application Deployment, then Redeploy.

The Select Application page is displayed. You can only redeploy applications that are versioned. If the application is not versioned, you must undeploy, then redeploy.

Select the application to redeploy.

Click Next.

The Select Archive page is displayed.

In the Archive or Exploded Directory section, you can select one of the following:

Archive is on the machine where this browser is running. Enter the location of the archive or click Browse to find the archive file.

Archive or exploded directory is on the server where Enterprise Manager is running. Enter the location of the archive or click Browse to find the archive file.

In the Deployment Plan section, you can select one of the following:

Create a new deployment plan when deployment configuration is done

Deployment plan is on the machine where this web browser is running. Enter the path to the plan.

Deployment plan is on the server where Enterprise Manager is running. Enter the path to the plan.

Click Next.

The Application Attributes page is displayed.

In the Application Attributes section, for Application Name, enter the application name.

In the Context Root of Web Modules section, specify the context root for your application if you have not specified it in application.xml. The context root is the URI for the Web module. Each Web module or EJB module that contains Web services may have a context root.

In the Target Metadata Repository section, select the MDS Repository and for Partition Name, enter a partition name. If the partition or repository specified in the application is not valid in the domain, Fusion Middleware Control displays a message.

Click Next.

The Deployment Settings page is displayed.

On this page, you can perform common tasks before deploying your application or you can edit the deployment plan or save it to a disk. In the Deployment Tasks section, you can:

10.7 Managing Deployment Plans

A deployment plan is a client-side aggregation of all the configuration data needed to deploy an archive into Oracle WebLogic Server. A deployment plan allows you to easily deploy or redeploy an application using a saved set of configuration settings.

A new deployment plan is created by default if you do not apply an existing deployment plan to an application at the time of deployment, as described in Section 10.3.1. Once created, you can save a deployment plan as a file and reuse it for redeploying the application or for deploying other applications.

However, if you change the configuration of an application after it is deployed (for example, if you modify the MDS configuration of an application), then any existing deployment plans you saved no longer represent the configuration settings of the deployed application.

In such a situation, you can fetch a new deployment plan that more closely represents the configuration of the deployed application.

To fetch the deployment plan of an application that is currently deployed:

Select an application from the list of currently deployed applications.

Select a location where you want to save the deployment plan, and click Fetch.

You can save the plan to the computer where the Web browser is running or to the computer where Fusion Middleware Control is running.

In the resulting dialog box, specify a directory location for the saved deployment plan.

You can now use this deployment plan to later deploy or redeploy the application using the configuration currently in use by the application.

Alternatively, you can edit a deployment plan on the Deployment Settings page of the Application Deployment wizard.

10.8 About the Common Deployment Tasks in Fusion Middleware Control

When you deploy an application using Fusion Middleware Control, you can use the Deployment Settings page of the Deployment wizard to perform specific deployment configuration tasks before the application is deployed.

The following describes the deployment tasks that can appear on the Deployment Settings page, depending on the type of application you are deploying.

Configure Web modules

This deployment task is available when you are deploying any application that includes a Web module. In most cases, this means the application contains a Web application deployment descriptor (web.xml or weblogic.xml); however, a Web module can also be identified by annotations in the Java code of the application.

You can use this deployment task to set standard Web application deployment descriptor properties, such as:

Session validation interval

Maximum age of session cookies

Configure EJBs

This deployment task is available for any application that includes an EJB module. In most cases, this means the application contains an EJB deployment descriptor (ejb-jar.xml or weblogic-ejb-jar.xml); however, an EJB module can also be identified by annotations in the Java code of the application.

You can use this deployment task to set standard EJB deployment descriptor properties, such as:

The maximum number of beans in the free pool

The EJB network access point

Configure Application Security

This deployment task is available for all application types. However, the options available when you select this task vary depending on the existence of the following files in the application:

jazn-data.xml

If the jazn-data.xml file exists in the application, then you can:

Append, overwrite, or ignore policy migration.

If you are deploying the application for the first time, then select Append.

If the application was previously deployed and the application authorization policy exists, then select Append, or select Ignore to keep the application authorization policy.

To overwrite the previous policy, then select Overwrite.

Specify the Application stripe ID, if the stripe ID is inconsistent with the one defined in the migration options.

Specify that policies are removed when the application is undeployed.

cwallet.sso

If an cwallet.sso file exists in the application, then you can set additional application credential migration options.

If the application contains both files, the page displays both sections.

If neither of these files exists in the application, then you can use this task to determine how user roles and policies will be defined when the application is deployed. For example, you can choose to use only the roles and policies defined in the deployment descriptors, or you can choose to use only the roles and policies defined on the server. The Configure Application Security page displays the following options:

Deployment Descriptors Only: Use only roles and policies that are defined in the deployment descriptors.

Custom Roles: Use roles that are defined in the Administration Console; use policies that are defined in the deployment descriptor.

Custom Roles and Policies: Use only roles and policies that are defined in the Administration Console.

Advanced: Use a custom model that you have configured on the realm's configuration page.

Configure persistence

This deployment task is available for applications that contain one or more persistence.xml files. Using this task, you can configure the Java Persistent API (JPA) persistence units for the application.

You can view details about each persistence unit and define a Java Transaction API (JTA) data source or non-JTA data source for each persistence unit.

For more information about how persistence units and the persistence.xml file can be used in Java EE applications, refer to the definition of Persistence Units in the Java EE 5 Tutorial at the following Web site:

10.9 Changing MDS Configuration Attributes for Deployed Applications

If your application uses an MDS Repository, you can modify configuration attributes after the application is deployed. To view or modify the attributes, you can use the System MBean Browser or WLST.

Note:

Changes to the configuration persist in MDS as customizations. Because these persist as customizations:

Any changes made to the configuration are retained across application deployments. For example, assume that an application has an ExternalChangeDetectionInterval configuration attribute value set to 40 seconds through Oracle JDeveloper. If you change the ExternalChangeDetectionInterval configuration attribute to 50 seconds, and you redeploy the application, the value of the attribute remains at 50 seconds.

In a cluster, because all instances of the deployed application point to the same MDS Repository partition, all instances of the application use the same value. If a configuration attribute has been changed for one application instance, all instances of that application in a cluster use the changed value.

The following topics describe how you can change the MDS configuration attributes:

Table 10-2 describes the configuration attributes that are specific to MDS. Note that other attributes, such as ConfigMBean appear in the browser, but these are generic attributes for all MBeans.

Table 10-2 MDS Configuration Attributes for Deployed Applications

Attribute

Description

AppMetadataRepositoryInfo

Read only. Describes the metadata repository partition where the application is deployed.

AutoPurgeTimeToLive

Automatically purge versions of metadata documents older than the given time interval, specified in seconds. Any unlabeled versions older than this time interval are automatically purged on any subsequent update from this application. If the value is not set, versions are not automatically purged.

DeployTargetRepository

The name of the target repository configured for the application.

ExternalChangeDetection

Specifies that the MDS Repository is polled to determine if any metadata changes have been performed on other cluster nodes or by other applications. If changes are detected, notifications are sent to applications that share the repository.

Multiple applications can share metadata that is deployed to a shared repository. Changes performed by one application to this shared metadata can be detected by the other application. To do this, both the applications should configure the shared repository as part of their application configuration.

If the MDS Repository is being used by more than one application in the same JVM, then MDS polls for changes if any of those applications have ExternalChangeDetection set to true.

This attribute should only be set to false if the application metadata is never updated or if it is used only by this application and on a single server node.

This attribute is applicable only to database-based repositories. The default is true.

ExternalChangeDetectionInterval

The maximum time interval, in seconds, to poll the MDS Repository to determine if there are external metadata changes. This attribute is only valid if ExternalChangeDetection is enabled.

If the MDS Repository is shared and being used by more than one application in the same JVM, MDS uses the lowest of the values specified in the different applications for this attribute. As a result, changing the value of this parameter in one application only has an effect if the new value is lower than any values specified in the other applications.

The default is 30 seconds.

MaximumCacheSize

The maximum metadata cache size limit, in kilobytes. If the value is 0, caching is disabled. If no value is specified, there is no cache limit. In this case, cached data is stored indefinitely.

ReadOnlyMode

Changes the application to read-only mode, so that no updates can be made to the application's repository partition, including configuration and application metadata.

RetryConnection

Enables the application to retry the connection to the metadata repository after connection failure.

SharedMetadataRepositoryInfo

Read only. Specifies the MDS Repository partition used by the application. Note that an application can use more than one shared metadata repository.

To view or modify an attribute, select the attribute.

The attribute page is displayed.

If the attribute is not read-only, you can change the values. For example, for AutoPurgeTimeToLive, you can change the interval, by entering a new value in Value.

Click Apply.

Navigate up to ADFConfig (the parent of MDSAppConfig) and select it.

In the Operations tab, click Save.

Click Invoke.

10.9.2 Changing the MDS Configuration Using WLST

You can change the MDS configuration of an application using WLST. The following example shows a WLST script that reads and then sets the ReadOnlyMode attribute: