by Benedikt Herudek published in SOA Magazine IV

Excerpt

The Order To Cash Process Integration Pack (O2C PIP)is a packaged solution on top of the Application Integration Architecture (AIA). AIA is n Oracle SOA solution, designed to deliver building Blocks for Integrations (AIA Foundation Pack) or pre integrated Integration Solutions, the Process Integration packs .

The O2C PIP is an important Integration Flow because it is the enabler of Oracle’s Telecommunications Business Support System (BSS) Order Management Solution, called Rapid Offer Design & Order Delivery (RODOD).

In the following we will give a high level Introduction to RODOD , a short introduction to the Application Integration Architecture and a detailed description of the Order To Cash Process Integration Pack

Rapid Offer Design & Order Delivery (RODOD):

RODOD is a Telecommunications BSS Order Management Solution consisting of:

      Siebel, OSM & BRM, which were all 3 acquired by Oracle acquired in the year 2006

      Optionally a Product Master PH4C (Product Hub for Communications), even though RODOD can work without a Product Master. Ph4C is an Oracle E-Business Suite Instance

      An out of the Box Integration Application Integration Architecture (AIA) with Process Integration Packs (PIPs) implemented in Oracle SOA with BPEL.

  • Master Data Management (MDM) PIP: Sending Product Data from Ph4C to Siebel, BRM (OSM), optional
  • Agent Assisted Billing Care (AABC) PIP: Providing BRM Customer Billing Information into Siebel, optional but usually implemented
  • Order To Cash (O2C) PIP: Integrating Siebel, OSM and BRM for the Order Flow

      All Applications are used independently of RODOD, including AIA. Only the 3 listed Process Integration Packs are RODOD specific

      RODOD can work without the MDM & AABC PIP but not without the O2C PIP

In virtually any RODOD Implementation, You also find see an Enterprise Service Bus (for Example Oracle Service Bus) to connect RODOD to external Systems. In particularl OSM will need to talk to the Network System, Siebel will usually talk to Systems which render eg Client Information.

RODODs equivalent on the Telecommunications Network side (Operating Support Systems) is Oracle’s Rapid Service Design and Order Delivery (RSDODO) consisting of OSM, Unified Inventory Management (UIM, Automated Service Activation Program (ASAP)& Oracle Communications IP Service Activator).

RODOD as a Telecommunications Order management Systems supports three main functional areas with several Order Types.

  • Telco1Order Intake, eg in a Call Center, via Siebel. The Order Intake receives Status updates from the Provisioning and Billing Systems and eventually notes down, which Products a Client has purchased
    • Order Provisioning, that is talk to the network OSS (Operational Support Systems) to install the Product, via OSM. In case the Client needs physical Installations other Modules for scheduling engineers and shipping hardware will be used
    • Customer Billing , via BRM. The service usage of the Client is fed into BRM via Files, called Call Data Records. Depending on the Clients price plan, his bill gets accumulated, typically once per month
      • A customer wants to add an optional mobile phone internet subscription to his internet home service.
      • The Call Center Agent enters a change order to add mobile phone internet product to his existing home based internet subscription.
      • When the OSM order management sends a fulfillment order billing request to AIA, the O2C PIP looks up the cross reference based on the Siebel ‘Asset Integration ID’ to find the BRM service POID.
      • The O2C PIP then calls the correct BRM API with the correct arguments to add the product to the service in BRM
    • standardized data model for common business objects
    • Receiving Generic Enterprise Message from Application Business Connector
    • Routing to the correct addressee
    • Calling & Orchestrating Enterprise Business Services to fulfil a complex task like an orderflow
    • transforming messages from application-specific format (Application Business Message ABM) to application independent format (Enterprise Business Message EBM)
    • Managing cross-referencing of instance identifiers, validating and enriching content (if required)
    • Invoking the Enterprise Business Service / Application Services
    • Most AIA ABCS are using BPEL (state full conversations, XSLT is used for transformation
    • Process Sales Order Fulfilment: Send Orders From Siebel to OSM COM
    • Synchronize Fulfilment Order Billing Account: Synchronize Customer Accounts between Siebel and BRM via OSM COM
    • Bill Fulfilment: Initiating Billing from OSM COM towards BRM
    • Provision Order and Update Fulfilment Order: Send Order from OSM COM (Fulfilment) to OSM SOM (Provisioning) to talk to the OSS Network Layer
    • Update Sales Order: Update Order Status from OSM COM (Fulfilment) back to Siebel
    • OSM COM / Fulfilment: orchestrates order tasks in the RODOD BSS Systems. It generates a plan, how the order should be executed and coordinates the calls
    • OSM SOM / Provisioning: talks to the OSS Network Systems and coordinates the Order Provisioning downstream
      • picks up an OSM message from JMS queue AIA_CRTCUST_OUT_JMSQ JMS
      • routes it to CommsProcessFulfillmentOrderBillingAccountListEBF service
      • extracts the relevant customer data to create a ProcessBillingAccountListEBM message
      • routes message to CommsProcessBillingAccountListEBF service
      • Generates QueryCustomerPartyListEBM message
      • routes the message to the QueryCustomerPartyListSiebelProvABCSImplV2 service
      • prepares the application business message (ABM)
      • invokes Siebel via SWI_Customer_Party_Service with the ABM
      • transforms the received ABM to a QueryCustomerPartyListResponseEBM message
      • sends EBM back to CommsProcessBillingAccountListEBF service.
      • instantiates the SyncCustomerPartyListBRMCommsProvABCSImpl service.
      • calls PCM_OP_CUST_COMMIT_CUSTOMER BRM opcode to create an account./ PCM_OP_CUST_UPDATE_CUSTOMER or PCM_OP_CUSTCARE_MOVE_ACCT opcode to update an existing account
      • sends SyncCustomerPartyListResponseEBM message back to CommsProcessBillingAccountListEBF (asynchronous delayed response mode)
      • sends the ProcessBillingAccountListResponseEBM response message to the CommsProcessFulfillmentOrderBillingAccountListEBF (asynchronous delayed response mode)
      • drops a message into the AIA_UPDCUST_IN_JMSQ store-and-forward queue
      • OSM is notified of the SyncCustomer status

The Order Flow over these Systems is facilitated via the Integration Layer, the so called the Application Integration Architecture Order To Cash Process Integration pack (AIA O2C PIP).

Application Integration Architecture

Telco2The Application Integration Architecture is a layer on top of Oracle SOA Suite offering building blocks to integrate Systems. O acle offers industry (e.g. Telecommunication, Manufacturing) process (CRM, HCM) and vendor (Oracle2SAP) Application Connectors and Generic Datamodels. T e AIA Foundation Pack reuses elements of the SOA Suite like BPEL, Adapters, Mediators and renders a library for the AIA PIPs.

Customization and Development for AIA is done in Jdeveloper. The LifeCycle Workbench offers a Repository to look up and functionally design define AIA Services. The Composite Application Validation System (CAVS) allows testing AIA Composites. The Deployment Generator allows automation of deployments.


AIA deploys Composites in Weblogic, which can be monitored in Oracle Enterprise Manager. The SOA Suite runs on a Database with specific Database Schemas, important Tables are the so called XREF Tables, where concepts common to Application like Orders, Accounts and Products are linked. The Metadata Service Repository holds AIA Artefacts like EBOs, EBSs, WSDLS etc.

An important Concept of the Application Integration Architecture are the so called Enterprise Business Object. They offer a Generic Data Model, to which Concepts which are common to all Applications (Products Customer, Orders) can be easily mapped. AIA connects to Applications via adapters, called Application Business Connector Services, which are usually written in BPEL.

AIA essentially connects to Applications, translates System specific messages to its generic Data model and organizes the message exchange with different technologies (Queues, Webservices) and Integration Patterns.

An Integration layer needs to be able to map equivalent Concepts in different Systems to each other. This done via so called Cross references. Cross Reference, here XREF tables are a Construct from the Oracle SOA layer designed to map values for equivalent entities created in different applications. An XREF Table assigns a common global key to data objects from different applications, which need to be mapped to each other

In RODOD the AIA layer uses such tables to map Siebel, OSM, BRM and PH4C identifiers and keys for Products, Customer and Orders.

With an for Products existing in Siebel and BRM:

Find a Schema listing the main Concepts with the example of Siebel and BRM communicating via the O2C PIP in RODOD.

Telco3

Enterprise Business Object (EBO):

Enterprise Business Service (EBS):

Enterprise Business Flow (EBF):

Application Business Connector Service (ABCS):


O2C PIP

The O2C AIA PIP connects RODOD (Siebel, BRM, OSM) via five flows:

  • Process Sales Order Fulfilment: Send Orders From Siebel to OSM COM
  • Synchronize Fulfilment Order Billing Account: Synchronize Customer Accounts between Siebel and BRM via OSM COM
  • Bill Fulfilment: Initiating Billing from OSM COM towards BRM
  • Provision Order and Update Fulfilment Order: Send Order from OSM COM (Fulfilment) to OSM SOM (Provisioning) to talk to the OSS Network Layer
  • Update Sales Order: Update Order Status from OSM COM (Fulfilment) back to Siebel
  • Telco4
  • OSM COM / Fulfilment: orchestrates order tasks in the RODOD BSS Systems. It generates a plan, how the order should be executed and coordinates the calls
  • OSM SOM / Provisioning: talks to the OSS Network Systems and coordinates the Order Provisioning downstream
    • picks up an OSM message from JMS queue AIA_CRTCUST_OUT_JMSQ JMS
    • routes it to CommsProcessFulfillmentOrderBillingAccountListEBF service
    • extracts the relevant customer data to create a ProcessBillingAccountListEBM message
    • routes message to CommsProcessBillingAccountListEBF service
    • Generates QueryCustomerPartyListEBM message
    • routes the message to the QueryCustomerPartyListSiebelProvABCSImplV2 service
    • prepares the application business message (ABM)
    • invokes Siebel via SWI_Customer_Party_Service with the ABM
    • transforms the received ABM to a QueryCustomerPartyListResponseEBM message
    • sends EBM back to CommsProcessBillingAccountListEBF service.
    • instantiates the SyncCustomerPartyListBRMCommsProvABCSImpl service.
    • calls PCM_OP_CUST_COMMIT_CUSTOMER BRM opcode to create an account./ PCM_OP_CUST_UPDATE_CUSTOMER or PCM_OP_CUSTCARE_MOVE_ACCT opcode to update an existing account
    • sends SyncCustomerPartyListResponseEBM message back to CommsProcessBillingAccountListEBF (asynchronous delayed response mode)
    • sends the ProcessBillingAccountListResponseEBM response message to the CommsProcessFulfillmentOrderBillingAccountListEBF (asynchronous delayed response mode)
    • drops a message into the AIA_UPDCUST_IN_JMSQ store-and-forward queue
    • OSM is notified of the SyncCustomer status


OSM is split up in 2 Instances, running on one or two Weblogic Servers:

Note that the O2C can also synchronize Product Model Data. You can use O2C instead of the MDM PIP in case You plan to use RODOD without the Ph4C Product Master.

O2C - Process Sales Order Fulfilment:

Send Orders From Siebel to OSM COM. Siebel CRM creates an application business message (SalesOrderABM) with sales order details and enqueues the ABM in the AIA_SALESORDERJMSQUEUE queue.

Telco5ProcessSalesOrderFulfillmentSiebelCommsJMSConsumer dequeue the ABM from the queue and passes it on to ProcessSalesOrderFulfillmentSiebelCommsReqABCSImpl

ProcessSalesOrderFulfillmentSiebelCommsReqABCSImpl transforms the ABM into an enterprise business message (ProcessSalesOrderFulfillmentEBM) and routes it to ProcessSalesOrderFulfillmentOSMCFSCommsJMSProducer

ProcessSalesOrderFulfillmentOSMCFSCommsJMSProducer wraps the EBM into OSM CreateOrder message format and enqueues the CreateOrder message into AIA_CRTFO_IN_JMSQ.

The store and forward mechanism forwards the CreateOrder message from AIA WebLogic server to OSM WebLogic

 

 

O2C - Synchronize Fulfilment Order Billing Account

Synchronize Customer Accounts between Siebel and BRM via OSM COM.

Telco6 

1.

OSM: drops the message into the AIA_CRTCUST_OUT_JMSQ JMS queue.

1.ProcessFulfillmentOrderBillingAccountListOSMCFSCommsJMSConsumer:

2.CommsProcessFulfillmentOrderBillingAccountListEBF:

3. CommsProcessBillingAccountListEBF:

4.QueryCustomerPartyListSiebelProvABCSImplV2:

6. CommsProcessBillingAccountListEBF :

7. SyncCustomerPartyListBRMCommsProvABCSImpl

8. ProcessFulfillmentOrderBillingAccountListRespOSMCFSCommsJMSProducer :


O2C - Bill Fulfilment

Initiates Billing from OSM COM towards BRM. OSM converts ProcessSalesOrderFulfillmentEBM message received in the Process Sales Order Fulfillment business flow into a ProcessFulfillmentOrderBillingEBM message and places it in a JMS queue. The store-and-forward mechanism pushes the message to the AIA_CRTBO_OUT_JMSQ messaging queue.

Telco7

 

  • picks up the ProcessFulfillmentOrderBillingEBM message from AIA_CRTBO_OUT_JMSQ messaging queue
  • Routes message to the ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl service.
  • uses the ProcessFulfillmentOrderBillingEBM message to create in BRM a.o.:
    • billing artifacts,
    • service instances with balance group information,
    • purchased products
    • purchased discounts
    • construct the ProcessFulfillmentOrderBillingResponseEBM message
    • sends it back to the ProcessFulfillmentOrderBillingResponseOSMCFSCommsJMSProducer service.
    • forwards the ProcessFulfillmentOrderBillingResponseEBM message in the AIA_UPDBO_IN_JMSQ queue
    • monitors the queue and dequeues the message from AIA_CRTFO_OUT_JMSQ viaa JMS adapter
    • routed to ProcessProvisioningOrderOSMPROVJMSProducer.
    • Place message into AIA_FOPROV_IN_JMSQ queue.
    • dequeue the ProcessFulfillmentOrderUpdateEBM message
    • route to ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer
    • enqueuesProcessFufillmentOrderUpdateEBM message in the AIA_FOCFS_IN_JMSQ queue using store-and-forward.
    • consumes this message
    • routes it to the UpdateSalesOrderSiebelCommsProvABCSImpl service.
    • convert the UpdateSalesOrderEBM message into a Siebel application business message (ABM)
    • invokes the Siebel Web service to update the order

2.    ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl :

3.ProcessFulfillmentOrderBillingResponseOSMCFSCommsJMSProducer:

Store-and-forward mechanism forwards message from AIA weblogic to the OSM WebLogic server.


O2C - Provision Order and Update Fulfilment Order

Telco8

Send Order from OSM COM (Fulfilment) to OSM SOM (Provisioning) to talk to the OSS Network Layer. Whenever a new order is created in Provisioning, a ProcessProvisioningOrderEBM message is created by OSM COM. The message is enqueued in the AIA_CRTFO_OUT_JMSQ queue using the store-and-forward mechanism

1.ProcessProvisioningOrderOSMCFSCommsJMSConsumer:

2. ProcessProvisioningOrderOSMPROVJMSProducer:

Store-and-forward mechanism places the message towards OSM SOM, so it can dequeue it for further processing.

During provisioning update messages are enqueued by OSM SOM into OSM WebLogic and moved to the AIA_FOPROV_OUT_JMSQ queue using store-and-forward.

3. ProcessFulfillmentOrderUpdateOSMPROVCommsJMSConsumer

4. ProcessFulfillmentOrderUpdateOSMCFSCommsJMSProducer

OSM SOM picks up the message, initiates the necessary actions in the OSS Provisioning Systems and updates the status of the order.


O2C - Update Sales Order

Telco9

Update Order Status from OSM COM (Fulfilment) back to Siebel. OS M creates an UpdateSalesOrderEBM message and enqueues it in the AIA_UPDSO_OUT_JMSQ queue using a store-and-forward mechanism.

1.UpdateSalesOrderOSMCFSCommsJMSConsumer:

UpdateSalesOrderOSMCFSCommsJMSConsumer works with a sequencer. If an update causes system or business error, further updates to the account are locked in the sequencer table. A business error must be removed from the sequencer table to unlock the account. In case of a System error, the message must be resubmitted.

2.UpdateSalesOrderSiebelCommsProvABCSImpl:

Order Status field in the Siebel user interface represents the overarching status throughout order capture and order fulfillment. Fulfillment Status is a sub-status to a Status of Open in Siebel.

 

 

Benedikt Herudek

Herudek

As an Integration and Telecommunications Expert Benedikt works at Accenture, the Netherlands. His area of expertise spans from different Oracle Applications (eBusiness Suite, Siebel) over the Database to Oracle SOA & AIA Middleware Technologies. He is part of Accenture's RODOD expert pool and implemented the Solutions in different European Countries in different Roles as Analyst, Technical Architect & Teamlead. Benedikt is a Certified Oracle & SOA Implementation Specialist as well as a Certified Siebel Specialist and tries in his work to understand complex Solutions consisting of different Technologies from an E2E perspective. Benedikt is also a Specialist in Oracle Enterprise Manager and how to use the tool to monitor the Oracle Infrastructure and Application Stack.

Receive our SOA Magazine

Events Calendar

loader

Twitter