Quantcast
Channel: Oracle BRM – Tridens Technology
Viewing all 24 articles
Browse latest View live

Oracle BRM 7.3 database

$
0
0

The Oracle BRM database consists of many tables. In this article, the most important ones are presented and described. Underneath, a picture of the Oracle BRM 7.3. data model has been added.

Oracle BRM 7.3 database

In the database, account/customer related data such as names, addresses, profiles, current account balances, group charge sharing, and account hierarchy are stored. Deals can be purchased by the customer and associated with every account. Each customer can purchase more services. To know more, please examine the text underneath.

ACCOUNT_T
Stores information about the customer, including contact names, address, status, and customer segment information.

ACTIVE_SESSION_T
Stores data about an ongoing session.

BAL_GRP_T
Stores the balance information such as dollars, free minutes, bytes, and frequent flyer miles for various resources in an account . A balance group includes one or more sub-balances for each resource. The sub-balance contains the current amount, resource type, validity dates for the resource, rollover data, and sub-balance contributors.

BILL_T
Stores billing information, such as the amount due, amount adjusted, currency, and bill number. A /bill object is created at the beginning of a billing cycle.

BILLINFO_T
Stores all billing, payment method, accounting cycle, and hierarchy information necessary to bill an account. A /billinfo object is created for every account. If the billinfo is subordinate, the /billinfo object points to the parent account and the parent account’s /billinfo object.

CONFIG_T
Base table for configuration objects. Subclasses hold specific configuration information for various features, for example, /config/beid defines currency and non-currency resources.

DEAL_T
Stores information about a deal.When you use Pricing Center and connect to the database, all /deal objects in the database are shown in Pricing Center.

DEVICE_T
Stores information about devices. There is a separate /device object for every device managed by BRM. Generic data applicable to all devices is stored in the parent /device object. Subclasses such as /device/num store information specific to a particular device type.

EVENT_T
Abstract class to record system-initiated and user-initiated events. Event objects are related to a specific service or to an account. An event includes generic information such as start and end times as well the balance impacts that are incurred by the account due to this event. The /event object points to the account balance group that is impacted.

EVENT_BAL_IMPACTS_T
Stores event data.

INVOICE_T
Stores a customer invoice and information about the invoice, such as the bill it is associated with. Each /bill object can have a corresponding /invoice object.

ITEM_T
Created to bundle events, this table summarizes billable item activity by type. Rows in this table are added for each row in the BILL_T table.

PAYINFO_T
Stores generic payment method information for an account.

PRODUCT_T
Stores the information for a single product.

PROFILE_T
Abstract class to support custom account information. To use a /profile object, always create a subclass. You can link an account to any number of /profile objects.

PURCHASED_DISCOUNT_T
Contains an entry for each discount owned by an account at the time of conversion.

PURCHASED_PRODUCT_T
Contains an entry for each product owned by an account at the time of conversion.

RESERVATION_T
Tracks resources reserved for multi-service prepaid systems. Stores information about the account, balance group, and the service for which the resource reservation is created, the resource amount, and the expiration time for when the reserved resource expires.

SERVICE_T
Stores generic service type information for accounts. There is one row in this table for each applicable service for each entry in ACCOUNT_T. In addition to a row in this table, a row must be created in the service type table, such as IP service or email.


Our Entry into the Oracle Openworld Call for Papers 2011

$
0
0

We’ve applied to the Oracle OpenWorld call for papers with the following:

Lessons Learned Over 4 Years of Realtime Convergence with Oracle BRM

Tusmobil, the third largest mobile operator in Slovenia, has used Oracle BRM 7.3 since 2007 for realtime convergent charging of voice, video telephony, SMS, MMS, GPRS, and other VAS services for both prepaid and postpaid users. Lessons learned during the design, development, and four years of operations will be presented, including how we’ve dealt with performance and system optimizations. To achieve flexibility, we’ve used agile software development, a type of software engineering based on an iterative and incremental process, coupled with release management. The end result gives Tusmobil a major competitive edge by enhancing customer experience, generating new revenue, improving productivity, curtailing time to market, and cutting costs.

Real-time rating with Oracle BRM

$
0
0

Nowdays, more and more companies would like to employ AAA GW real-time rating, yet they are faced with many questions. In this article, some of these will be answered, conventional batch rating will be contrasted with realtime rating, and some benefits of the latter will be shown.

In conventional batch rating, all event data are read from CDR/EDR files after events are already finished. Event data are processed, rated, and charged.

Picture 1: Conventional batch rating


In realtime rating, data are processed when events are attempted or even in progress. Events are authorized, reauthorized, and, at the end, charged.

Picture 2: Real-time rating

When planning a realtime system, it needs to be designed in a way that minimizes the posibility of interrupting services or incurring any revenue losses. To minimize those, latency, high availability architecture, cm/dm separation per service for easier production maintainance, and efficient monitoring all have to be taken into consideration.

Picture 3: Monitoring of real-time traffic with Enterprise Service Manager.

With realtime rating, prepaid and postpaid users can be accommodated in one system – such a system is called convergent billing. Realtime billing offers even more benefits, such as postpaid credit limits, and realtime feedback after customer usage.

Picture 4: Postpaid accounts can get credit limits - 32 Mbytes transferred in EU countries, 32 Mbytes transferred outside EU, 30 EUR prepaid account top-ups - and a threshold for notifications can be set.

Picture 5: Realtime feedback after customer usage on Android application, WAP portal, and USSD.

In one of the next articles, more details will be presented regarding AAA GW, interaction workflow for calls (mbi,) and gprs/mms/sms (diameter.) Follow us on Twitter, and stay tuned.

Oracle Advanced Queuing and Oracle BRM

$
0
0

In our last article, Integrating Oracle BRM with enterprise applications, we explained one way of implementing a BRM-to-CRM integration. The suggested solution was to build a connector on the BRM side and have it connect to a third-party application. However, it is also possible to take a different approach by using Oracle Advanced Queuing, which will be the subject of this article.

Recently, we’ve been involved in a project where the customer wanted a “safe” integration without the need of being real-time; a near real-time solution would suffice, they said. What we mean by safe integration is having a solution that will not affect any action performed, such as purchasing a product or bill creation, by a failing communication link (or any other error) between Oracle BRM and third-party software. When implementing a custom dm connector for data integration, any unsuccessfully completed operation will rollback the entire action. While this can be a desired behavior, in this case it wasn’t; therefore, we decided to go with Oracle Advanced Queuing. We’ve identified that our worst case scenario here would be database issues, but there would also be numerous other problems as well; to begin with, the BRM system would not function properly.
Other advantages we’ve identified were data persistency (events are stored in the database until the consumer application is ready to process queued messages) and an already proven Oracle AQ technology.

We’ve successfully deployed these changes to Oracle BRM version 7.3 and 7.3.1 with Oracle Database 10g (10.2.0.1.0 64bit) and 11g (11.2.0.1.0 64bit) with the Oracle Advanced Queuing (AQ) component.

The process of publishing Oracle BRM business events using Oracle Advanced Queuing works can be seen on the figure below:

Picture 1: The data synchronization process using Oracle Advanced Queuing.

To develop such a synchronization process, it is necessary to take some preliminary steps. These include:
1. EAI Manager Installation.
o EAI Connection Manager (CM) module (includes op-codes required by EAI),
o EAI Data Manager,
o Payload Generator External Module (EM) – also called EAI Java Server or eai_js.
2. After completing the EAI Manager installation, configure values in the CM and EAI DM configuration files (pin.conf), as well as the Payload Generator properties file (Infranet.properties).
3. Configure the event notification list you wish to publish by editing the configuration files for event notification ($BRM_HOME/sys/data/config/pin_notify* files) and merge them before running the load_pin_notify utility.
4. Define business events in the Payload Generator EM configuration file (payloadconfig.xml).

After the preliminary steps have been completed, it’s time to create and configure the Oracle Advanced Queue. Here are the steps (the third step may vary, as it depends on your setup):
1. Create queue:
pin_ifw_sync_oracle.pl create -l $USER/$PASS@$DB -q TEST_QUEUE -t TEST_QUEUE
2. Test queue (optional step):
pin_ifw_sync_oracle.pl test -l $USER/$PASS@$DB -q TEST_QUEUE
3. Log in to your database as SYSTEM user and set appropriate grant privileges for your ‘t_user’:
exec dbms_aqadm.grant_queue_privilege(‘ALL’, ‘PUSER.TEST_QUEUE’, ‘t_user’);
grant execute on puser.pin_event_ty to t_user;
grant execute on sys.dbms_aqin to t_user;

Next, we need a queue producer, an application which is going to enqueue the business events defined earlier. Developing a producer module is similar to building your custom connector application (see here.) It is necessary to implement a custom module (library) and define it in the dm_eai configuration file under the “plugin_name” entry.
There’s also a simpler way to go about this task. If you’ve already installed “Account Synchronization DM,” then you will find an implementation of a queue producer module under dm_ifw_sync data manager. However, if you choose this option, some additional entries are required in the dm_eai configuration file.

After you have a working queue producer. go ahead and invoke some of your business events to see if they get queued. Queues can be queried in the table defined on queue creation.

Finally, you will need a queue consumer, an application that will read and dequeue your queued messages. There are several programmatic interfaces available for accessing Oracle Streams AQ in the following programming languages: Java (JMS), PL/SQL, C (OCI), Visual Basic (OO4O), AQ XML Servlet (IDAP).
With your custom client implementation, you will have full control at how fast, when, and how many messages are going to be processed. For instance, during off-peak hours, you can process more data than during peak hours.

Hopefully, we’ve given you some valid pointers on how to go about the process of integration/synchronization between Oracle BRM and third-party systems and/or applications.

Oracle has released OBRM 7.5

$
0
0

Oracle Corporation has released a new version of Oracle Communications Billing and Revenue Management 7.5 (Oracle BRM 7.5.)

The following modules are included in this release:

  • Balance Management
  • Balance Monitoring
  • Billing
  • Convergent Subscriber Management
  • Financial Management
  • Order Inventory Framework
  • In-memory data management capabilities that integrate Oracle Communications Billing and Revenue Management with Oracle In-Memory Database Cache
  • Invoicing
  • Partner Relationship Management
  • Pricing Configuration
  • Real-time Rating
  • Reporting
  • Subscriber & Hierarchy Management
  • Subscriber Groups Management
  • Self-Care Manager

Some of the new features are as follows:

  • Enhanced Invoice Document
  • Enhancements to Oracle In-Memory DB (IMDB, formerly TimesTen)
  • JCA Enhanced Transaction Management
- JCA Multiple OBRM Accounts in One Transaction
  • Limits to Shared Memory Size for “Big” Shared Memory Structures
  • Support for Rebilling and Corrective Invoices

The following BRM components are no longer supported in OBRM 7.5:

  • AAA Gateway Manager, replaced by Oracle Mediation Controller
  • RADIUS Manager, replaced by Oracle Mediation Controller
  • TIMOS Manager, replaced by Oracle IMDB

Tridens, an Oracle Gold Partner, offers consulting services, such as initial OBRM implementations, proof of concept, enhancements, upgrading, etc. To read more about our Oracle BRM services please click here.

Oracle BRM Positioned in the “Leaders” Quadrant in the Gartner 2013 Report

$
0
0

Gartner announces that Oracle Communications Billing and Revenue Management (Oracle BRM) was positioned in the “Leaders” Quadrant of the Magic Quadrant for Application Infrastructure for Integrated Revenue and Customer Management for CSPs.

Gartner_2013

To see the report, please click on the link.

Tridens’ MVNO billing solution

$
0
0

Tridens has done a pre-built MVNO BRM 7.5 solution, which enables you a quick launch of your mobile services such as mobile voice & video-telephony, data & fax, SMS, MMS, GPRS, content, etc.; your MVNO can be launched in weeks instead of months.

The Tridens’ solution supports MVNO with own core elements, or MVNO with hosted elements. Moreover, it supports pricing, rating, billing, invoicing, and provisioning.

Our Entry into the Oracle Openworld Call for Papers 2015

$
0
0

We’ve applied to the Oracle OpenWorld call for papers with the following:

Building BRMbox: Cloudized Oracle Comms Billing and Revenue Management Service

Oracle Communications Billing and Revenue Management – BRM is a industry leading solution for convergent, real-time charging and billing. Based on our extensive experience of building, implementing and managing BRM based solutions for multiple customers, we at Tridens and Ebillsoft decided to build a fully cloud based software as a service solution based on BRM at its core and named it BRMbox. With BRMbox we bring together the power of BRM’s extreme business flexibility and benefits of SaaS like lower initial cost, ease of use and extremely fast time to market. In this session we will explain the process of cloudizing and abstracting BRM core, technologies & processes used, challenges and lessons learned during this process.


Mast Mobile Launching Dual-Number Billing on Oracle BRM

$
0
0

We are thrilled to announce that Mast Mobile Launched Dual-Number Billing on Oracle BRM. At Tridens we are proud to be part of this awesome project.

Hear David Messenger, CEO & Co-founder, Mast Mobile, discuss their newly launched, disruptive, single end-to-end solution for mobile enterprise communications allowing two numbers on a single phone – one for personal and one for business use.

Tušmobil selected Tridens for Oracle BRM implementation

$
0
0

Tušmobil selected Tridens for Oracle BRM implementation.

“We selected Oracle partner Tridens due to its expertise in software development and deep knowledge of Oracle Communications Billing and Revenue Management. Tridens conducted the upgrade in less than five months, developed extensions and customizations, and it provided integration with other IT systems. In addition, its consultants developed the Oracle Communications Billing and Revenue Management platform for hosting MVNO services, and it provides us with ongoing support, maintenance, and development, so that we can use the system to its fullest,” Antonic said.

More about you can find at link.

With BRMbox at Oracle Open World 2016

$
0
0

With the US based partner, EBillSoft, we will present the BRMbox service at Oracle Open World in San Francisco. Please feel free to visit us at our kiosk at the exhibition hall, where we will showcasing the BRMbox service with the SalesForce, QuickBooks, payments and taxation gateways integrations.

BRMRestBridge for easy and quick integration of Oracle BRM

$
0
0

If you’ve ever integrated Oracle Billing and Revenue Management (Oracle BRM) and any third party application, such as ERP, CRM, Self-Care, etc., then you know how it’s accomplished, what the challenges/problems are, and what the result is.

The integration can be achieved two ways. The first one is to connect to a CM process, call Oracle BRM opcode and pass on the input data in list format. The implementation can be done in programming languages, such as Java, C, C++, and Perl.

The second option is to install the WebService Manager component, start invoking the SOAP web-services and pass the data in XML format. However, here are a few pitfalls to this approach. Oracle BRM WebService component doesn’t support all opcodes; neither does it support customized opcodes and fields. In such cases. you need to extend the XSD and WSDL files, which is very time consuming and awkward.

Previously described integration options are time consuming and don’t follow today’s agile development processes. Therefore, at Tridens, we’ve designed a component called BRMRestBridge, which introduces the integration via REST and JSON. The components support all out-of-the-box and customized opcodes and fields (attributes).

Let’s make an opcode call. First, we need to configure the headers’ attributes, such as BRM_URL, BRM_PORT, BRM_USER, BRM_PASSWORD.
PICTURE

When we’ve set the headers, we need to define the POST request.
PICTURE

Finally, we have to configure the body, which serves as input to the post request.
PICTURE

Tu summarize, BRMRestBridge enables fast and easy integration of Oracle BRM with any application. To call any opcode with any field, you don’t need to write a line of code or change any XSD and WSDL files. Just use BRMRestBridge and voila, you’re all set.

Why being an Oracle BRM consultant?

$
0
0

Why being an Oracle BRM consultant?
Oracle BRM developer

Real-time rating with Oracle BRM

$
0
0

Nowdays, more and more companies would like to employ AAA GW real-time rating, yet they are faced with many questions. In this article, some of these will be answered, conventional batch rating will be contrasted with realtime rating, and some benefits of the latter will be shown.

In conventional batch rating, all event data are read from CDR/EDR files after events are already finished. Event data are processed, rated, and charged.

Picture 1: Conventional batch rating


In realtime rating, data are processed when events are attempted or even in progress. Events are authorized, reauthorized, and, at the end, charged.

Picture 2: Real-time rating

When planning a realtime system, it needs to be designed in a way that minimizes the posibility of interrupting services or incurring any revenue losses. To minimize those, latency, high availability architecture, cm/dm separation per service for easier production maintainance, and efficient monitoring all have to be taken into consideration.

Picture 3: Monitoring of real-time traffic with Enterprise Service Manager.

With realtime rating, prepaid and postpaid users can be accommodated in one system – such a system is called convergent billing. Realtime billing offers even more benefits, such as postpaid credit limits, and realtime feedback after customer usage.

Picture 4: Postpaid accounts can get credit limits - 32 Mbytes transferred in EU countries, 32 Mbytes transferred outside EU, 30 EUR prepaid account top-ups - and a threshold for notifications can be set.

Picture 5: Realtime feedback after customer usage on Android application, WAP portal, and USSD.

In one of the next articles, more details will be presented regarding AAA GW, interaction workflow for calls (mbi,) and gprs/mms/sms (diameter.) Follow us on Twitter, and stay tuned.

Using Oracle BRM pin_del_closed_accts tool to meet the GDPR requirements

$
0
0

Our reason to start analysing and testing Oracle BRM pin_del_closed_accts tool was GPRS Article 17: “Right to erasure (‘right to be forgotten’)“.

To meet all the GDPR requirements, all closed accounts must be deleted from Oracle BRM after a 24 months retention period. Till now we anonymized all customer information directly in the Oracle BRM database because there was no tool in Oracle BRM billing to properly delete closed accounts and all related data. With Oracle BRM 7.5 Patch Set 22, a tool for deleting closed accounts was added.

Oracle-BRM-anonymized

Picture 1. Oracle BRM 7.5 PS22 Customer Center anonymized customer data

Tool pin_del_closed_accts deletes all accounts and all referenced data for accounts that are older than a specified retention time. But keep in mind that the utility deletes only OOTB data objects; all custom data objects must be deleted by implementing custom logic and triggering it with the /event/notification/account/pre_delete or /event/notification/account/delete events, which are generated by PCM_OP_CUST_DELETE_ACCT opcode.

The retention period can be set by configuring ClosedAcctsRetentionMonths entry in bus_params_customer.xml and loading it into the Oracle BRM DB.

The utility should be run from BRM_home/apps/pin_billd folder. In pin.conf Set the number of threads to properly adjust the load on your Oracle BRM server. At the beginning, there were some very bad performances and lots of locked threads in the DB. Therefore, we created indexes on audit tables because searching for and deleting records in those tables takes a lot of time. If you need detailed information regarding creating indexes, please feel free to contact us.

The utility accepts several input parameters, so accounts can be deleted in specific order:

1. Deleting all the closed non-paying child accounts in hierarchy at different levels:

pin_del_closed_accts -subord -leaf
pin_del_closed_accts -subord

2. Deleting member accounts of the sharing groups:

pin_del_closed_accts -members_sharing

3. Deleting paying child accounts at different levels in a hierarchy:

pin_del_closed_accts -members_billing

4. Deleting all remaining closed accounts:

pin_del_closed_accts

It is also possible to use an input list with accounts POID to delete specified accounts:

pin_del_closed_accts -file file_name

Example of input file:
0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 1
1 PIN_FLD_POID POID [0] 0.0.0.1 /account 1111 0
0 PIN_FLD_RESULTS ARRAY [1] allocated 20, used 1
1 PIN_FLD_POID POID [0] 0.0.0.1 /account 2222 0
0 PIN_FLD_RESULTS ARRAY [1] allocated 20, used 1
1 PIN_FLD_POID POID [0] 0.0.0.1 /account 3333 0
0 PIN_FLD_RESULTS ARRAY [1] allocated 20, used 1
1 PIN_FLD_POID POID [0] 0.0.0.1 /account 4444 0

If there are references between accounts, referenced accounts won’t be deleted.

We are deleting accounts older than 24 months once per month to meet GDPR requirements. Deleting causes quite a heavy load on the DB, so it is done during the night, when the load on our real time Oracle BRM billing system is low.

Complying to GDPR requirements with the pin_del_closed_accts tool was a step in the right direction because everything is done automatically; therefore, we do not have to worry about this anymore.

The post Using Oracle BRM pin_del_closed_accts tool to meet the GDPR requirements appeared first on Tridens Technology.


When can we expect new Oracle BRM?

$
0
0

It’s been some time since the release of Oracle BRM 7.5. Moreover, it was released in November of 2011. According to the rumours, the new version should be released soon; till the end of 2017.

What would be the new version? 7.6,8.0 or something else? Some are saying that all communications products will get 12 as a release version.

What features will be part of the new release of Oracle BRM? Stay in touch as we will be the first to write about this.

The post When can we expect new Oracle BRM? appeared first on Tridens Technology.

Oracle Communications Billing and Revenue Management 12

$
0
0

In this article we have question ourselves when and what would be the next Oracle BRM version. Oracle has released a new version of Oracle Communications Billing and Revenue Management 12 (Oracle BRM 12)

New capabilities include

  • New unified functionality available in the modern, browser-based Billing Care user interface
    • Advanced customer and asset management with subscription group services
    • Corrective invoicing, credit profile management and sharing
    • SEPA Payments, account and bill unit level refunds, item and event level disputes
    • Collections management, write-off and recovery
  • Secure and documented Billing Care REST API
  • Enhanced security including use of Oracle Wallet
  • Updated core technology support

No longer supported features

The following BRM components are no longer supported in Oracle BRM 12:

Oracle BRM Clients Replaced by Billing Care

Oracle BRM 12.0 no longer supports the following client applications:

  • Customer Center (including Customer Center SDK)
  • GSM Manager Customer Center Extension
  • Collections Center
  • Payment Center
  • Payment Tool

Use Oracle Communications Billing and Revenue Management Billing Care for customer, payment management, and some collection tasks.

Brand Manager

Oracle BRM 12.0 no longer supports Brand Manager for creating new brands.

Pricing Center

Oracle BRM 12.0 no longer supports Pricing Center to create and maintain your price lists. You have to use Oracle Communications Pricing Design Center instead for creating and maintaining your price lists and other product offerings.

Content Manager

The following are the changes made to Content Manager in BRM 12.0.

  • Content SDK Removed from Content Manager
  • BRM 12.0 no longer supports Content SDK and the AAA Opcodes associated with Content Manager.

You have to use Oracle Communications Billing and Revenue Management Elastic Charging Engine (ECE) for AAA functions.

Optional Managers

Oracle BRM 12.0 no longer supports the following optional managers:

  • Email Manager
  • IMT Manager
  • RADIUS Manager- You have to use Oracle Communications Billing and Revenue Management Elastic Charging Engine (ECE) RADIUS Gateway for authorization and authentication tasks. For more information, see ECE Implementation Guide.
  • Resource Reservation Manager- You have to use Oracle Communications Billing and Revenue Management Elastic Charging Engine (ECE) to reserve customer account balance resources in advance of a network session. For more information, see ECE Implementation Guide.
  • Vertex Quantum Manager

Service Managers

Oracle BRM 12.0 no longer supports the following BRM service managers:

  • GSM AAA Manager
  • GPRS AAA Manager
  • Services Framework AAA Manager

You have to use Oracle Communications Billing and Revenue Management Elastic Charging Engine (ECE) diameter Gateway for processing AAA requests.

Voucher Manager

Oracle BRM 12.0 supports Voucher Manager only if you have already installed it in your existing BRM system.

Web Services Manager

Oracle BRM 12.0 no longer supports Oracle GlassFish Server. You may install Web Services Manager only on the following servers:

  • Oracle WebLogic Server
  • Apache Tomcat server

Tridens, an Oracle Gold Partner, offers consulting services, such as initial Oracle BRM implementations, proof of concept, enhancements, upgrading, etc. Click here to know more about Tridens Oracle BRM services.

The post Oracle Communications Billing and Revenue Management 12 appeared first on Tridens Technology.

Oracle BRM Integration with Tax Providers

$
0
0

Oracle Billing and Revenue Management (Oracle BRM) is an end-to-end revenue management system used by many communications, IoT, SaaS, and media service providers. When it comes to managing the whole revenue lifecycle, Oracle BRM’s powerful configuration and customization capabilities make it a very good option to choose for any company operating in almost any field of activity or service.
In some previous articles we already discussed taxation-related challenges, especially in United States (“Working with U.S. Taxes in Tridens Monetization – Part 1”). In this article we will take a look at how we can deal with such challenges if we are using Oracle BRM.

We have multiple possible approaches to incorporate taxation in Oracle BRM:

  • Using BRM Tax Codes file
    • Best for applying simple flat taxes
  • Customized taxation by modifying BRM policy opcodes
    • BRM Taxation policy opcodes can be used to apply custom taxes which do not require the full capability of third-party tax providers
  • Offline third-party tax software Vertex Sales / Communications Tax Q Series
    • Allows complex taxation with multiple jurisdictions
  • Online third-party tax provider services by modifying BRM taxation policy opcodes
    • This innovative approach is possible due to Oracle BRM’s extensive customization capabilities and allows an online integration with third-party tax providers such as Avalara or Suretax

 

Integrating a Third-Party Tax Service Provider with Oracle BRM

We will focus on the approach which uses online tax provider calculation services in combination with Oracle BRM. We made a proof-of-concept implementation of this solution shown in the diagram “Using Third-Party Online Tax Calculation Services with Oracle BRM”.

 

Oracle BRM Tax Gateway Calculation Service

 

To start with, it is necessary to configure a rating product in Oracle BRM correctly. It is of great importance to set the tax code for the product appropriately. The tax code must include all the necessary information, such as third-party provider specification, tax type, tax category, and tax service type. The BRM policy opcode PCM_OP_CUST_POL_TAX_CALC customization, developed by Tridens, then uses these data to generate a request for the Tridens Tax Gateway (we already talked about Tridens Tax Gateway in our article “Working with U.S. Taxes in Tridens Monetization – Part 2″). The Tax Gateway then returns data provided by online tax calculations provider in a unified format. Our customization in Oracle BRM then parses the received information and populates all necessary data in Oracle BRM internal data structures to allow BRM to perform the taxing of a rated event correctly.

 

Conclusion

Our proof-of-concept implementation has the following advantages in comparison to offline third-party tax provider software:

  • Lower costs
  • Is always up-to-date with the latest tax regulation changes in specific states (No software updates required)
  • Possible to use various online tax calculations for different products if required

We must, however, also consider a disadvantage which is brought by using the online tax calculation solutions:

  • Such a solution may not be suitable for large applications with a high number of requests per second and/or applications where low latencies are a requirement

If you would like to know more about using online tax calculations from third-party tax providers with Oracle BRM, feel free to contact us!

The post Oracle BRM Integration with Tax Providers appeared first on Tridens Technology.

Oracle BRM Policy Opcode Custom Code Debugging via GDB

$
0
0

If we want to produce a high-quality of our Oracle BRM software, we must meet some requirements regarding our development process. It is especially important to incorporate good testing and debugging techniques in our development process.
Testing is a process of finding bugs or errors in a software product that is done manually by a tester or can be automated.
Debugging is the process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system. It is basically a process of fixing the bugs found in testing phase. Programmer or developer is responsible for debugging and it can’t be automated.

 

Debugging Oracle BRM policy opcodes custom code

When customizing policy opcodes in Oracle BRM it is often needed to debug some code to find potential bugs or analyze code behavior. Some basic analysis can be done with logging some debug messages and analyzing logs, but much more advanced and powerful method is to use a separate tool – debugger. In this article we will look at how we can use open-source debugger GDB to debug an Oracle BRM cm process which performs also some custom code (see the picture underneath).

Debugging of Oracle BRM CM with GDB

Schematic overview of debugging Oracle BRM CM using GDB

 

GDB is an open-source debugger that provides many advanced and powerful tools to analyze and debug our code. Some of GDB’s basic features are breakpoints (conditional/unconditional), watches, back traces and incremental code execution. You can of course also view and modify variable values and call various functions. Now let’s look at how we use GDB with cm process in practice.

 

Debugging in practice

 

First, we must get a PID of our CM process:

 

ps x

 

Find CM process PID and use it to connect to that process with GDB:

 

gdb cm

 

Now GDB shell opens where we can execute various commands that GDB supports. Each new connection that is established to CM causes spawning of new child CM process from parent CM. We want GDB to also track such child processes. Execute following command in GDB shell:

 

(gdb) set follow-fork-mode child

 

Depending on your needs you may also want to explore commands set detach-on-fork and attach. Now let’s set some breakpoint to some policy opcode implementation, like following example:

 

(gdb) break fm_act_pol_post_reauthorize.c:192

 

When we now trigger policy opcode execution, it will be interrupted by breakpoint (or even before that it will notify us that new child was spawned). We can then follow code flow step-by-step using commands next (abbr. n) or step. If we are interested in some variable value, we can print it out using:

 

print <variable>

 

Oracle BRM CM process debugging example

Example of using GDB to debug Oracle BRM CM process

 

Many more advanced and powerful features are also at our disposal which are described in GDB documentation and integrated help in detail. You are invited to research them to see how they can help you.

The post Oracle BRM Policy Opcode Custom Code Debugging via GDB appeared first on Tridens Technology.

Oracle BRM Integration with Payment Providers

$
0
0

When dealing with rating, Oracle Billing and Revenue Management (Oracle BRM), we quickly realize that in order to offer a truly versatile solution, some form of fund collection has to exist. Clients should have the ability, if desired, to pay for services from the platform they are using directly. There is a number of different payment processing providers to choose from, where they differ between supported countries, supported payment options, supported services, etc. Each provider also has different means of integration, which can become an issue when trying to support multiple payment provider options. Here at Tridens we developed a standalone solution – the Tridens Payment Gateway – which serves as a unified communication software for integrating with different payment providers. In this article we will focus on using it to integrate different payment providers in Oracle BRM, but you can read more about the Payment Gateway itself in one of our upcoming articles.

 

Processing Payments in Oracle BRM

You can find some general information about Oracle Billing and Revenue Management (Oracle BRM) in our previous article “Oracle BRM Integration with Tax Providers”. In this article we will take a look at Oracle BRM support for payments and a possible solution to extend its capabilities. Oracle Billing and Revenue Management supports Paymentech as its online payment processor. Chase Paymentech is the payment processing and merchant acquiring business of  JPMorgan Chase, which is the largest bank in the United States.  To use Paymentech with Oracle BRM, you must install the Paymentech Manager software, which integrates the Paymentech Manager software with Oracle BRM.

Oracle BRM supports direct debit of funds by using Paymentech and all of the credit cards supported by Paymentech. It also supports debit cards that do not require a personal identification number (PIN) to perform transactions. Oracle BRM also supports Single Euro Payments Area (SEPA) Direct Debit and SEPA Credit Transfer.

Oracle BRM Payments Diagram

Oracle BRM Payments Diagram

 

Our Solution to Integrate Payment Processors with Oracle BRM

But what if you want to use some other online payment processing provider with Oracle BRM, like Braintree, Paypal, Cybersource, Stripe, Wirecard, Authorize.Net, etc.? We developed a solution that allows you to do exactly that with any payment provider and easy integration with new payment providers.  The diagram below shows the architecture of our solution.

 

Online Payment Processor Oracle BRM

Using Online Payment Processor with Oracle BRM

As is visible from the diagram, we introduced a new custom BRM data object that holds all necessary information about payment processor’s configuration (it is possible to configure multiple payment processors).

Policy opcode PCM_OP_PYMT_POL_PRE_COLLECT was customized to retrieve all necessary information about the active payment processor from the custom data object and use retrieved information to modify the PayInfo BRM object to include information about the online payment processor.

We developed a custom Tridens Payment Data Manager (DM). CM was configured to use the new custom DM for processing payments. The main function of a new DM is to exchange data with Tridens Payment Gateway (Tridens PGW). It has to extract all required information from the PayInfo object and create a request to the payment gateway in its unified format. Tridens Payment Gateway then converts payment request to a format used by specific payment processors. When a payment is processed by the payment processor, Tridens Payment Gateway converts data returned by the payment processor, in a unified format. Our custom DM receives the returned data, checks the payment status and populates internal BRM payment data structures so that CM can process them accordingly. After processing, CM stores payment details into payment events.

 

Conclusion

One of the main priorities when designing and developing our solution was security, so that there is no need to store any of your sensitive payment credentials (like credit card numbers, cvvs, etc.) in Oracle BRM. The proof-of-concept implementation described in this article shows further how Oracle BRM customization capabilities allow us to achieve our business needs and develop features that are not included out of the box. Developing and using such solutions can often help us meet our business needs, reduce costs and open new ways to design our solution architecture.

If you need more information about using online payment processing providers with Oracle BRM feel free to contact us!

The post Oracle BRM Integration with Payment Providers appeared first on Tridens Technology.

Viewing all 24 articles
Browse latest View live