1 About Customizing BRM

Learn about customizing Oracle Communications Billing and Revenue Management (BRM) by using customized BRM code and by creating custom applications.

Topics in this document:

Before customizing BRM, read BRM Concepts.

Caution:

  • Always use the BRM API to manipulate data. Changing data in the database without using the API can corrupt the data.

  • Do not use SQL commands to change data in the database. Always use the API.

About Customizing BRM

There are different levels at which you can customize BRM:

  • You can write custom client applications.

  • You can change the default policy opcodes or write new policy opcodes.

  • You can create a new storable class to hold information needed for your business. For example, if you provide a new type of service, such as online gaming, you must create a storable subclass of type /service to hold gaming-related information.

  • You can write a new DM to access data in a storage system.

When you integrate your services, you can:

  • Create new services. BRM already supports a basic set of services, but you can integrate your own services such as fax, disk storage, voice mail, and different types of broadband access such as DSL.

  • Customize existing services to capture additional data. For example, you can extend the existing broadband service to charge different amounts for different types of access.

  • Customize how you charge for services (for example, by time or quantity).

For more information, see "Adding Support for a New Service".

Figure 1-1 shows the different types of customization.

Figure 1-1 Types of Customization

Description of Figure 1-1 follows
Description of "Figure 1-1 Types of Customization"

Planning Your Customization

Before you change the default BRM implementation or add new features and functionality to BRM, you must plan your customization. For your customization to work properly, changes you make to one component might require changes to other components. For example, to support a new service such as online gaming, you must consider making the following additions or changes to BRM:

  • Create a service class to define the service and to define events associated with the service that you want to rate.

  • Develop product offerings to define charges for the service.

  • Define balance elements for events generated by the service, and include them in your product offerings.

  • Map attributes of the events to charges and impact categories by using the charge selector in PDC.

  • Define different configurations for the service and rate each configuration by using charge-offer provisioning.

  • Set up authentication and authorization for users to log in to the service.

  • Extend client applications, such as Billing Care, and the account creation interface to process information specific to the service and to display information related to the service.

  • Customize the default policy FMs to process information specific to the service, or write new system FMs and policy FMs if necessary.

In addition, depending on the level of customization, you must determine whether you can implement your changes by using a client tool, by using a configuration file, or by programming.

Guidelines for Customizing BRM

Here are some general guidelines that you should follow when customizing BRM:

  • Performance: Assess how the proposed solution will impact the performance of the system. Review the sizing of the system to comply with existing performance requirements. The proposed solution should limit the number of charge offers, balance elements, and extended rating attributes (ERAs) affected during the customization.

  • Manageability: Verify that the proposed solution is easy to maintain. Minimize customizations for the following reasons:

    • Incompatibilities might arise between customizations and product upgrades, making the move to a newer version difficult.

    • Incompatibilities might arise between customizations and patches, leading to side effects or the need to check and possibly change the customization whenever a new patch is released.

    Before implementing the customization, save the copies of unedited configuration files, properties files, policy code, or any other files changed in the customization. Include comments explaining the customizations in the policy code or configuration file.

  • Resource utilization: Review how the proposed solution will impact the resource utilization and sizing of the system.

  • Cross-feature impact: Plan for the impact of the proposed solution on other features. For example, when customizing Accounts Receivable (A/R), consider how General Ledger (G/L) is affected. When creating your product offerings, consider how charge offers are purchased and how they are managed after being purchased.

About the BRM Client Access Libraries

BRM client applications communicate with Connection Manager (CM) by using any of the following client libraries:

All of the client libraries are included in the BRM SDK. See "About BRM SDK" for more information.

Table 1-1 shows the APIs you can use to customize the BRM components.

Table 1-1 APIs Used to Customize BRM Components

BRM Component PCM C PCM C++ Java PCM Customer Center SDK Perl

Client applications

Yes

Yes

Yes

N/A

Yes

Self-Care Manager

N/A

N/A

N/A

Yes

N/A

BRM client tools

Yes

N/A

N/A

N/A

N/A

Policy Facility Modules

Yes

N/A

N/A

N/A

N/A

Facility Modules

Yes

N/A

N/A

N/A

N/A

Data Manager

Yes

N/A

N/A

N/A

N/A

BRM Programming Tools

You can use the following tools and utilities for customizing BRM:

  • BRM SDK, which contains the APIs and libraries you need to write BRM applications, to write and customize BRM components such as FMs and DMs, and to customize BRM applications. It also includes sample applications and sample code that you can use as examples for your own work.

  • Developer Center, which includes developer applications that you use to create and modify storable classes and fields, test opcodes, view objects in the database, view opcode specifications, test opcodes, and create templates that control how event data is imported into the BRM database.