C H A P T E R  1

Introduction

To deploy a commercial service, operators must integrate the Sun Java System Content Delivery Server with their existing infrastructure. Billing systems, user management systems, and reporting systems each have integration requirements, and involve levels of complexity for the operator. The Sun Java System Content Delivery Server external APIs help with this system integration.

This section introduces the following APIs:

Section 1.10, API by Feature identifies by feature the API that is used to integrate the Content Delivery Server with your existing systems.


1.1 Event Service API

The Event Service API provides asynchronous reporting of billable events and enables external systems to extract or be notified of these events. The Event Service API consumes all of the messages published by the manager components. For each message, the context and details of the message are extracted, inserted into the database, and broadcast for reporting and billing.

The transfer of billing data can occur in both directions, and data transfer can happen in real time or in batch mode. For example, the Content Delivery Server can push data to the operator's billing system as the usage data is recorded or use a batch pull to query the server periodically. The usage data exchanged between components is in XML format and includes pricing information that can be captured for billing integration. The Content Delivery Server can interact with any billing system through this API.


1.2 Billing API

The Billing API supports prepaid and synchronous billing models. For billing systems that support the collection of fees prior to content being purchased, the Billing API is used to verify that subscribers have enough funds in their account before allowing subscribers to download content. For billing systems that require real-time billing, the Billing API is used to charge a subscriber's account at the time content is purchased.

The Billing API also enables an operator to charge a different fee for content than what is specified in the Vending Manager. For example, if the operator wants to provide business subscribers with a special discount, the Billing API is used to retrieve the special price from the billing system and show that price to the customer.


1.3 Content Management API

The Content Management API enables content to be instrumented at the time the content is downloaded to a subscriber's device. This API is used when the content needs to be instrumented with either user-specific or billing-specific data immediately before being delivered to the subscriber. The Content Management API can also be used to change the attributes of the content, such as MIME type or content type.


1.4 Content Validation API

The Content Validation API processes content that is submitted to the Content Delivery Server. Use this API to create the content validation adapters that you need to automatically validate submitted content. Content validation adapters are used by the submission verifier workflow that is executed for content submitted to the Content Delivery Server.


1.5 User Profile API

The User Profile API provides an interface into existing subscriber databases. It integrates with data sources for subscribers, application developers, administrators, and devices. Operators do not need to create new, separate databases to work with the Content Delivery Server. If operators need to combine or merge multiple database entries, the User Profile API helps integrate this data without impacting other services requesting information. It also helps with legacy information integration.

Through the User Profile API, the Content Delivery Server provides a common service layer for all components to access the database. The abstraction of data access frees the Content Delivery Server from being tied to a particular database. This service provides scalable data access to the underlying data by caching frequently requested data. Combined with security, data access can be controlled across different users or administrators.


1.6 WAP Gateway API

The WAP Gateway API handles implementation differences in mobile identity number (MSISDN) authentication and header transmission. Using the MSISDN for authentication and session management provides benefit for the subscriber and operator. The Content Delivery Server supports single sign-on, so if the subscriber is accessing the system through a cell phone, the authentication is performed through the network and the subscriber's user name and password are not needed. The Content Delivery Server can be configured to communicate concurrently with multiple gateway types.

The Content Delivery Server works with a standard HTTP web server to handle presentation logic. It serves both HTML content for the subscriber web site and Administrator Console and WML for device-side access through a WAP 1.x compatible browser. The Content Delivery Server supports secure sockets layer (SSL) connections for secure communication.


1.7 Messaging API

The Messaging API provides a mechanism for carriers or application vendors to integrate their own WAP or Short Message Service (SMS) push implementations by providing an adapter. The Content Delivery Server also provides default WAP and SMS push implementations that can be used in most cases.


1.8 Confirm Service API

The Confirm Service API enables the Content Delivery Server to handle confirmation messages sent from a Multimedia Messaging Service Center (MMSC). Confirmation messages are generally sent after content is downloaded to a device. This API is used to create the connection to the MMSC and to monitor the messages that the MMSC sends.


1.9 Subscriber API

The Subscriber API provides access to data maintained by the Content Delivery Server. Use this API to get the data needed to create a client application for providing subscribers with access to content managed by the Content Delivery Server. The Subscriber API can be accessed directly by local Java technology-based applications (Java applications) or from remote applications or applications written in a programming language other than Java by using XML-RPC.


1.10 API by Feature

The following table identifies which API to use to integrate some of the Content Delivery Server features with your existing systems. For the features that you want to support in your installation of the Content Delivery Server, you must implement the API specified.


TABLE 1-1 Mapping of Feature to Content Delivery Server API

Feature

System

API

Buy for a friend

Simple Mail Transfer Protocol (SMTP), Short Message Service Center (SMSC), Push Proxy Gateway (PPG), and Multimedia Message Service Center (MMSC)

Messaging API

Tell a friend

SMTP, SMSC, PPG, and MMSC

Messaging API

Event-driven campaign1

SMTP, SMSC, PPG, and MMSC

Messaging API

Outbound campaign1

SMTP, SMSC, PPG, and MMSC

Messaging API

Confirm push message

SMTP, SMSC, PPG, and MMSC (service must return a confirmation message)

Confirm Service API

External user database

Lightweight Directory Access Protocol (LDAP)

User Profile API

Billing - prepaid

Prepaid billing system

Billing API

Billing - postpaid

Postpaid billing system

Event Service API

Integration with external digital rights management (DRM)

External DRM engine

Content Validation API, Content Management API

Single sign-on and device login

WAP gateway (must pass MSIDN or unique ID)

WAP Gateway API

Portal integration

Web portal

Subscriber API

1Promotional campaigns do not require integration with external systems