Skip Headers
Oracle® Application Integration Architecture Oracle Communications Order to Cash Integration Pack Implementation Guide for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management
Release 11.3

Part Number E50337-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

6 Implementing the Query Product Classes Business Flow

This chapter describes the Query Product Classes business flow and explains how the Oracle Communications Order to Cash Integration Pack for Siebel customer relationship management (Siebel CRM), Oracle Communications Order and Service Management (OSM), and Oracle Communications Billing and Revenue Management (BRM) (the integration) implements the business flow using Siebel CRM interfaces, communications industry-specific Oracle Application Integration Architecture (Oracle AIA) components, and integration services. It also describes how the integration supports effectivity during design time.

For information about the implementation of the Query Product Classes business flow using Oracle Product Hub to manage products, see Oracle Application Integration Architecture Oracle Product Master Data Management Integration Implementation Guide.

Overview of the Query Product Classes Business Flow

In this flow, a Siebel CRM user defines product classes and transaction attributes which an Oracle Communications Design Studio user queries and imports into a cartridge. The Design Studio user then maps the product class to a product specification in the cartridge and uses the product specification to associate decomposition rules, fulfillment functions, and their dependencies. After the design-time setup, the Design Studio user deploys the cartridge to OSM. The cartridge defines various fulfillment topologies to process order lines during order processing.

Figure 6-1 illustrates the flow.

Figure 6-1 Query Product Classes Business Process Flow

This image is described in the surrounding text.

The Query Product Classes business flow progresses as follows:

  1. In a Siebel CRM Workspace project, a Siebel CRM user does the following:

    1. Creates a new product class and transaction attributes and associates attribute definitions to them.

    2. Updates the product class by adding or deleting transaction attributes.

    3. Updates the attribute definitions (value sets) by adding or removing values from them.

    See Siebel Product Administration Guide for more information about creating classes, attributes, and attribute definitions in Siebel.

  2. The Siebel CRM user sends notification to a Oracle Communications Design Studio user in one of the following ways:

    • Using the notify menu function from the Product Class UI in Siebel CRM. The notification uses fixed templates to communicate the product class details. One or more classes can be sent on a single notification from Siebel CRM.

      See the discussion of configuring the email notification for the product class in Siebel Communications Guide for more information about setting up the notification in Siebel CRM.

    • Using a company's email application. This method provides additional flexibility to add more required information. This method is not dependent on a template and does not require additional configuration steps.

    Note:

    Regardless of the mechanism used, the notification, must include the product class name so that the Design Studio user can use it to query in Design Studio. The template in the notify menu function automatically adds the product class name.
  3. The Design Studio user does the following:

    1. Queries or imports the product class and the transaction attribute details from Siebel CRM into a cartridge using the product class name.

      Design Studio stores the transaction attributes and associated valuesets in the data dictionary.

    2. Maps the product class to an existing or newly-created product specification.

    3. Defines fulfillment functions and their dependencies and associates them to the product specification.

    4. Defines validation and decomposition rules.

    5. Deploys the cartridge to OSM.

  4. If the product specification causes errors in test orders, the Design Studio user does the following:

    1. Creates and configures a new product specification or imports the product class again

    2. Redeploys the cartridge.

For more information about Design Studio, including product specifications and cartridges, see Oracle Communications Design Studio Concepts.

Overview of Implementing the Query Product Classes Business Flow

Figure 6-2 illustrates how the integration implements the Query Product Classes business flow.

Figure 6-2 Querying Product Class and Associated Attributes from Design Studio

This image is described in the surrounding text.

When this process initiates, the following events occur:

  1. The product-to-service mapping specialist must include all the necessary product class names in the query dialogue in Design Studio and invoke the query operation. The Design Studio client calls the Design Studio Query Product Class Application Business Connector Service (ABCS) and provides one or more Class details as input. Design Studio must be configured to provide the input in the Product Class EBO structure that has only the Product Class names.

  2. The Design Studio Query Product Class ABCS provides the Product Class enterprise business message (EBM) and routes it to the Siebel Query Product Class ABCS.

  3. The Siebel Query Product Class ABCS transforms the Product ClassEBM, extracts the product class name, and invokes the Siebel getProductClass Web service.

  4. The Siebel getProductClass Web service returns the complete product class information for all input product classes to the Siebel Query Product Class ABCS as a Product Class ABM.

  5. The Siebel Query Product Class ABCS transforms the Product Class ABM into the Product Class EBM and routes it to the Design Studio Query Product Class ABCS.

  6. The Design Studio Query Product Class ABCS identifies that the Product Class EBM has references to one or more attribute definition entities. To query all the attribute definitions associated with all of the product classes, it aggregates all of the attributes that are associated with all of the product classes and provides all attribute IDs that are associated with all the product classes. It routes a request to the Siebel CRM Query Attribute ABCS.

  7. The Siebel Query Attribute ABCS invokes the getAttributeDefinition Web service.

  8. The getAttributeDefinition Web service returns the complete attribute information for all attribute IDs to the Siebel CRM Query Attribute ABCS.

  9. The Siebel Query Attribute ABCS performs the transformation, filters the necessary fields, constructs the Attribute EBM and routes it back to the Design Studio Query Product Class ABCS.

  10. The Design Studio Query Product Class ABCS identifies that the attributes have references to the valueset entity. To query all of the valuesets associated with all the attributes it aggregates all of the attributes that are associated with all the valuesets and routes a request to the Siebel CRM Query Valueset ABCS as a Specification Valueset EBM.

  11. The Siebel Query Valueset ABCS invokes the getAttributeDefinition Web service.

  12. The getAttributeDefinition Web service returns the complete attribute information to the ABCS as an Attribute Definition ABM.

  13. The Siebel Query Valueset ABCS performs the transformation, filters the necessary fields, constructs the Valueset EBM, and routes it back to the Design Studio Query Product Class ABCS.

  14. The Design Studio Query Product Class ABCS composes the Product Class EBM, the Attribute EBM, and the Valueset EBM and returns it to the Design Studio client application as a Product and Attribute ABM.

Logical Data Model in Siebel CRM

Figure 6-3 illustrates the logical data model.

Figure 6-3 Logical Data Model of Product Class Structure in Siebel CRM

Description of Figure 6-3 follows
Description of "Figure 6-3 Logical Data Model of Product Class Structure in Siebel CRM"

Updating the Attribute Valueset

The Siebel product administrator can update the attribute valueset associated with the attribute definition in the project workspace. This action automatically updates all the classes and their subclasses. The product administrator selects a class that is associated with the updated attribute definition and sends the notification. The product-to-service mapping specialist queries the product class from Design Studio, which updates the corresponding valueset metadata in the data dictionary.

Supporting for Effectivity During Design-Time

You can use product classes in Siebel (or the equivalent ICC in Product Hub) to represent unique product specifications. Product specifications represent a type of product offering and can only be sold through a product offering. Product specifications represent the unique entities that must be fulfilled. Not all product classes are created for this purpose. For the subset of product classes created to represent product specifications, at design time you must map the product class name and the corresponding fulfillment pattern name in Oracle OSM in its Central Order Management role. Consequently, changes to these product classes affects the mapping for both design time and run time order management handling. This section describes an important aspect of this mapping effectivity: how the time of a new mapping or a change to an existing mapping takes effect in coordination across Order Capture (Siebel) and Central Order Management (Oracle OSM).

References to product classes in this section are limited to those used to represent product specifications. To distinguish these, it is recommended to use a naming convention, such as ending the name with the term ProdSpec. You can create and update product classes directly in Siebel or from a Product Master, such as Oracle Product Hub for Communications. In this section, whenever you see Siebel design time product class changes, it is also applicable to product master when one is used.

Specify the effectivity for the product class in Siebel when:

  • You create a new product class.

  • You update an existing product class.

  • You make an existing product class inactive.

Whenever these scenarios or any combination of these scenarios occur, you must query the product classes in the Design Studio, which is the design time tool for Oracle OSM from the Siebel application. After the product classes are successfully queried, product classes and the product specification are updated manually, and a following condition occurs:

  • The product class is mapped to a new product specification. The new product specification definition involves defining the fulfillment metadata.

  • The product class is mapped to an existing product specification.

  • The product class mapping is changed to a different product specification.

Product class effectivity must be the same as the product specification effectivity. You update product specification effectivity manually in the Design Studio after the product class is successfully queried and the product specification is mapped to it.

When the mapping between the product class and product specification is updated (when the effectivity of the product class and product specification changes), the cartridge version in Design Studio must be updated and the cartridge must be redeployed to the environment.

See Oracle Communications Order and Service Management Cartridge Guide for Oracle Application Integration Architecture for more information about updating the cartridge version and the various deployment options.

Deciding on Effectivity and Cartridge Deployment

Whenever the previously mentioned scenarios or their combination occur, you must create a new version of the cartridge and redeploy it. All orders the Oracle OSM system has submitted for processing uses the existing cartridge version. Any subsequent new orders (including revision orders, follow-on orders, and change orders) or existing orders that are not yet submitted for processing by the Oracle OSM system uses the new version of the deployed cartridge. You should group product class changes and set effectivity for a date-time that is suitable for deploying a new cartridge version, such as an off-peak hour.

Note:

You deploy a new version of the cartridge only if you introduced a new mapping or changed an existing mapping.

The support for effectivity on the product class and the effectivity on the product specification is manifested in Oracle OSM by the effectivity of deployment of the cartridge. Effectivity is defined and controlled by the deployment dates for the cartridge. To manage effectivity across the applications, you must consider the following issues:

  • The effective dates on the product class are the same as the deployment dates on the cartridge.

    In this case, the Siebel product administrator and the product-to-service mapping specialist in Design Studio must reach a consensus on the effectivity dates of the product class and the deployment dates of the cartridge, respectively.

  • The effective dates on the product class differ from the deployment dates on the cartridge.

    In this case, the deployment dates on the cartridge control effectivity. You can handle effectivity as follows:

    • Create a new product class or update an existing product class. Import the product class and define the mappings to the product specification in the cartridge. Deploy it based on when the changes must be applied to the order lines in the Oracle OSM fulfillment system.

    • Create a new product class; the mappings to the product specification are not yet done in the cartridge. If the product class is subsequently updated, Siebel queries the updated version of the product class and defines the mappings in the cartridge before deploying it. In this case, multiple versions of the product class may be defined with different effective dates and queried before the mappings are defined and the cartridge is deployed. Again, the deployment is based on when the changes must be applied to the order lines in the Oracle OSM fulfillment system.

Note:

If you create a new product specification in the cartridge, you must configure the product specification before deploying the cartridge.

Query Product Classes Integration Flow

This integration flow uses the following interfaces:

  • QueryProductClassAndAttributesSCECommsReqABCSImpl

  • QueryClassificationListSiebelCommsProvABCSImpl

  • QuerySpecificationListSiebelCommsProvABCSImpl

  • QuerySpecificationValueSetListSiebelCommsProvABCSImpl

Figure 6-4 illustrates the query product classes integration flow.

Figure 6-4 Query Product Classes and Attributes Sequence Diagram

This image is described in the surrounding text.

When this process initiates, the following events occur:

  1. A Design Studio user (a product-to-service mapping specialist) triggers the Query Product Class and Attribute definitions integration flow using the Design Studio client, which provides the Class Code and the Oracle Fusion Middleware (FMW) URL. In the case of an update, Design Studio also provides the Class Codes for all of the subclasses.

  2. Design Studio invokes the QueryProdClassAndAttributesSCEReqCommsABCSImpl with the QueryClassificationListEBM, which contains the Product Class codes.

  3. QueryProdClassAndAttributesSCEReqCommsABCSImpl passes through the QueryClassificationListEBM to the QueryClassificationListSiebelCommsProvABCSImpl.

  4. QueryClassificationListSiebelCommsProvABCSImpl transforms the QueryClassificationListEBM into the Siebel Class Definition IO application business message (ABM), along with the Workspace Name from AIAConfigurationProperties.xml file and invokes the Siebel GetProductClass web service.

  5. The Siebel GetProductClass web service returns the complete product class information and associated Attribute IDs for all input product Class Codes. The QueryClassificationListSiebelCommsProvABCSImpl transforms the Siebel GetProductClassResponseABM into the QueryClassificationListRespEBM.

  6. The QueryClassificationListRespEBM goes all the way back to the QueryProdClassAndAttributesSCEReqCommsABCSImpl.

  7. Next, the QueryProdClassAndAttributesSCEReqCommsABCSImpl picks up the Attribute IDs from the QueryClassificationListRespEBM and maps these IDs to the QuerySpecificationListEBM and QuerySpecificationValueSetListEBM.

    One attribute may appear in multiple class definitions. While mapping Attribute IDs from the QueryClassificationListRespEBM to the QuerySpecificationListEBM and QuerySpecificationValueSetListEBM, you must take the union of these attribute definitions.

  8. The QueryProdClassAndAttributesSCEReqCommsABCSImpl invokes the QuerySpecificationListSiebelCommsProvABCSImpl with the QuerySpecificationListEBM.

  9. The QuerySpecificationListSiebelCommsProvABCSImpl transforms the QuerySpecificationListEBM into the Siebel Attribute definitions IO (ABM) along with the Workspace Name from the AIAConfigurationProperies.xml file and invokes the Siebel GetAttributeDefinition web service.

  10. The GetAttributeDefinition service returns the complete attribute information for one or more attribute IDs. The QuerySpecificationListSiebelCommsProvABCSImpl transforms the response into the QuerySpecificationListRespEBM.

  11. The QueryProdClassAndAttributesSCEReqCommsABCSImpl then invokes the QuerySpecificationValueSetListSiebelCommsProvABCSImpl with the QuerySpecificationValueSetListEBM. The QuerySpecificationValueSetListSiebelCommsProvABCSImpl transforms the QuerySpecificationValueSetListEBM into the Siebel Attribute definitions IO (ABM) along with the Workspace Name from the AIAConfigurationProperies.xml file and invokes the Siebel GetAttributeDefinition web service.

  12. The GetAttributeDefinition service returns the complete attribute valueset information for one or more attribute IDs. The QuerySpecificationValueSetListSiebelCommsProvABCSImpl transforms the response into the QuerySpecificationValueSetListRespEBM.

  13. The QuerySpecificationListRespEBM and QuerySpecificationValueSetListRespEBM go all the way back to the QueryProdClassAndAttributesSCEReqCommsABCSImpl. The QueryProdClassAndAttributesSCEReqCommsABCSImpl merges the QuerySpecificationListRespEBM, QuerySpecificationValueSetListRespEBM and the QueryClassificationListRespEBM and maps them to the QueryProdClassAndAttributesRespABM.

  14. The QueryProdClassAndAttributesSCEReqCommsABCSImpl replies to Design Studio along with the QueryProdClassAndAttributesRespABM, which contains the class and attribute details for all the Class Codes provided by the product to the service mapping specialist.

Siebel CRM Interfaces

The Query Product Classes business flow uses the following Siebel CRM interfaces:

  • SWIAdminISSClassDefinitionIO: This web service is used to perform query operations on product class definitions.

  • SWIAdminISSAttributeDefnIO: This web service is used to perform query operations on product attribute definitions.

See the discussion of Siebel CRM primary web services in Siebel CRM Web Services Reference for more information.

Industry Oracle AIA Components

The Query Product Classes business flow uses the following communications industry-specific Oracle AIA components:

  • ClassificationEBO

  • QueryClassificationListEBM

  • QueryClassificationListResponseEBM

  • SpecificationEBO

  • QuerySpecificationListEBM

  • QuerySpecificationListResponseEBM

  • SpecificationValueSetEBO

  • QuerySpecificationValueSetListEBM

  • QuerySpecificationValueSetListResponseEBM

The industry enterprise business object (EBO) and enterprise business message XML schema (EBM XSD) files are located here: $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Industry/Communications/EBO/

The industry enterprise business service (EBS) WSDL files are located here: $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseBusinessServiceLibrary/Industry/Communications/EBO/

For detailed documentation of individual EBOs and EBMs, click the AIA Reference Doc link on EBO and EBM detail pages in the Oracle Enterprise Repository (OER).

EBOs can be extended, for instance, to add new data elements. These extensions are protected and remain intact after a patch or an upgrade, so long as the extensibility guidelines are followed.

See Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information about:

  • Configuring and using OER as the Oracle SOA Repository to provide the AIA Reference doc link

  • Extending existing schemas and EBOs

Integration Services

The Query Product Classes business flow uses the following integration services:

  • QueryProdClassAndAttributesSCEReqCommsABCSImpl with operation QueryProdClassAndAttributes

  • QueryClassificationListSiebelCommsProvABCSImpl with operation QueryProductClass

  • QuerySpecificationListSiebelCommsProvABCSImpl with operation QuerySpecificationList

  • QuerySpecificationValueSetListSiebelCommsProvABCSImpl with operation QuerySpecificationValueSetList

Some of these services have been enabled to use Session Pool Manager.

See Oracle Application Integration Architecture Pre-Built Integrations 11.1: Utilities Guide for more information about Session Pool Manager.

QueryProdClassAndAttributesSCEReqCommsABCSImpl

The QueryProdClassAndAttributesSCEReqCommsABCSImpl is a synchronous BPEL process and is the Design Studio requestor ABC implementation and performs all of the Product Class related actions like Create Product Class, Update Product Class, Query Product Class, and so on. This service follows all of the standards of a requester ABCS. This service has one operation: QueryProdClassAndAttributes. This accepts a QueryClassificationListEBM as a request and returns QueryProdClassAndAttributesRespABM as a response.

QueryClassificationListSiebelCommsProvABCSImpl

This is the Siebel Classification List Provider ABC Implementation. This service follows all the standards of a Provider ABCS implementation. This service has one operation: QueryProductClass.

QuerySpecificationListSiebelCommsProvABCSImpl

The QuerySpecificationListSiebelCommsProvABCSImpl is the Siebel attribute provider ABC implementation and performs all of the Specification List related actions like Query Specification List, Create Specification List, Update Specification List, and so on. This service follows all the standards of a provider ABCS implementation. This service has one operation: QuerySpecificationList.

QuerySpecificationValueSetListSiebelCommsProvABCSImpl

The QuerySpecificationValueSetListSiebelCommsProvABCSImpl is the Siebel attribute value set provider ABC implementation and performs all of the SpecificationValueSet List related actions like Query SpecificationValueSet List, Create SpecificationValueSet List, Update SpecificationValueSet List, and so on. This service follows all the standards of a provider ABCS implementation. This service has one operation: QuerySpecificationValueSetList.