1 Introduction

This document provides information about Fusion Middleware domain and extension templates, which are Java Archive (JAR) files that contain the files and scripts required to create or extend a WebLogic domain.

This document contains the following topics:

Types of Templates

The types of template include:

  • Domain template—defines the full set of resources within a domain, including infrastructure components, applications, services, security options, and general environment and operating system options.

    The WebLogic Server product installation includes a predefined Basic WebLogic Server Domain template. This template defines the core set of resources within a WebLogic domain, including an Administration Server and basic configuration information. For more information on the Basic WebLogic Server Domain template, see Basic WebLogic Server Domain Template.

    You can create a custom domain template from an existing domain by using the Domain Template Builder or the pack command. You can also create a domain template from an existing domain template by using the Domain Template Builder.

  • Extension template—defines the applications and services that you can add to an existing domain, including product component functionality and resources such as JDBC or JMS.

    The WebLogic Server product installation includes several predefined extension templates. The templates that are available to you in the Configuration Wizard depend on the product you are installing. WebLogic Server installations include the templates described in WebLogic Server Templates.

    You can create a custom extension template from an existing domain or template by using the Domain Template Builder.

  • Managed Server template – defines the subset of resources within a domain that are required to create a Managed Server domain directory on a remote machine.

    You can create a custom Managed Server template by using the pack command. For more information, see Creating Templates and Domains Using the Pack and Unpack Commands.

Location of Installed WebLogic Server Templates

The following table identifies the location of the predefined template JAR files provided with the WebLogic Server installation, where WL_HOME represents the product installation directory.

Table 1-1 Location of Templates

Type of Template Directory Location

Domain

WL_HOME\common\templates\domains

Extension

WL_HOME\common\templates\applications

Template Tools

The following table identifies the tools with which you can create templates and the tools with which you can use templates to create or extend a domain.

Table 1-2 Template Tools

To Use this tool

Create a domain

  • Configuration Wizard

  • WLST Offline

  • unpack command

Extend an existing domain

  • Configuration Wizard

  • WLST Offline

Create a Managed Server domain on a remote machine

unpack command

Create a domain template

  • Domain Template Builder

  • pack command

  • WLST Offline

Create an extension template

Domain Template Builder

Create a Managed Server template

pack command


Note:

All the tools used to create or extend a domain leverage a common underlying infrastructure, which is referred to as the Configuration Wizard framework.

Template Dependencies

WebLogic Server resources must be set up in your domain before you can add resources from an extension template. This is known as a template dependency. For example, all extension templates provided with your product are dependent on, at the very least, the Administration Server and security realm resources that are configured by the Basic WebLogic Server Domain template. Other extension templates depend on resources from multiple templates. For example, to extend a domain to support the WebLogic Server Examples, the existing domain must already contain the resources from the Basic WebLogic Server Domain template and the WebLogic Server Default Domain extension template.

The template-info.xml file in a template JAR defines the template dependencies for a given template. Dependencies are chained. For example:

  • Template A defines a dependency on Template B and Template C in its template-info.xml file.

  • Template B defines a dependency on Template D and Template E in its template-info.xml file.

  • Template C defines a dependency on Template F in its template-info.xml file.

In this example, if you select Template A on the Configuration Wizard's Templates screen, templates B, C, D, E, and F are automatically included in the domain. If any of these templates are displayed on the Templates screen, you will see the check boxes for those template automatically selected. This ensures that when you select a product template on the Configuration Wizard Templates screen, the Configuration Wizard automatically includes in the domain all other product templates that configure resources required by the product you selected.

Similarly, if you specify a template JAR in a WLST script, all other templates that are dependencies of that template (either directly or indirectly) are included in the domain. Using the above example, if you specify Template A in a WLST script, templates B, C, D, E, and F are also included in the domain without you having to explicitly specify them in the script.

Files Typically Included in a Template

The basic files included in any template are config.xml and template-info.xml. A domain is created or extended based on these files, as well as additional files that are included in the template. The following table describes the files typically included in all domain and extension templates.

Table 1-3 Files Included in a Template

Filename Description

product component files

Various files used to complete the domain setup for a specific Oracle product component. Such files may provide information for security and default database settings.

*-jdbc.xml

Sets up or extends a domain with JDBC system resources required by a product component. In a template, the *-jdbc.xml files must be located in the config\jdbc directory. There is one XML file for each JDBC resource in the domain. These files are present only if the domain includes JDBC resources.

*-jms.xml

Sets up or extends a domain with JMS system resources required by a product component. In a template, the *-jms.xml files must be located in the config\jms directory. This is applicable only if the domain requires JMS resources.

clusters.script

Used to modify the Configuration Wizard framework's default auto-configuration of a cluster. By default, resources are targeted to the cluster. You can unassign a resource from the cluster and then assign it to another component. To specify a target, you can use the following replacement variables:

  • %AManagedServer%—Any Managed Server

  • %AllManagedServers%—Comma-separated list of all Managed Servers

  • %AdminServer%—Administration Server name

  • %Cluster%—Cluster name

  • %ProxyServer%—Proxy server name

  • %HTTPProxyApp%—http proxy application definition

Note the following additional considerations:

  • You must use the name attribute of an object that is to be replaced.

  • You can use an asterisk (*) as a wildcard for "All."

This file is not required. When used, it must be located in the script directory. If it is not present, default targeting is used.

config.xml

Defines the resources that the template creates or adds to a domain. In a template, the config.xml file must be located in the config directory.

config-groups.xml

This file contains definitions of applications, services, servers, clusters, and mappings that create a relationship among these items. It enables movement of functionally related applications and services as a single operation when transitioning from one topology to another (for example, from a single server to multiple servers, or from a single server to a cluster). This ensures that all application and service dependencies are met when scaling a domain configuration.

Note: Do not modify this file in any way. It must be used as provided in the template.

An Application/Service group specifies a set of functionally related applications and services. The applications and services are grouped together on a particular server or cluster.

The Domain Topology section contains definitions of servers, as well as the targeting of applications and services to a specific server, group or servers or clusters. It contains the following definitions:

  • Server group definitions—Specifies a server or servers that can house functionally related sets of applications and services, thereby enabling automatic server creation.

  • Cluster group definitions—Specifies a cluster that can house functionally related sets of applications and services, thereby enabling automatic cluster creation.

  • Application/Service group mapping definitions—Specifies targeting of an Application/Service group to a specific server, group of servers, or cluster, via the name of the Application/Service group.

database.xml

This file is included only in Fusion Middleware product templates that require JDBC data source definitions. It groups data sources into component schemas that are required to configure and load data into database objects via the Oracle Repository Creation Utility (RCU). It also contains the eligible database vendors and drivers, eliminating the possibility of selecting an unsupported database in the Fusion Middleware Configuration Wizard.

Note: Do not modify this file in any way. It must be used as provided in the template.

jdbc.index

Identifies the locations of SQL scripts used to set up a database. The file lists the scripts in the order in which they must be run. If the scripts are not contained in the template, but are located in the product installation directory, that directory can be represented by a tilde ( ~ ) in the pathname for the scripts, as shown in the following example:

~/integration/common/dbscripts/oracle/reporting_runtime.sql

Specifically, the tilde represents the directory path identified by the $USER_INSTALL_DIR$ variable in the stringsubs.xml file.

In a template, a jdbc.index file must be located in the _jdbc_\dbtype\dbversion directory, where dbtype is the type of database, such as Oracle, and dbversion is the database version, such as 9i.

In addition to listing the SQL files related to a data source, the jdbc.index file contains information about the categories associated with the data source. The default dbCategories that are available are:

  • 'Drop/Create P13N Database Objects' category associated with the p13nDataSource data source, which is a part of the p13n.jar domain template.

  • 'Drop/Create Portal Database Objects' category associated with the "p13nDataSource" data source, which is a part of the wlp.jar domain template.

  • 'Drop/Create GroupSpace Database Objects' category associated with the appsGroupSpaceDataSource data source, which is a part of the wlp_groupspacedb.jar domain template.

All these template jar files are located in the WL_HOME\common\templates\applications directory.

jvm-config.xml

This file is specific to FMW product installations in a WebSphere environment, and can be ignored in a WebLogic Server environment.

security.xml

Used to create user groups and roles that establish identity and access to domain resources. You can create the default Admin user only through the security.xml file in a domain template. However, you can create user groups and roles through the security.xml file included in either a domain or an extension template.

startmenu.xml

Used to create Windows Start menu entries.

startscript.xml

Used to create the *.cmd and *.sh files that are placed into a domain's root and bin directories.

stringsubs.xml

Identifies string substitution values and files that will receive string substitutions during domain creation or extension. The files that will receive string substitutions must already be prepared with replacement variables. During domain creation or extension, the Configuration Wizard framework runs macros to replace variables with the appropriate string substitution, using information from WL_HOME\common\lib\macrorules.xml, where WL_HOME is the WebLogic Server installation directory.

template-info.xml

Provides template identification information, such as the template name, software version, type of template (domain or application), author, description, and so on. This file also includes template dependency information (if applicable).

was-variable.xml

This file is specific to FMW product installations in a WebSphere environment, and is ignored in a WebLogic Server environment.