C H A P T E R  1

Introduction

To deploy a commercial service, operators must integrate 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 APIs help with this system integration.

This section introduces the following APIs:

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


1.1 Event Service API

The Event Service API provides asynchronous reporting of 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 use in billing, reporting, messaging, and advertising.


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 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 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 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, Content Delivery Server provides a common service layer for all components to access the database. The abstraction of data access frees 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. Content Delivery Server supports single sign-on, so if the subscriber is accessing the system through a cell phone, the authentication is performed using the request headers and the subscriber’s user name and password are not needed. Content Delivery Server can be configured to communicate concurrently with multiple gateway types.


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. 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 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 Streaming API

The Streaming API handles the interactions between the Content Delivery Server and your streaming server. On-demand streamed content is copied to the streaming server when stocked by the Vending Manager. Content is deleted from the streaming server when unstocked by the Vending Manager. When content is purchased by a subscriber, the URL used to initiate the stream is provided.

The Streaming API includes classes that describe the streamed content and the subscriber that is purchasing the content. This API is used to create a streaming adapter when your system supports streamed content.


1.10 Subscriber API

The Subscriber API provides access to data maintained by 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 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.11 Vending Manager API

The Vending Manager API provides access to Vending Manager data maintained by Content Delivery Server. Use this API to create and manage bundles, campaigns, subscriber segments, and subscriber plans without going through the Vending Manager administration console interface. The Vending Manager API is accessed using XML-RPC.


1.12 Device Client Web Services

Device Client web services provide access to the Subscriber API across the Internet. These web services can be used to access data maintained by Content Delivery Server using standard web protocols.


1.13 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 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 campaign[1]

SMTP, SMSC, PPG, and MMSC

Messaging API

Outbound campaign*

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

Streaming

Streaming server

Streaming API

Portal integration

Web portal

Subscriber API, Device Client Web Services

Bundles, campaigns, subscribe plans, subscriber segments

Vending Manager

Vending Manager API



1 (TableFootnote) Promotional campaigns do not require integration with external systems