2 Integrating ECE with PDC

This chapter provides instructions for integrating Oracle Communications Billing and Revenue Management Elastic Charging Engine (ECE) with Pricing Design Center (PDC).

Before reading this chapter, you should be familiar with ECE concepts and architecture. See the following chapters in BRM Elastic Charging Engine Concepts:

  • ECE Overview

  • ECE System Architecture

Overview of Integrating ECE with PDC

ECE must have access to pricing data to charge the usage requests it receives. ECE uses pricing data that you define in PDC. Pricing data in PDC is referred to as pricing components.

The following steps summarize what you need to do to integrate ECE with PDC:

Important:

Before integrating ECE with PDC, the following is assumed:
  • PDC is installed and it is configured for publishing pricing data for the ECE target charging engine.

  • The JMS queue has been set up on the Oracle WebLogic Server domain on which PDC is deployed and PDC is configured to publish pricing data to it.

  • ECE is installed and the Pricing Updater is configured and running.

  1. Define your events by creating or extending your event storable class definitions.

    You define each of your events by creating or editing an event storable class definition in BRM. You then export the event storable class definition as an event specification to PDC where additional information is added that is required for processing usage requests. The event specification in PDC is then published to ECE through the Pricing Updater where it is stored in the ECE event cache.

    See the discussion about creating custom fields and storable classes in BRM Developer's Guide.

  2. Export the event storable class definition as an event specification to PDC and add additional information that is required for processing usage requests.

    See the discussion about enriching event definitions in PDC User's Guide.

  3. Define your pricing in PDC and create your product offerings.

    Defining your pricing involves defining the setup components and pricing components that make up your product offerings. ECE requires this pricing data in its runtime environment.

    See "Creating Pricing Data for the ECE Runtime Environment" for information about pricing data used in the ECE runtime environment.

    See PDC Help for instructions on creating product offerings.

  4. After you create product offerings in PDC using your event and product definitions, synchronize product offerings created in PDC with BRM.

    This task is performed in PDC and must be done before you create customers so that the customer data, which you will load into ECE from BRM later during implementation, has the information ECE requires for charge processing.

    See Oracle Communications Pricing Design Center documentation for information about synchronizing pricing-component data in PDC with BRM.

  5. Load your pricing data.

    When you installed ECE, you specified the PDC JMS queue to which PDC publishes pricing data. Provided this configuration is set up correctly, each time PDC publishes pricing data to the JMS queue, it will be loaded into ECE. See "Configuring ECE for Receiving Pricing Data Updates from PDC".

Creating Pricing Data for the ECE Runtime Environment

You create pricing data for loading into the ECE runtime environment in PDC. ECE uses the account-level and product-level charge offer, alteration offer (discount offer) and distribution offer (charge sharing offer) you design in PDC to determine the cost of an event (which includes the effect of a discount) when processing usage requests. See "Creating Pricing Data for the ECE Runtime Environment".

You design pricing components in PDC such as charge offers and discount offers and design setup components in PDC that support the creation of pricing components such as impact categories, time models, ratable usage metrics (RUMs), service-event maps, and zone models. ECE uses the criteria in your pricing components to calculate the price of your services. See PDC User's Guide for a description of pricing components.

Creating pricing data in PDC is about creating product offerings. Product offerings are made up of various pricing components. Some pricing components are created in the PDC UI while other pricing components are created in an XML file and imported into the PDC database by using the ImportExportPricing utility. All pricing components are saved or imported into the PDC database.

Some pricing components, which you can create in the PDC UI, are not for the ECE runtime environment, but are rather subscription related and used by BRM. Components such as bundles, packages, and package lists are sent to BRM (the subscription system).

Table 2-1 summarizes the pricing data that ECE can process in its runtime environment and how you create the data.

Table 2-1 Pricing Data Used in the ECE Runtime Environment

Pricing Data Description

Setup Components:

-

Products

Define the product (service) in BRM and synchronize it with PDC.

In PDC, declare the name of the product type in the event specification to which the product applies. You define the ProductType name.

Events

For events, you do the following in PDC:

  • Declare the name of ECE event types in the event definition. You define the EventType name.

  • Define the payload blocks for the event.

    Configure the payload blocks of the event definition. The payload and other attributes in the event definition makes up the event specification.

The event definitions and request specification data associated with the event definitions are published to ECE by Pricing Updater.

Ratable Usage Metrics (RUMs)

Use the PDC UI to define RUMs.

Service-event maps

Use the PDC UI to define service-event maps.

Balance elements

Use ImportExportPricing utility to import balance elements.

Impact categories

Use the PDC UI to define impact categories.

Zone models

Use the PDC UI to define zone models.

Special-day calendar

Use the PDC UI to define a special-day calendar.

Custom analyzer rules

Create an XML file in which you define your custom analyzer rules. Sample XML files are available in the PDC_Home/apps/samples/examples directory. Use the sample XML data file as a template for creating your custom analyzer rule XML data file.

Use the PDC ImportExportPricing utility to retrieve the data from your XML file and load it into the PDC database.

Profile attribute specifications

Create an XML file in which you define your profile attribute specifications.

You can find the XSD file for profile attribute specifications in its respective subdirectory in PDC_home/apps/xsd, where PDC_home is the directory in which the PDC software is installed.

Use the PDC ImportExportPricing utility to retrieve the data from your XML file and load it into the PDC database.

Tax codes and general ledger IDs (G/L IDs)

Define tax codes and G/L IDs in BRM.

Automatically sync the tax codes and G/L IDs from BRM to PDC by using the SyncPDC utility.

Define ECE tax codes in ECE. ECE tax codes must match the tax codes defined in BRM.

See the discussion on configuring taxation in ECE Implementation Guide for information about how tax codes are configured in ECE.

Pricing Components:

-

Charges

Use the PDC UI to create charges.

Discounts (Alterations)

Use the PDC UI to create discounts (alterations).

Chargeshares

Use the PDC UI to create chargeshares

Charge offers

Use the PDC UI to create charge offers.

Discount offers

Use the PDC UI to create discount offers.

Chargeshare offers

Use the PDC UI to create chargeshare offers.

Time models

Use the PDC UI to define time models.

Generic selectors

Use the PDC UI to define generic attribute selectors.


Applying Custom Attribute Analyzer Rules to Usage Request Attributes

ECE can use custom analyzer rules when processing usage requests. A custom analyzer rule is a pricing setup component that you define in PDC. Fixed usage-request attributes, which are attributes applicable for all the events in ECE (such as USER_IDENTITY, REQUEST_START, and REQUEST_END), are typically used in custom analyzer rules with the prefix "ANYEVENT.Fixed_Attribute".

In addition to these fixed attributes, custom analyzer rules can be applied to any dynamic attribute on the payload.

If you want to use the CALLED_ID dynamic attribute in custom analyzer rules with the "ANYEVENT" prefix (for example, ANYEVENT.CALLED_ID), you must define the CALLED_ID attribute in all payloads.

Configuring ECE to Override a Product Price

ECE uses the default value of the pricing attributes to determine the product price when processing a usage request. However, you can override the price specified in the product offering at run time. To override the price, create a pricing XML file with dynamic tags and import the file into the PDC database by using the ImportExportPricing utility. PDC provides a sample XML file located in the PDC_home/apps/Samples/Examples directory.

Note:

Dynamic tags are the XML elements that are used for overriding the value of the pricing attributes, such as price, incrementStep, lowerBound, and UpperBound. Dynamic tags can be hierarchical.

To enable ECE to override the default value of the pricing attributes, you can implement a custom logic using the pre-rating extension. When you implement custom logic, the overridden values are populated in the payload of the request specification file. ECE uses these the overridden values to determine the price when processing process usage requests. ECE processes the tag hierarchy from left to right to determine the overridden value of the pricing attributes. ECE uses the default value of the attributes to determine the price when no custom logic is implemented.

For more information on the pre-rating extension, see BRM Elastic Charging Engine Extensions.

Loading Pricing Data into ECE

Caution:

In a production environment, PDC is the master of pricing data. Do not load pricing data into ECE using the pricingLoader utility or the simulator loader utility when you use PDC. Ready-to-use sample pricing data that is loaded by these utilities can conflict with pricing data created using PDC.

To load pricing data into ECE you start the ECE Pricing Updater node and publish your pricing data from PDC. In an ECE integrated installation, Pricing Updater loads pricing updates from PDC.

To load pricing data from PDC:

  1. Verify the Pricing Updater is configured.

    See "Configuring the Pricing Updater".

  2. On the machine on which you have Elastic Charging Controller (ECC) installed, go to ECE_Home/oceceserver/bin.

  3. Start the Elastic Charging Controller:

    ./ecc
    
  4. Run the following commands in this order:

    > start
    > start configLoader
    > start pricingUpdater
    

    After the ECE Pricing Updater node is running, each time you alter pricing data in PDC (such as create or modify a charge offer), PDC writes the data to the PDC JMS queue. The Pricing Updater listens on the queue and automatically loads the pricing data into ECE.

Configuring ECE for Receiving Pricing Data Updates from PDC

When you installed ECE, you provided information for configuring the Pricing Updater. The Pricing Updater reads pricing updates from the JMS queue where PDC publishes pricing data and loads it into ECE. You can change this configuration if needed. See "Configuring the Pricing Updater".

Configuring the Pricing Updater

To configure the Pricing Updater:

  1. Open the ECE_Home/config/management/migration-configuration.xml file.

  2. In the PdcEceQueue section, specify the JMS queue details of the queue where the Pricing Updater dequeues the pricing-data work items from PDC.

  3. In the PDCResultQueue section, specify the JMS result queue details of the queue where the Pricing Updater publishes the results back to PDC.

  4. (Optional) If you need to change the password value for connecting to PDC computers, run the encrypt password utility script to obtain the password, and then enter the password value for the Password parameter.

    You may need to change the password, for example, if ECE needs to interact with new PDC computers, or if the password used to connect to existing PDC computers must change.

    For information about running the encrypt password utility script, see the discussion on encrypting new passwords in BRM Elastic Charging Engine System Administrator's Guide.

  5. Save the file.