C H A P T E R  1

Overview

The Sun Java System Content Delivery Server provides a system for acquiring content from content providers, managing and protecting that content, delivering it to subscribers, and charging for its use. The Content Delivery Server is a flexible system that enables you to define the devices and the types of content that you want to support. Integration with existing systems such as billing or a Short Message Service Center (SMSC) is managed with either adapters provided with the Content Delivery Server or adapters that you write yourself using the Content Delivery Server APIs.

The following topics present an overview of the product and different deployment scenarios:


1.1 Architecture

The component-based architecture of the Content Delivery Server separates content aggregation, presentation, and delivery. The flexibility of this architecture enables you to centrally manage content, customize multiple subscriber interfaces, and provide fast downloads.

The overall system provides end-to-end connectivity between content providers and subscribers. FIGURE 1-1 provides a high-level overview of the path content takes through the Content Delivery Server.


FIGURE 1-1 Sun Java System Content Delivery Server

This figure illustrates the flow of content through the Content Delivery Server as described in the text.


The following steps describe the flow of content:

1. The content provider creates some type of content, such as a Java technology-based application (Java application), and submits it to the Catalog Manager using the Developer Portal.

2. The Catalog Manager automatically validates the content and accepts the content from the developer if it passed the validation.

3. The Catalog Manager administrator publishes the content to make the content available to one or more Vending Managers.

4. The Vending Manager administrator stocks content published by the Catalog Manager to make the content available to subscribers.

5. Subscribers review and download available content using either the PC-based or device-based Subscriber Portal.

The Content Delivery Server architecture is organized such that the Catalog Manager must approve all content submitted by content providers. The Vending Manager has an automated stocking option that enables the Vending Manager to take all content published to it by the Catalog Manager and stock the content on the subscriber site. This option can be disabled to allow Vending Manager administrators to manually select the content to stock for their subscribers.


1.2 Components

FIGURE 1-2 illustrates the functional architecture of the Content Delivery Server.


FIGURE 1-2 Functional Architecture

This figure displays the functional architecture of the Content Delivery Server.


The Content Delivery Server architecture is highly scalable. Additional instances of the components can be added as your subscriber base grows. The Content Delivery Server includes the following functional components:

1.2.1 Catalog Manager

The Catalog Manager is the content aggregator or centralized warehouse that manages the content coming from the content providers. After content is accepted, the Catalog Manager administrator publishes the content to the Vending Managers. Each Catalog Manager can serve one or more Vending Managers. The Catalog Manager includes the Developer Portal, a web interface for content providers.

The Catalog Manager is accessed and administered through the web-based Catalog Manager administration console. See the Sun Java System Content Delivery Server Administration Guide for information on administering the Catalog Manager.

If deployed separately from a Vending Manager, the Catalog Manager must have its own instance of the Event Service, Messaging Service, and Monitoring Service.

1.2.2 Vending Manager

The Vending Manager manages content published by the Catalog Manager and makes the content available to subscribers for download. The Vending Manager controls subscriber access, and also provides daily statistical reports. The Vending Manager includes the Subscriber Portal, which provides subscribers access to the Content Delivery Server from either their mobile device or a PC.

You can have more than one Vending Manager in your system. You can configure all Vending Managers to receive the same content from the Catalog Manager or you can configure individual Vending Managers to receive selective content. Configuring individual Vending Managers to receive selective content enables you to customize Vending Managers for different audiences.

The Vending Manager component has the following requirements for deployment:

The Vending Manager is accessed and administered through the web-based Vending Manager administration console. See the Sun Java System Content Delivery Server Administration Guide for information on administering the Vending Manager.

1.2.3 Fulfillment Manager

The Fulfillment Manager controls and delivers content to subscribers. For better performance, content is cached locally in the Fulfillment Manager. If the version in the database is the same as the local version, subsequent download requests are filled using the local copy. The Fulfillment Manager also manages the digital rights for content. When an instrumented application is started, it contacts the Fulfillment Manager to verify that the subscriber is authorized to continue using the application.

1.2.4 Database

The database is used for the following purposes:

The Catalog Manager and each Vending Manager has its own database. If desired, the Catalog Manager and Vending Manager can share the same database server. Each Event Service shares the database of the Vending Manager with which it is deployed. If the Event Service is deployed with only a Catalog Manager, the service shares the database of the Catalog Manager.

1.2.5 Content Delivery Server Services

The Content Delivery Server includes the following services that perform specialized functions for the Content Delivery Server.


1.3 User Roles

FIGURE 1-3 illustrates the different types of users who use the Content Delivery Server. Developers submit content to the Catalog Manager through the Developer Portal. Catalog Manager administrators publish accepted content to one or more Vending Managers. Vending Manager administrators stock selected content to make the content available to subscribers. Subscribers choose from the content offered through the Subscriber Portal.


.FIGURE 1-3 User Roles in the Content Delivery Server

This figure displays the roles played by users of the Content Delivery Server.


One deployment scenario consists of a publisher acting as Catalog Manager administrator, accepting and rejecting content from content providers. Each Vending Manager, perhaps representing different carriers, has a Vending Manager administrator who chooses the content to make available to subscribers.

If the Catalog Manager and the Vending Manager share a single administrator, auto-stocking can be enabled in the Vending Manager administration console. Auto-stocking automatically stocks all Catalog Manager-approved content that is available to the Vending Manager.


1.4 Deployment Scenarios

The Content Delivery Server architecture supports a wide variety of deployment scenarios from deploying all components on the same server to deploying each component on its own server. The deployment configuration file that you create for each deployment determines how the components are deployed.



Note - When discussing the deployment of the Content Delivery Server, "server" refers to an instance of an application server. "Host" refers to a physical machine. The Content Delivery Server is deployed on a server. If desired, one host can support multiple instances of a server, however, it is recommended that no more than four deployments be hosted on a single machine.



1.4.1 Basic Configuration

The basic configuration consists of deploying all components on the same server. This represents the minimum setup required to run the Content Delivery Server and is the configuration generally used for the initial deployment. The following figure illustrates the basic configuration.


FIGURE 1-4 Basic Configuration

Diagram of a basic configuration deployment described in the text.


1.4.2 Catalog Manager Configuration

If your business model includes a centrally managed Catalog Manager that supplies remote Vending Managers, you might not need a local Vending Manager. In the Catalog Manager configuration, only the Catalog Manager, Developer Portal, Event Service, Messaging Service, and Monitoring Service are deployed. All Vending Managers are deployed separately in Vending Manager configurations.

The following figure illustrates the Catalog Manager configuration.


FIGURE 1-5 Catalog Manager Configuration

Diagram of a Catalog Manager deployment described in the text.


1.4.3 Vending Manager Configuration

One of the strengths of the Content Delivery Server is the ability to serve different subscriber segments with customized Vending Managers. In this configuration, a Vending Manager is deployed and configured to receive content from an existing Catalog Manager. The Vending Manager can be colocated with the Catalog Manager or deployed at a remote location.

Each Vending Manager has its own billing manager, postpaid processor, and set of subscribers. An instance of the Subscriber Portal and Fulfillment Manager and each Content Delivery Server service is deployed with the Vending Manager.

The following figure illustrates the Vending Manager configuration.


FIGURE 1-6 Vending Manager Configuration

Diagram of a Vending Manager deployment described in the text.


1.4.4 Advanced Configuration

The deployment configuration file supports the deployment of any combination of components to a server. For example, the Catalog Manager could be deployed on one server, the Vending Manager deployed on a second server, and the service components deployed on a third server. You might want customized deployments in the following situations:


1.5 Planning Considerations

Planning is essential to ensuring a successful installation of the Content Delivery Server. This section describes some of the items to consider in planning your deployment and provides some tips on capacity planning.

1.5.1 Server Layout

You can deploy all of the product components on a single application server or across multiple application servers, either on the same hosts or on multiple hosts. Installing components of the Content Delivery Server, the web server, application server, and database on several hosts adds fault tolerance and improves system performance.

One way to begin planning is to determine the number of Vending Managers that you want to deploy. You can provide all content managed by a Catalog Manager to all subscribers by deploying a single Vending Manager, or provide content targeted to different audiences by deploying several customized Vending Managers.

The Content Delivery Server is optimized for use with multi-CPU machines, such as a UNIX® system 4-way server. Using multihoming, you can install more than one Vending Manager on a single host. See the documentation for the application server you are using for information on setting up multihoming.

1.5.2 Scalability

The Content Delivery Server is a fully scalable system. To increase system capacity, additional instances of the components can easily be added. The Content Delivery Server architecture also supports clustering. Clustering is a technique for setting up multiple servers to act as a single server. In a cluster, each server is equivalent to the other servers in the cluster.

1.5.3 Capacity

To begin capacity planning for the Content Delivery Server, start with the number of Catalog Managers and Vending Managers required. In planning for the capacity, it is important to consider future growth. For example, your subscriber base might grow exponentially. In addition, one very popular application might represent a demand spike that applies stress to the system.

Consider capacity estimates for the following system characteristics:

For example, Content Delivery Server provides better than one-second response time under typical circumstances, and response degrades linearly as the number of concurrent clients spikes.

The peak number of downloads per second possible depends on several factors, including the performance of your web server, application server, and Oracle database. Because the Content Delivery Server maintains subscriber state in the database, there is virtually no overhead for transaction-time messaging unlike other systems.

For additional information on capacity planning, see the Sun Java System Content Delivery Server Capacity Planning Guide.