C H A P T E R  3

Deploying the Content Delivery Server

This chapter provides instructions for deploying the components of the Content Delivery Server. Make sure that your environment is properly set up as described in Chapter 2 before you proceed.

The following types of deployments are described in this section:

This section presents the following topics:


3.1 Basic Deployment

This section describes the steps for deploying a basic configuration, where all components of the Content Delivery Server are deployed to the same server. A basic deployment is usually the first deployment done to get started with the Content Delivery Server.

If you are running a simple configuration with a single Vending Manager, only a basic deployment is needed. If you are running a more complex configuration with more than one Vending Manager, do a basic deployment first, followed by one or more Vending Manager deployments. If you do not want to deploy a Vending Manager with the Catalog Manager, do a Catalog Manager deployment followed by one or more Vending Manager deployments.

3.1.1 Edit the init_env Shell Script

The Content Delivery Server contains a shell script named init_env.sh in the $CDS_HOME/bin directory. This script sets the environment variables described in the following table based on the values that you provide.


TABLE 3-1 Environment Variables to Set in init_env

Variable Name

Description

BEA_HOME

The WebLogic Server home directory. Set this to the directory that contains the license.bea file.

Note: This variable is required only if you are using WebLogic Server.

WL_HOME

The server directory under the installation directory for WebLogic Server. Set this to the directory that contains the /bin and /lib directories, for example, /usr/local/bea/weblogic/server.

Note: This variable is required only if you are using WebLogic Server.

SUN_AS_HOME

The install directory for the Sun Java System Application Server, for example, /opt/SUNWappserver/appserver.

Note: This variable is required only if you are using Sun Java System Application Server.

JAVA_HOME

The home directory for the Java programming language. This variable must be set correctly for the Content Delivery Server install command (cdsi) and Content Delivery Server Execution command (cdse) to operate.

Note: This variable is required for both Sun Java System Application Server and WebLogic Server.


3.1.2 Set up the Database

Have available the following information for the instance of the Oracle database that you are using:

The Content Delivery Server requires database schemas for the Catalog Manager and each Vending Manager. The schemas are identified by the prefix provided when you create them. The schemas can be on the same database server or on different database servers.

The Content Delivery Server Install command provided with Content Delivery Server creates the schemas based on the information provided in the database configuration file. This configuration file identifies where the database is located and what schemas are created.

When you do a basic deployment, create schemas for the Catalog Manager and the Vending Manager. To create the schema for a basic deployment, follow these steps:

1. Create a database configuration file.

Use the sample file, DBConf.xml, found in the $CDS_HOME/cfg directory as a guide. The following code example shows a sample database configuration file.


CODE EXAMPLE 3-1 Sample Database Configuration File
<CDSDatabase>
 
    <DBServer name="DBServer1">
        <Hostname>dbhost.domain.com</Hostname>
        <Port>1521</Port>
        <SID>dbsid</SID>
        <Tablespace>USERS</Tablespace>
        <Tablespace name="catalog">USERS</Tablespace>
        <Tablespace name="catalog indexes">USERS</Tablespace>
        <Tablespace name="content">USERS</Tablespace>
        <Tablespace name="content indexes">USERS</Tablespace>
        <Tablespace name="event">USERS</Tablespace>
        <Tablespace name="event indexes">USERS</Tablespace>
        <Tablespace name="subscriber">USERS</Tablespace>
        <Tablespace name="subscriber indexes">USERS</Tablespace>
        <Tablespace name="vending">USERS</Tablespace>
        <Tablespace name="vending indexes">USERS</Tablespace>
        <TempTablespace>TEMP</TempTablespace>
    </DBServer>
 
    <Catalog>
        <Prefix>CDS</Prefix>
        <Password>dbpassword</Password>
        <DBServer>DBServer1</DBServer>
    </Catalog>
 
    <Vending name="suncds.vending.server.1">
        <Prefix>CDS</Prefix>
        <Password>dbpassword</Password>
        <DBServer>DBServer1</DBServer>
    </Vending>
 
    <!-- Additional Vending Managers, if any
    <DBServer name="DBServer2">
        <Hostname>dbhost2.domain.com</Hostname>
        <Port>1521</Port>
        <SID>dbsid2</SID>
        <Tablespace>USERS</Tablespace>
        <Tablespace name="catalog">USERS</Tablespace>
        <Tablespace name="catalog indexes">USERS</Tablespace>
        <Tablespace name="content">USERS</Tablespace>
        <Tablespace name="content indexes">USERS</Tablespace>
        <Tablespace name="event">USERS</Tablespace>
        <Tablespace name="event indexes">USERS</Tablespace>
        <Tablespace name="subscriber">USERS</Tablespace>
        <Tablespace name="subscriber indexes">USERS</Tablespace>
        <Tablespace name="vending">USERS</Tablespace>
        <Tablespace name="vending indexes">USERS</Tablespace>
        <TempTablespace>TEMP</TempTablespace>
    </DBServer>
 
    <Vending name="suncds.vending.server.2">
        <Prefix>CDS2</Prefix>
        <Password>dbpassword2</Password>
        <DBServer>DBServer2</DBServer>
    </Vending>
    -->
 
</CDSDatabase>



Note - This file contains unencrypted passwords. Set the file permissions to restrict access to this file.



Edit the database configuration file that you created, as described in the following steps:

a. Set the DBServer element as described in the following steps:

i. Set the Name attribute to a string used to identify the database server.

This string is used in the Catalog and Vending elements to identify the database server on which to create each schema.

ii. Set the Hostname, Port, and SID elements to the host name, port number, and database SID for the instance of Oracle Database that you are defining.

iii. Set the Tablespace and TempTablespace elements to names that you use for the instance of the Oracle Database that you are defining.

To use separate tablespaces for each group of tables, set the Tablespace element for each group to a different value. The tables included in each group are based on size and activity and are described in the following list:

b. Set the Catalog element as described in the following steps:

i. Set the Prefix element to the name that you want to use to identify and access the schema, for example, CDS.

The prefix must not be longer than 21 characters.

ii. Set the Password element to the password used to access the schema.

iii. Set the DBServer element to the string that identifies the database server that you want to use.

This string must match the name used for the DBServer element set in Step a.

c. Set the Vending element as described in the following steps:

i. Set the name attribute to the string used to identify the Vending Manager.

The name that you assign to the Vending element must be used for the vs.account.name property in the deployment configuration file that you set up in Section 3.1.3, Set up the Deployment Configuration File. This name must also be used as the Account ID when you create the Vending Manager account using the Catalog Manager administration console. See Section 3.1.6.2, Prepare the Catalog Manager.

ii. Set the Prefix element to the name that you want to use to identify and access the schema, for example, CDS.

The prefix must not be longer than 21 characters.

iii. Set the Password element to the password used to access the schema.

iv. Set the DBServer element to the string that identifies the database server that you want to use.

This string must match the name used for the DBServer element set in Step a.



Tip - If you have the information for additional Vending Managers, you can create all schemas needed at the same time that you create the schemas for the basic deployment. For each additional Vending Manager that you intend to deploy, add another Vending element and provide a unique value for the name attribute and the Prefix element. Add another DBServer element to use a different database server for the Vending Manager.



d. Save the file that you created in the $CDS_HOME/cfg directory.

2. Create a database user file that identifies the system user name and password for the database servers that you are using.

Use the sample file, DBSysUser.xml, found in the $CDS_HOME/cfg directory as a guide. The following code example shows a sample database user file.


CODE EXAMPLE 3-2 Sample Database User File
<DBUsers>
 
    <DBServer name="DBServer1">
        <User>system</User>
        <Password>dbsyspassword</Password>
    </DBServer>
 
    <!--
    <DBServer name="DBServer2">
        <User>system2</User>
        <Password>dbsyspassword2</Password>
    </DBServer>
    -->
 
</DBUsers>



Note - This file contains unencrypted passwords. Set the file permissions to restrict access to this file.



For each database server that you use, create a DBServer element as described in the following steps:

a. Set the name attribute to the string used to identify the database server.

This name must match the name used in the database configuration file that you created in Step 1.

b. Set the User element to the system user name used to access the database server.

c. Set the Password element to the password associated with the system user name.

d. Save the file that you created in the $CDS_HOME/cfg directory.

3. Set the following variables in the init_env.sh shell script:

See Section 3.1.1, Edit the init_env Shell Script for more information on this shell script.

4. (Optional) To support iAppli applications, skip this step. If you do not want to support iAppli applications, remove the iappli.sql file from the $CDS_HOME/dist/cds/database/cs directory.

Save a copy of the iappli.sql file somewhere else on your system. If you remove this file and decide later that you do want to support iAppli applications, see Section 4.13.1, Add the DoJa Library to the Database.

5. Copy the ojdbc14.jar file from the database server to the $CDS_HOME/dist/cds/lib directory.

This step is necessary to make the driver for the Java DataBase Connectivity (JDBCtrademark) API available to the Content Delivery Server.

6. Run the following command to create the user accounts used by the Content Delivery Server, create the schemas, and populate the schemas with the initial data:

cdsi db init [-conf db-configuration-file] [-user db-user-file] 

db-configuration-file is the name of the database configuration file that contains the information for creating the schemas. If db-configuration-file is not provided, the value specified for the DEFAULT_DB variable in the init_env.sh script is used. db-user-file is the name of the database user file that contains the user name and password used to access the database. If db-user-file is not provided, the value specified for the DEFAULT_SYS_USER variable in the init_env.sh script is used.



Note - If you do not have the authority to create user accounts, have your database administrator create the following accounts for you:
catalog-prefix_ps_owner
catalog-prefix_ps_app
vending-prefix_vs_owner
vending-prefix_vs_app

After the user accounts are created, instead of running cdsi db init, run the following commands to create and populate the schemas with the initial data:
cdsi db schemas [-conf db-configuration-file]
cdsi db data [-conf
db-configuration-file]



3.1.3 Set up the Deployment Configuration File

After the database is set up, create the deployment configuration file that identifies the components to deploy. A deployment configuration file is a standard property text file that contains one name-value pair per line, and is used to propagate your settings for the Content Delivery Server to all the components. Deployment configuration files are described in Appendix A.

The Content Delivery Server distribution contains sample configuration files that you can use to create your own files. The sample configuration files are located in the $CDS_HOME/cfg directory. The sample file for use with Sun Java System Application Server is sn_sample.cfg (see Section A.2, Sample File for Use with Sun Java System Application Server.) The sample file for use with WebLogic Server is wl_sample.cfg (see Section A.3, Sample File for Use with WebLogic Server.)

To deploy all Content Delivery Server components to a single server, follow these steps to create your configuration file:

1. Create a deployment configuration file from one of the sample files.

The file must have the extension .cfg and must be located in the $CDS_HOME/cfg directory.

2. Set the general properties.

See Section A.1, Configuration Properties for descriptions of these properties.

3. Make sure that the prefix.include property for each component is not commented out.

Properties must not be preceded by a pound sign (#).

4. Save the configuration file in the $CDS_HOME/cfg directory.

5. Edit the init_env.sh shell script to set the DEFAULT_CONFIG variable to the name of the deployment configuration file that you just created.

The DEFAULT_CONFIG variable specifies the default deployment configuration file that is used when no file name is provided for commands that accept the file name as a parameter. See Section 3.1.1, Edit the init_env Shell Script.

3.1.4 Deploy

After you create your deployment configuration file and set the environment variables, deploy the Content Delivery Server components using the following command:

cdsi deploy [-deployment deployment-name] [-cfg cfg-file-name]

The following table describes the optional arguments.


TABLE 3-2 Optional Arguments for the deploy Command

Argument Name

Description

deployment-name

The name used to identify the deployment. A deployment directory with this name is created under the $CDS_HOME/deployment directory. This name must be unique.

cfg-file-name

The name of the deployment configuration file that describes your deployment. This file must exist in the $CDS_HOME/cfg directory.

Note: If the arguments are omitted, the values specified for DEFAULT_DEPL and DEFAULT_CONFIG in the init_env.sh script are used.




Tip - For additional information on the cdsi command, enter cdsi help.



The deployment process installs the components identified in the deployment configuration file on the application server that you specified and creates a deployment directory with the name that you specified for the deployment under the $CDS_HOME/deployment directory. For example, if you name your deployment cds1, the directory $CDS_HOME/deployment/cds1 is created.

3.1.5 Set up the Application Server

After the Content Delivery Server is successfully deployed, the application server that you are using requires some additional configuration. If you are using Sun Java System Application Server, you must set up a Message Queue Broker and an application server domain. If you are using WebLogic Server, you must get a certificate to operate with the Secure Sockets Layer (SSL) protocol and change the password for the administrator of the application server.

3.1.5.1 Set up the Sun Java System Application Server

If you are using Sun Java System Application Server, you must set up a Message Queue broker and an application server domain. Two shell scripts are provided with the Content Delivery Server for you to use: deploymq.sh and deploy.sh. These scripts are found in the $CDS_HOME/deployment/deployment-name/sun/applications directory.

To set up the Sun Java System Application Server, follow these steps:

1. From a command line, change to the $CDS_HOME/deployment/deployment-name/sun/applications directory.

2. To set up the Message Queue broker, enter deploymq.sh type.

type is either server or client. Specify server to create a new Message Queue broker. Specify client to use a previously created Message Queue broker.

3. Enter the information for which you are prompted.

To use the default value, press Enter after the prompt. The following table describes the parameters.


TABLE 3-3 Parameters for deploymq.sh

Prompt

Description

Broker's Host Name

The name of the host machine on which the Message Queue broker runs.

Broker's Port

The port number on which the Message Queue broker listens.

Broker's Name

The instance name assigned to the Message Queue broker.

Note: This prompt appears only if you specified server as type.

Broker's Admin Name

The name used to administer the Message Queue broker.

Note: This prompt appears only if you specify server as type.

Broker's Admin Password

The password used to administer the Messaging Queue broker.

Note: This prompt appears only if you specified server as type.

Broker's User Name

The name used to access the Message Queue broker.

Broker's User Password

The password used to access the Message Queue broker.

Message Queue "bin" Directory Path

The fully qualified path name for the directory that contains the imqbrokerd and imqcmd command files.

Message Queue "lib" Directory Path

The fully qualified path name for the directory that contains the fscontext.jar and imq.jar files.

Message Queue License Name

The type of license for the Message Queue edition being used. The following values are valid:

  • cdse - if you are running the Platform Edition of the Message Queue. (This is the version bundled with the Solaris Operating System.)
  • try - if you are running a Platform Edition of the Message Queue that supports a trial period for trying Enterprise Edition features.
  • unl - if you are running the Enterprise Edition of the Message Queue.

Note: This prompt appears only if you specified server as type.




Tip - For additional information on the deploymq.sh command, enter: deploymq.sh -h.



In addition to setting up the Message Queue broker, the script also creates the broker.sh script, which you use to start and stop the Message Queue broker. The script is placed in the $CDS_HOME/deployment/deployment-name/sun/applications directory.

4. To set up the application server domain, enter deploy.sh command.

command is either create or recreate. Specify create to create a new application server domain. Specify recreate to replace an existing application server domain.

5. Enter the information for which you are prompted.

To use the default value, press Enter after the prompt. The following table describes the parameters.


TABLE 3-4 Parameters for deploy.sh

Prompt

Description

Domain's Admin Name

The name used to access the Sun Java System Application Server administration console.

Domain's Admin Password

The password used to access the Sun Java System Application Server administration console.

Domain's Master Password

The master password used to secure the domain.

Domain's Admin Server Port

The port number on which the Sun Java System Application Server administration console listens.




Tip - For additional information on the deploy.sh command, enter:
deploy.sh -h.



In addition to setting up the application server domain, this script also creates the admin.sh script, which you use to start and stop the Sun Java System Application Server administration server for that domain. The script is placed in the $CDS_HOME/deployment/deployment-name/sun/applications directory.

3.1.5.2 Set up WebLogic Server

If you are using WebLogic Server, you must get a certificate to operate with the SSL protocol and change the password for the administrator of the application server.

The Content Delivery Server connects to the application server using SSL, which requires a certificate. See the WebLogic Server documentation for information on obtaining a valid certificate for this purpose.

During deployment, a user name and password are created for the Content Delivery Server to use when accessing the application server. For security reasons, you might want to change the default password.

To change the default password, follow these steps:

1. Start the Content Delivery Server.

See Section 5.1, Starting the Content Delivery Server.

2. In a browser, go to https://hostname:port/console.

hostname is the name specified for the app.server.admin.hostip property and port is the port number specified for the app.server.admin.port property in the deployment configuration file.

3. Log in as the administrator.

The default user name is system. The default password is system.

4. Follow the instructions in the WebLogic Server documentation to change the administrator password.

5. Edit $CDS_HOME/deployment/deployment-name/conf/wladmin.prop file to set the following properties:

3.1.6 Prepare Content Delivery Server for Use

Before you make the deployment available for use, configure the features and set up the plans, accounts, and devices that you want to use. This section describes the preparations that are needed.

3.1.6.1 Configure the Content Delivery Server

Many of the features of the Content Delivery Server can be configured for your needs. For example, you can set the number of items shown on a page or the rate at which the cache is refreshed for the Catalog Manager, Vending Manager, Subscriber Portal, and Developer Portal.

Chapter 4 describes how to configure the features that you want to use. Complete your configuration and prepare the components before you make the deployment available for use.

3.1.6.2 Prepare the Catalog Manager

Use the Catalog Manager administration console to prepare the following elements of your Catalog Manager. See Section 5.1, Starting the Content Delivery Server for information on starting the Catalog Manager. See the Sun Java System Content Delivery Server Administration Guide for information on using the administration console.

1. Prepare for content.

a. Define the content types that you want to support.

b. Define the MIME types that you want to support.

c. Assign a DRM method to the types of content that you want to protect.

d. Select the pricing models that you want to use.

e. Create pricing options.

f. Define the categories that you want to use.

2. Prepare the devices.

a. Define the templates that you want to use.

b. Add the devices that you want to support.

c. Submit libraries not already in the Content Delivery Server that are needed by the devices to run content.

d. Specify the default device.

e. Define the locales that you want to support. For example, use the values in the following table to add support for Canadian French and Simplified Chinese.


TABLE 3-5 Sample Locales

Language

Language Code

Country Code

Canadian French

fr

CA

Simplified Chinese

zh

CN


3. Set up the Vending Manager account.



Note - For a basic deployment, the Catalog Manager creates the Vending Manager account from the information in the deployment configuration file. For Vending Manager deployments, you must create the Vending Manager account. The Vending Manager reports synchronization errors to the Content Delivery Server log until the Vending Manager account is successfully created.



a. Choose the Vending Plans that you want to use.

b. Set up the default Vending plan.



Note - The default Vending Plan provided with the Content Delivery Server allows access to only content assigned to the Featured category.



4. Prepare the Developer accounts.

a. Add Developer plans and profiles that you want to use.

b. Set up the default Developer plan.



Note - The default Developer Plan provided with the Content Delivery Server does not restrict the APIs that a developer can use in the applications that they submit.



c. Add the Developer accounts that you want.

3.1.6.3 Prepare the Vending Manager

Use the Vending Manager administration console to prepare the following elements of your Vending Manager. See Section 5.1, Starting the Content Delivery Server for information on starting the Vending Manager. See the Sun Java System Content Delivery Server Administration Guide for information on using the administration console.

1. Prepare for content.

a. Define the categories that you want to use.

b. Set the preferences.

c. Set the stocking options.

d. Set up the pricing options with the price for your locale.

2. Prepare the Subscriber accounts.

a. Add Subscriber plans that you want to use.

b. Set up the default Subscriber plan.



Note - The default Subscriber plan provided with the Content Delivery Server allows access to content in all categories.



c. Add any Subscriber accounts that you want.


3.2 Catalog Manager Deployment

This section describes the steps for deploying a Catalog Manager. When you deploy a Catalog Manager, also deploy an Event Service, Messaging Service, and Monitoring Service. Make sure that the environment is set up as described in Chapter 2 before proceeding.

3.2.1 Edit the init_env Shell Script

Set up the init_env.sh script as described in Section 3.1.1, Edit the init_env Shell Script.

The init_env.sh script contains settings for the default deployment, default database configuration file, and default deployment configuration file. If a host contains more than one deployment, you must decide which deployment you want to designate as the default. The default settings enable you to run the Content Delivery Server execute command (cdse) and Content Delivery Server install command (cdsi) without entering all of the parameters. If an expected parameter is not found, the default specified in the init_env.sh script is used.

3.2.2 Set up the Database

To deploy a Catalog Manager, create a schema for that Catalog Manager and its associated Event Service. Set up the database configuration file and database user file as described in Section 3.1.2, Set up the Database. Only the DBServer and Catalog elements are needed.

Use the following command to create the schema for the Catalog Manager:

cdsi db init [-conf db-configuration-file] [-user db-user-file] -cs

db-configuration-file is the name of the database configuration file that contains the information for creating the schemas. If db-configuration-file is not provided, the value specified for the DEFAULT_DB variable in the init_env.sh script is used. db-user-file is the name of the database user file that contains the user name and password used to access the database. If db-user-file is not provided, the value specified for the DEFAULT_SYS_USER variable in the init_env.sh script is used.



Note - If you do not have the authority to create user accounts, have your database administrator create the following accounts for you:
catalog-prefix_ps_owner
catalog-prefix_ps_app

After the user accounts are created, instead of running cdsi db init, run the following commands to create and populate the schemas with the initial data:
cdsi db schemas -conf db-configuration-file -cs
cdsi db data -conf db-configuration-file -cs



3.2.3 Set up the Deployment Configuration File

After the database is set up, create the deployment configuration file that identifies the components to deploy. See Section 3.1.3, Set up the Deployment Configuration File for an overview of configuration files.

Use the following guidelines to create your deployment configuration file. With the Catalog Manager, also deploy an instance of the Event Service, Messaging Service, and Monitoring Service.

1. Create a deployment configuration file from one of the sample files.

The file must have the extension .cfg and must be located in the $CDS_HOME/cfg directory.

2. Set the general properties.

See Section A.1, Configuration Properties for descriptions of these properties.

3. Make sure that the following properties are not commented out, that is, the property names are not preceded by a pound sign (#):

4. Make sure that the following properties are commented out, that is, the property names are preceded by a pound sign (#):

5. Save the configuration file in the $CDS_HOME/cfg directory.

6. Edit the init_env.sh shell script to set the DEFAULT_CONFIG variable to the name of the deployment configuration file that you just created.

If you are deploying the Catalog Manager on a host to which other Content Delivery Server components were previously deployed, set DEFAULT_CONFIG to the name of the configuration file that you want to be the default.

The DEFAULT_CONFIG variable specifies the default deployment configuration file that is used when no file name is provided for commands that accept the file name as a parameter. See Section 3.1.1, Edit the init_env Shell Script.

3.2.4 Deploy

See Section 3.1.4, Deploy for instructions on deploying the Catalog Manager and supporting components.

3.2.5 Set up the Application Server

Set up the application server that you are using as described in Section 3.1.5, Set up the Application Server. If you are using Sun Java System Application Server and you created the Message Queue broker in a previous deployment, create a Message Queue broker client for this deployment by specifying client as the type when you run the deploymq.sh command.

3.2.6 Prepare the Catalog Manager for Use

See Chapter 4 for information on configuring the features that you want to use. Before you can use the Catalog Manager, you must deploy at least one Vending Manager and create a Vending Manager account.

See Section 3.1.6.2, Prepare the Catalog Manager for additional preparation needed for the Catalog Manager.


3.3 Vending Manager Deployment

This section describes the steps for deploying a Vending Manager. When you deploy a Vending Manager, also deploy the Fulfillment Manager and all of the services.

You must deploy a Catalog Manager before you deploy a Vending Manager. The Catalog Manager can be deployed as part of a basic deployment (see Section 3.1, Basic Deployment,) a Catalog Manager deployment (see Section 3.2, Catalog Manager Deployment,) or an advanced deployment (see Section 3.4, Advanced Deployment.)

The Vending Manager deployment can be done on a host to which other components of the Content Delivery Server are deployed, or on a host that does not contain a deployment of any other components. If the host contains an existing deployment, use the existing installation and CDS_HOME directory. If the host does not contain an existing deployment, make sure that the environment is set up as described in Chapter 2 before proceeding.

3.3.1 Edit the init_env Shell Script

If you are deploying the Vending Manager on a host that does not contain a deployment of other components, set up the init_env.sh script as described in Section 3.1.1, Edit the init_env Shell Script.

If you are deploying the Vending Manager on a host to which other components have been deployed, verify that the init_env.sh shell script in the $CDS_HOME/bin directory contains the correct settings for the SUN_AS_HOME, JAVA_HOME, BEA_HOME, and WL_HOME variables. These settings are used for all deployments on the host.

The init_env.sh script also contains settings for the default deployment, default database configuration file, default database user file, and default deployment configuration file. If a host contains more than one deployment, you must decide which deployment you want to designate as the default. The default settings enable you to run the Content Delivery Server execute command (cdse) and Content Delivery Server install command (cdsi) without entering all of the parameters. If an expected parameter is not found, the default specified in the init_env.sh script is used.

3.3.2 Set up the Database

To deploy a Vending Manager, you need to create a schema for that Vending Manager. This schema can be on the same database server as the Catalog Manager schema or on a different server.

If you created the schema for the Vending Manager that you are currently deploying at the time that you set up the database for a basic deployment, you do not need to do anything further for the database. Proceed to Section 3.3.3, Set up the Deployment Configuration File.

If you did not create the schema for the Vending Manager, set up the database configuration file and database user file as described in Section 3.1.2, Set up the Database. Only the DBServer and Vending elements are needed.

Use the following command to create the schema for the Vending Manager:

cdsi db init [-conf db-configuration-file] [-user db-user-file] -vs vending-name

db-configuration-file is the name of the database configuration file that contains the information for creating the schemas. If db-configuration-file is not provided, the value specified for the DEFAULT_DB variable in the init_env.sh script is used. db-user-file is the name of the database user file that contains the user name and password used to access the database. If db-user-file is not provided, the value specified for the DEFAULT_SYS_USER variable in the init_env.sh script is used. The switch -vs indicates that only the schema for the specified Vending Manager is created.



Note - If you do not have the authority to create user accounts, have your database administrator create the following accounts for you:
vending-prefix_vs_owner
vending-prefix_vs_app

After the user accounts are created, instead of running cdsi db init, run the following commands to create and populate the schemas with the initial data:
cdsi db schemas -conf db-configuration-file -vs vending-name
cdsi db data -conf db-configuration-file -vs vending-name



3.3.3 Set up the Deployment Configuration File

After the database is set up, create the deployment configuration file that identifies the components to deploy. See Section 3.1.3, Set up the Deployment Configuration File for an overview of configuration files.

If you previously deployed a Catalog Manager and want to add another Vending Manager to your configuration, follow these steps to create your deployment configuration file. With the Vending Manager, also deploy an instance of the Fulfillment Manager and all Content Delivery Server services.

1. Create a deployment configuration file from one of the sample files.

The file must have the extension .cfg and must be located in the $CDS_HOME/cfg directory. If you are deploying to a host that contains another deployment, create a new configuration file for this deployment to avoid confusion.

2. Set the general properties.

See Section A.1, Configuration Properties for descriptions of these properties.

3. Make sure that the following properties are not commented out, that is, the property names are not preceded by a pound sign (#):

4. Make sure that the following properties are commented out by preceding the property names with a pound sign (#):

5. Save the configuration file in the $CDS_HOME/cfg directory.

6. Edit the init_env.sh shell script to set the DEFAULT_CONFIG variable to the name of the deployment configuration file that you just created.

If you are deploying the Vending Manager on a host to which other Content Delivery Server components are already deployed, set DEFAULT_CONFIG to the name of the configuration file that you want to be the default.

The DEFAULT_CONFIG variable specifies the default deployment configuration file that is used when no file name is provided for commands that accept the file name as a parameter. See Section 3.1.1, Edit the init_env Shell Script.

3.3.4 Deploy

See Section 3.1.4, Deploy for instructions on deploying the Vending Manager and supporting components.

3.3.5 Set up the Application Server

Set up the application server that you are using as described in Section 3.1.5, Set up the Application Server. If you are using Sun Java System Application Server and you created the Message Queue broker in a previous deployment, create a Message Queue broker client for this deployment by specifying client as the type when you run the deploymq.sh command.

3.3.6 Prepare the Vending Manager for Use

See Chapter 4 for information on configuring the features that you want to use.

Before you can use the Vending Manager that you just deployed, you must create a Vending Manager account for it in the Catalog Manager. See the Sun Java System Content Delivery Server Administration Guide for information. When you create the Vending Manager account, the Account ID must be set to the value used for the vs.account.name property in the deployment configuration file. The Account Password must be set to the value used for the vs.account.password property in the deployment configuration file. These values must also match the name and password used when you created the database schema for the Vending Manager.



Note - The Vending Manager reports synchronization errors to the Content Delivery Server log until the Vending Manager account is successfully created in the Catalog Manager.



See Section 3.1.6.3, Prepare the Vending Manager for additional preparation needed for the Vending Manager.


3.4 Advanced Deployment

A basic deployment of all Content Delivery Server components on one server followed by one or more additional Vending Manager deployments should meet the needs of most enterprises. If you have unique needs, such as limited resources or security requirements that place restrictions on how you deploy, the Content Delivery Server supports highly customized deployments.

Advanced deployments enable you to selectively install the components in a configuration that meets your needs. Due to the unique nature of advanced deployments, this section provides guidelines rather than specific instructions for setting up a deployment.

3.4.1 Edit the init_env Shell Script

If you are deploying components to a host that does not contain a deployment of other components, set up the init_env.sh script as described in Section 3.1.1, Edit the init_env Shell Script.

If you are deploying components to a host to which other components have been deployed, verify that the init_env.sh shell script in the $CDS_HOME/bin directory contains the correct settings for the SUN_AS_HOME, JAVA_HOME, BEA_HOME, and WL_HOME variables. These settings are used for all deployments on the host.

The init_env.sh script also contains settings for the default deployment, default database configuration file, and default deployment configuration file. If a host contains more than one deployment, you must decide which deployment you want to designate as the default. The default settings enable you to run the Content Delivery Server execute command (cdse) and Content Delivery Server install command (cdsi) without entering all of the parameters. If an expected parameter is not found, the default specified in the init_env.sh script is used.

3.4.2 Set up the Database

Create the schemas needed for the Catalog Manager and each Vending Manager in your configuration. The databases can share a database server or use separate servers, depending on your needs.

To set up the database, follow these steps:

1. Create the database configuration file and database user file as described in Section 3.1.2, Set up the Database.

Create entries for all the Vending Managers that you intend to deploy.



Note - The database configuration file and database user file contain unencrypted passwords. Set the file permissions to restrict access to these files.



2. Copy the database configuration file and database user file to all hosts to which you intend to deploy components of the Content Delivery Server.

Place the file in the $CDS_HOME/cfg directory on each host.

3. Set the following variables in the init_env.sh shell script on each host:

See Section 3.1.1, Edit the init_env Shell Script for more information on this shell script.

4. Copy the ojdbc14.jar file from the database server to the $CDS_HOME/dist/cds/lib directory.

This step is necessary to make the driver for the JDBC API available to the Content Delivery Server.

5. Create the schemas defined in your database configuration file.

Run the following command from the host on which you are deploying the Catalog Manager.

cdsi db init [-conf db-configuration-file] [-user db-user-file]

db-configuration-file is the name of the database configuration file that contains the information for creating the schemas. If db-configuration-file is not provided, the value specified for the DEFAULT_DB variable in the init_env.sh script is used. db-user-file is the name of the database user file that contains the user name and password used to access the database. If db-user-file is not provided, the value specified for the DEFAULT_SYS_USER variable in the init_env.sh script is used.

To later deploy another Vending Manager, follow the instructions in Section 3.3.2, Set up the Database to create the additional schema needed.

3.4.3 Set up the Deployment Configuration File

After the database is set up, create the deployment configuration file that identifies the components to deploy. See Section 3.1.3, Set up the Deployment Configuration File for an overview of configuration files.

The deployment configuration file identifies the components to deploy. To avoid confusion, create a separate configuration file for each deployment. To create the configuration file, follow these steps:

1. Create a deployment configuration file from one of the sample files.

The file must have the extension .cfg and must be located in the $CDS_HOME/cfg directory.

2. Set the general properties.

See Section A.1, Configuration Properties for descriptions of these properties.

3. For each component included in the deployment, make sure that the prefix.include property is not commented out.

Properties must not be preceded by a pound sign (#).

4. For each component not included in the deployment, make sure that the prefix.include property is commented out.

Properties must be preceded by a pound sign (#).

5. Save the configuration file in the $CDS_HOME/cfg directory.

6. Edit the init_env.sh shell script to set the DEFAULT_CONFIG variable to the name of the deployment configuration file that you just created.

If you are deploying components to a host to which other Content Delivery Server components were are already deployed, set DEFAULT_CONFIG to the name of the configuration file that you want to be the default.

The DEFAULT_CONFIG variable specifies the default deployment configuration file that is used when no file name is provided for commands that accept the file name as a parameter. See Section 3.1.1, Edit the init_env Shell Script for information on this shell script.

3.4.4 Deploy

See Section 3.1.4, Deploy for instructions on deploying.

3.4.5 Set up the Application Server

Set up the application server that you are using as described in Section 3.1.5, Set up the Application Server. If you are using Sun Java System Application Server, set up the Message Queue broker according to the following guidelines:

To share an existing Message Queue broker, specify client as the type when you run the deploymq.sh command. To create a new Message Queue broker, specify server.

3.4.6 Prepare an Advanced Deployment for Use

See Chapter 4 for information on configuring the features of the components that you deployed.

After you deploy the Catalog Manager, see Section 3.1.6.2, Prepare the Catalog Manager for setup information. After you deploy a Vending Manager, see Section 3.3.6, Prepare the Vending Manager for Use.