5 Understanding BRM Content SDK

This chapter provides an overview of Oracle Communications Billing and Revenue Management (BRM) Content SDK.

To use Content SDK, you should be familiar with Java programming.


Content providers must upgrade to Content SDK Release 2.0 in order to connect to a billing provider's Content Manager Release 2.0.

Content SDK and Content Manager and are components of BRM Content Connector.

What You Can Do with Content SDK

Content SDK is a set of Java classes that enables a content provider to access the authentication, authorization, and accounting (AAA) features of a billing provider that uses BRM Content Manager. The billing provider collects payment from the customer and can remit a portion of the charge to the content provider.

The content provider integrates these Java classes with the content server to automate the AAA processes.

How Content SDK Works

When a content server instantiates the AAA classes in Content SDK, function calls are sent to the billing provider to invoke AAA operations.


See "Connection Types" for information on methods of connecting Content SDK and Content Manager.

Customer Authentication and Authorization

Figure 5-1 shows the authentication and authorization (AA) process that occurs when a customer requests content from a content provider:

Figure 5-1 Authentication and Authorization for Customer Requests

Description of Figure 5-1 follows
Description of "Figure 5-1 Authentication and Authorization for Customer Requests"

  1. The customer request arrives at the content server.

  2. The content server sends AA requests to the billing provider by using the API in Content SDK.

  3. The billing provider receives the requests, performs AA checks, and responds to the AA request with an allow or deny result.

  4. The content server grants or denies the customer access to the requested data, depending on the AA result from the billing provider.

Accounting for Content Purchases

Figure 5-2 shows the accounting process when a customer purchases content:

Figure 5-2 Content Manager's Account Process

Description of Figure 5-2 follows
Description of "Figure 5-2 Content Manager's Account Process"

  1. The content server sends purchased content to the customer.

  2. The content server sends usage information to the billing provider in real-time or batch mode.

    See "Running CDKSample" for more information on real-time and batch accounting.

  3. The billing provider returns any error data to the content provider.

  4. Periodically (normally monthly) the billing provider bills the customer and optionally remits a portion of the fees to the content provider.

Connection Types

Content providers can connect to billing providers by using a PCP, HTTP, or secure HTTP (HTTPS) connection, depending on what the billing provider makes available.

PCP Connections

If a PCP connection is used, the Content SDK sends requests directly to Content Manager as shown in Figure 5-3:

Figure 5-3 PCP Connection

Description of Figure 5-3 follows
Description of "Figure 5-3 PCP Connection"


If PCP is used as the connection method, the content provider can use connection pooling to improve performance. See "About Connection Pooling" in BRM System Administrator's Guide and "Configuring the Infranet.properties File" for more information.

HTTP Connections

If an HTTP connection is used, the Content SDK sends requests to a billing provider's Self-Care Manager Web server, as shown in Figure 5-4:

Figure 5-4 HTTP Connection

Description of Figure 5-4 follows
Description of "Figure 5-4 HTTP Connection"

HTTPS Connections

If an HTTPS connection is used, the Content SDK sends requests to an HTTP proxy server located with the content provider. The proxy server translates HTTP requests into HTTPS requests, as shown in Figure 5-5:

Figure 5-5 HTTPS Connection

Description of Figure 5-5 follows
Description of "Figure 5-5 HTTPS Connection"

Components of Content SDK

Content SDK includes:

  • The cdk.jar distribution file, which includes Content SDK java classes.

  • The pfc.jar distribution file, which includes the connection pool classes.

  • Java class documentation.

  • The Content SDK properties file (Infranet.properties).

  • A sample Java application.

  • A makefile for the sample application.