pdc rest services manager integration guide · 2020. 12. 18. · oracle® communications billing...

48
Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01 December 2020

Upload: others

Post on 23-Jan-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Oracle® Communications Billing andRevenue ManagementPDC REST Services Manager IntegrationGuide

Release 12.0F36879-01December 2020

Page 2: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Oracle Communications Billing and Revenue Management PDC REST Services Manager Integration Guide,Release 12.0

F36879-01

Copyright © 2020, Oracle and/or its affiliates.

This software and related documentation are provided under a license agreement containing restrictions onuse and disclosure and are protected by intellectual property laws. Except as expressly permitted in yourlicense agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license,transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverseengineering, disassembly, or decompilation of this software, unless required by law for interoperability, isprohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. Ifyou find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it onbehalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software,any programs embedded, installed or activated on delivered hardware, and modifications of such programs)and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Governmentend users are "commercial computer software" or "commercial computer software documentation" pursuantto the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such,the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works,and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programsembedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oraclecomputer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in thelicense contained in the applicable contract. The terms governing the U.S. Government’s use of Oracle cloudservices are defined by the applicable contract for such services. No other rights are granted to the U.S.Government.

This software or hardware is developed for general use in a variety of information management applications.It is not developed or intended for use in any inherently dangerous applications, including applications thatmay create a risk of personal injury. If you use this software or hardware in dangerous applications, then youshall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure itssafe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of thissoftware or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks oftheir respective owners.

Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks areused under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc,and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registeredtrademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products,and services from third parties. Oracle Corporation and its affiliates are not responsible for and expresslydisclaim all warranties of any kind with respect to third-party content, products, and services unless otherwiseset forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will notbe responsible for any loss, costs, or damages incurred due to your access to or use of third-party content,products, or services, except as set forth in an applicable agreement between you and Oracle.

Page 3: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Contents

Preface

Audience v

Documentation Accessibility v

1 PDC REST Services Manager Overview

About PDC REST Services Manager 1-1

About Setting Up PDC REST Services Manager 1-3

About Monitoring PDC REST Services Manager 1-3

2 Setting Up OAuth Authentication for PDC REST Services Manager

About Authentication and Authorization 2-1

Creating Confidential OAuth Applications 2-1

Requesting an OAuth Access Token 2-2

3 Configuring Inbound Communications to PDC REST ServicesManager

Authenticating Inbound PDC REST Services Manager Requests 3-1

Securing Inbound Communications 3-3

Encrypting Sensitive Data 3-4

4 Configuring Outbound Communications from PDC REST ServicesManager

Configuring Outbound Requests to the Enterprise Product Catalog 4-1

Securing Outbound Requests to PDC 4-3

5 Mapping Product Offerings

About Mapping Product Offerings 5-1

Mapping Setup Components 5-1

iii

Page 4: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Mapping Charge Offers from TMF620 to PDC 5-4

PDC Charge Offer Default Values 5-7

Mapping Discount Offers from TMF620 to PDC 5-9

PDC Discount Offer Default Values 5-11

Mapping Bundles from TMF620 to PDC 5-13

PDC Bundle Default Values 5-13

Mapping Packages from TMF620 to PDC 5-14

PDC Package Default Values 5-15

6 Monitoring PDC REST Services Manager

About Logging 6-1

Accessing the Logs 6-2

Changing the Log Levels 6-3

Configuring the Log Format 6-4

About Tracing 6-5

Enabling Tracing 6-6

Using Trace Tags to Troubleshoot Issues 6-6

About Metrics 6-12

Checking Access to Metrics 6-13

About Monitoring System Health 6-14

iv

Page 5: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Preface

This guide describes how to use Pricing Design Center (PDC) REST ServicesManager to integrate PDC with product catalog software.

AudienceThis guide is intended for system administrators and those involved in systemintegration.

Documentation AccessibilityFor information about Oracle's commitment to accessibility, visit theOracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic supportthrough My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsif you are hearing impaired.

v

Page 6: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

1PDC REST Services Manager Overview

This document describes how to integrate Oracle Communications Pricing DesignCenter (PDC) with an enterprise product catalog by using PDC REST ServicesManager.

Topics in this document:

• About PDC REST Services Manager

• About Setting Up PDC REST Services Manager

• About Monitoring PDC REST Services Manager

About PDC REST Services ManagerPDC REST Services Manager integrates an enterprise product catalog, such asOracle Digital Experience for Communications Launch Experience, with PDC. Thisenables you to create a variety of product offerings in your enterprise product catalogand then have all the rating and billing performed by PDC and Oracle CommunicationsBilling and Revenue Management (BRM).

You can synchronize the following elements from an enterprise product catalog toPDC:

• One-time, recurring, and usage charges, with or without discounts

• Quantity and tier-based pricing and discounting

• Effective dates for charges and discounts

• Validity periods for discounts and noncurrency balance credits

• Shared discounts

• Noncurrency balance credits

• Discounts used as counters for noncurrency balance credits to charge overagefees

• Charges based on event and service attributes

• Bundles and packages

Note:

Quantity-based pricing is supported in PDC for usage charges only, and notfor one-time or recurring charges.

The enterprise product catalog publishes the product offering objects to registeredbilling-spoke systems using TMF620 APIs. PDC REST Services Managersynchronizes this data and then transforms it to charge offers, discount offers,bundles, and packages in the PDC-BRM system.

1-1

Page 7: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Figure 1-1 shows the PDC REST Services Manager architecture and its integrationpoints with the enterprise product catalog and PDC.

Figure 1-1 PDC REST Services Manager Architecture

In this figure, PDC REST Services Manager, the enterprise product catalog, and PDCinteract as follows:

1. The enterprise product catalog sends a notification to PDC REST ServicesManager about new or updated product offerings. This communication can beencrypted using TLS.

2. PDC REST Services Manager uses OAuth 2.0 to authenticate the notification fromthe enterprise product catalog.

3. The PDC REST Services Manager event listener sends the authenticatedmessage to the PDC REST Services Manager product offering integration service.

4. PDC REST Services Manager requests an OAuth token to use with a call to theenterprise product catalog.

5. PDC REST Services Manager calls the enterprise product catalog TMF620 API toquery for data about the new or updated product offerings.

6. PDC REST Services Manager transforms the product offering data and submits itto PDC and BRM. This communication can be encrypted using T3S.

7. The PDC REST Services Manager product offering integration service sends amessage to the PDC REST Services Manager acknowledgment service.

8. PDC REST Services Manager requests an OAuth token to use with a call to theenterprise product catalog.

Chapter 1About PDC REST Services Manager

1-2

Page 8: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

9. PDC REST Services Manager publishes an acknowledgment notification to theenterprise product catalog.

Throughout all interactions, you can log, trace, and collect metrics for messagespassing through the system. You can use this data to troubleshoot errors and monitorthe overall health of the system. See "Monitoring PDC REST Services Manager".

About Setting Up PDC REST Services ManagerYou set up PDC REST Services Manager by performing the following high-level tasks:

1. Install PDC REST Services Manager. See "Installing PDC REST ServicesManager" in PDC Installation Guide.

2. Set up PDC REST Services Manager to authenticate requests from yourenterprise product catalog. See "Setting Up OAuth Authentication for PDC RESTServices Manager".

3. Configure all communication from your enterprise product catalog to PDC RESTServices Manager. See "Configuring Inbound Communications to PDC RESTServices Manager".

4. Configure communication from PDC REST Services Manager to both PDC andyour enterprise product catalog. See "Configuring Outbound Communications fromPDC REST Services Manager".

5. Create setup components in all applications, then map the product offerings fromthe TMF620 API fields in your enterprise product catalog to equivalent fields inPDC and BRM. See "Mapping Product Offerings".

About Monitoring PDC REST Services ManagerYou can monitor PDC REST Services Manager to confirm successful integration, trackoverall system health, and troubleshoot issues.

Monitoring PDC REST Services Manager involves the following tasks:

• Monitoring system logs. See "About Logging."

• Tracing events with tools like Jaeger. See "About Tracing."

• Monitoring metrics with tools like Prometheus. See "About Metrics."

• Monitoring system status. See "About Monitoring System Health."

Chapter 1About Setting Up PDC REST Services Manager

1-3

Page 9: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

2Setting Up OAuth Authentication for PDCREST Services Manager

This document describes how to set up the OAuth 2.0 protocol to authenticate anenterprise product catalog's identity and to authorize the enterprise product catalogto access Oracle Communications Pricing Design Center (PDC) using PDC RESTServices Manager.

Topics in this document:

• About Authentication and Authorization

• Creating Confidential OAuth Applications

• Requesting an OAuth Access Token

About Authentication and AuthorizationPDC REST Services Manager uses the OAuth 2.0 protocol to authenticate theenterprise product catalog's identity and to authorize the enterprise product catalogto access the PDC REST Services Manager API. It does this by validating an OAuthaccess token that is passed in the header of every HTTP/HTTPS request to the PDCREST Services Manager API.

To set up authentication and authorization for your enterprise product catalog, youperform these high-level tasks:

1. Add your enterprise product catalog as a confidential application to Oracle IdentityCloud Service (IDCS).

2. Request an OAuth access token from IDCS.

3. Verify that your connection works by sending a request to the PDC REST ServicesManager API.

For example, you could send a request to the metrics endpoint at this URL:https://hostname:port/metrics, where hostname is the URL for the PDC RESTServices Manager server and port is the TLS port for the PDC REST ServicesManager server.

4. Pass the OAuth access token in the header of every HTTP/HTTPS request sent tothe PDC REST Services Manager APIs.

Creating Confidential OAuth ApplicationsAdd your enterprise product catalog as a confidential application to IDCS by followingthe instructions in "Add a Confidential Application" in Administering Oracle IdentityCloud Service. When adding the confidential application, ensure that you:

• Select a client type of confidential application.

2-1

Page 10: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

• Add a scope named pubevent for accessing the Publish Event endpoint in PDCREST Services Manager.

• Add a scope named metrics for accessing the Metrics endpoint in PDC RESTServices Manager.

After you add the confidential application, IDCS provides you with the followinginformation. Note it down, because you will need it when requesting an OAuth accesstoken and when configuring inbound communication to PDC REST Services Manager.

• The IDCS URL for requesting OAuth access tokens. For example:

https://idcs_hostname/oauth2/v1/token

where idcs_hostname is the hostname of the server of your IDCS instance

• The primary audience URL

• The client ID and client secret

Requesting an OAuth Access TokenRequest an OAuth access token from IDCS to include in requests to the PDC RESTServices Manager APIs. For more information, see "Generate Access Token andOther OAuth Runtime Tokens to Access the Resource" in REST API for Oracle IdentityCloud Service.

For example, to request an OAuth access token using cURL, you could send thisHTTP/HTTPS request to the IDCS URL:

curl -i-H "Authorization: Basic encoded_credentials" \-H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" \--request POST https://idcs_hostname/oauth2/v1/token \-d 'grant_type=client_credentials&scope=scope'

where:

• encoded_credentials is either the client ID and client secret (clientID:clientSecret)or user name and password (username:password) in Base64-encoded format.

• idcs_hostname is the hostname of your IDCS instance.

• scope is one of the following, where primaryAudience is the hostname and port ofyour confidential application.

– https://primaryAudience/pubevent: Authorizes access to the Publish Eventendpoint.

– https://primaryAudience/metrics: Authorizes access to the Metrics endpoint.

After you submit the request, IDCS returns an OAuth access token. This shows anexample OAuth access token from a request:

{"access_token":"eyJ4NXQjUzI1NiI6InRtMjNSeVo0WGpHZmo4NDdzaEg2ZVJELVlkQlNSd 21pWnZSY2M4QUoteEkiLCJ4NXQiOiI0X0ZBa3ZuN3RhaUIxTHdaZUJpaE95ZFpRV0EiLCJ..

Chapter 2Requesting an OAuth Access Token

2-2

Page 11: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

.", "token_type":"Bearer","expires_in":3600,

Chapter 2Requesting an OAuth Access Token

2-3

Page 12: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

3Configuring Inbound Communications toPDC REST Services Manager

This document describes how to configure Oracle Communications Pricing DesignCenter (PDC) REST Services Manager to receive inbound communication from anenterprise product catalog.

Topics in this document:

• Authenticating Inbound PDC REST Services Manager Requests

• Securing Inbound Communications

• Encrypting Sensitive Data

Authenticating Inbound PDC REST Services ManagerRequests

To configure PDC REST Services Manager to authenticate inbound requests fromyour enterprise product catalog:

1. Open the PDC_RSM_home/apps/conf/application.yaml file in a text editor,where PDC_RSM_home is the directory in which you installed PDC RESTServices Manager.

2. Edit the keys shown in Table 3-1.

Table 3-1 Keys in the application.yaml File

Key Description

security.enabled Specifies whether to enable or disable inbound security:

• true: Enable security• false: Disable securitySet this to true for production systems.

security.properties.idcs-uri The base URL of your Oracle Identity Cloud Service(IDCS) instance in this format:

https://idcs-TenantID.identity.oraclecloud.com

security.properties.idcs-client-id

The client ID for your confidential application.

security.properties.idcs-client-secret

The Base64-encrypted client secret obtained from yourIDCS application.

For security purposes, do not store the client secret inplain-text. To encrypt the client secret, see "EncryptingSensitive Data".

3-1

Page 13: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 3-1 (Cont.) Keys in the application.yaml File

Key Description

security.properties.frontend-uri

The base URL of your confidential application when run.For example:

http://localhost:8080

security.properties.audience The primary audience as provisioned for the PDC RESTServices Manager application in IDCS. For example:

http://localhost:8080/

Note: Ensure that you include the trailing slash in theURL.

security.properties.proxy-host

The hostname of the proxy server, if required.

security.web-server.paths.<0>.abac.scopes

The scope defined in IDCS for protecting the TMF620publishEvent endpoint.

security.web-server.paths.<1>.abac.scopes

The scope defined in IDCS for protecting the metricsendpoint.

3. Save and close your application.yaml file.

4. Restart PDC REST Services Manager by running the following command from thePDC_RSM_home/apps/bin directory:

./RestServicesManager.sh restart

The following shows sample entries in the application.yaml file:

security: config.require-encryption: true enabled: true properties: idcs-uri: "https://idcs-216d960ac5894f81a5985b39f6b0c6c6.identity.c9dev2.oc9qadev.com" idcs-client-id: "498e7032bdf046798bec10cd165d025a" idcs-client-secret: ${GCM=5pPUsDKbtvoxL/uS3TUwZEeGmEMtEjdjURMmHaTFukUlD4t//h7LEsU9jPydN2zqpiOKlRRT6a0S6OS/cGHfHdk8zOal4M6M5vrj7031TlU=} frontend-uri: "http://localhost:8080" audience: "http://localhost:8080/" proxy-host: "" providers: - abac: # Adds ABAC Provider - it does not require any configuration - oidc: validate-with-jwk: false client-id: "${ALIAS=security.properties.idcs-client-id}" client-secret: "${ALIAS=security.properties.idcs-client-secret}" identity-uri: "${ALIAS=security.properties.idcs-uri}" realm: "pdcrsm" audience: "${ALIAS=security.properties.audience}" proxy-host: "${ALIAS=security.properties.proxy-host}" redirect: false cookie-use: false

Chapter 3Authenticating Inbound PDC REST Services Manager Requests

3-2

Page 14: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

header-use: true # Comment/Uncomment/Override for protection of resources web-server: paths: - path: "/productCatalogManagement/v1/projectPublishEvent[/{*}]" methods: ["get", "post"] authenticate: true authorize: true abac: scopes: ["pubevent"] - path: "/metrics[/{*}]" methods: ["get"] authenticate: true authorize: true abac: scopes: ["metrics"]

Securing Inbound CommunicationsYou secure communications sent from your enterprise product catalog to the PDCREST Services Manager APIs by enabling TLS in PDC REST Services Manager.

To secure inbound communications to PDC REST Services Manager:

1. Create a PKCS12 certificate file.

2. Copy the PKCS12 certificate file to a location that is accessible by PDC RESTServices Manager, such as ~/certs.

3. Edit the following entries in the PDC_RSM_home/apps/conf/application.yamlfile:

• server.ssl.private-key.keystore-path: Set this to the file system path of thePKCS12 file containing the X.509 certificate and private key.

• server.ssl.private-key.keystore-passphrase: Set this to the password forthe PKCS12 file. For example, if you used OpenSSL to create the PKCS12certificate file, set it to the export password. For security, encrypt the passwordso it is not stored in clear text. See "Encrypting Sensitive Data" for moreinformation.

Note:

Set the server.ssl.private-key.keystore-passphrase key only if thePKCS file was created using a password.

For example:

server: ... ssl: private-key: keystore-path: "/scratch/ri-user-1/certs/certificate.p12" keystore-

Chapter 3Securing Inbound Communications

3-3

Page 15: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

passphrase: "${GCM=/YAL6hA0iSmxW8Z8X6PX6KasUTuYuGRvjRyg21/Dl8oymJya0RZ3Ar8ViZvrmzVxqSrJgHskPZUzsq7GhzLUWWHE}"

4. Restart PDC REST Services Manager by running the following command from thePDC_RSM_home/apps/bin directory:

./RestServicesManager.sh restart

Encrypting Sensitive DataYou can encrypt sensitive data, such as passwords, by using theRestServicesManager.sh script.

To encrypt sensitive data:

1. Go to the PDC_RSM_home/apps/bin directory, where PDC_RSM_home is thedirectory in which you installed PDC REST Services Manager.

2. Run the following command:

./RestServicesManager.sh hash

The Enter value to hash prompt appears.

3. Enter the sensitive information that you want to encrypt.

The encrypted password is displayed.

For example:

$ ./RestServicesManager.sh hash

Enter value to hash: ************************************

${GCM=TUuP9coMwC66B28FFufhfbeMLcxollF4eOLqDhs88mOnuwcHGyBap+ORPjOB5N3UnT5/ESkriICXOfPZUHCvwvs54KP9SyzJZJLFaGIv3Yo=}

Chapter 3Encrypting Sensitive Data

3-4

Page 16: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

4Configuring Outbound Communicationsfrom PDC REST Services Manager

This document describes how to configure Oracle Communications Pricing DesignCenter (PDC) REST Services Manager to send requests to an enterprise productcatalog and to PDC.

Topics in this document:

• Configuring Outbound Requests to the Enterprise Product Catalog

• Securing Outbound Requests to PDC

Configuring Outbound Requests to the Enterprise ProductCatalog

PDC REST Services Manager sends requests to the enterprise product catalog when:

• Calling the enterprise product catalog API

• Publishing acknowledgment notifications

To configure PDC REST Services Manager to send requests to the enterprise productcatalog:

1. Open the PDC_RSM_home/apps/conf/application.yaml file in a text editor,where PDC_RSM_home is the directory in which you installed PDC RESTServices Manager.

2. Edit the keys in the file based on the type of authentication required by yourenterprise product catalog:

• For OAuth 2.0 authentication, edit the keys underapp.httpClients.security.oauth2. See "OAuth 2.0 Authentication".

• For basic authentication, edit the keys underapp.httpClients.security.basicAuth. See "Basic Authentication".

Note:

All urlRegex values in the file must be properly escaped with \\. Thecharacters that must be escaped are: \.[]{}()<>*+-=!? ^$|.

3. Save and close your application.yaml file.

4. Restart PDC REST Services Manager by running the following command from thePDC_RSM_home/apps/bin directory:

./RestServicesManager.sh restart

4-1

Page 17: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

OAuth 2.0 Authentication

Table 4-1 describes the keys to configure when your enterprise productcatalog uses an OAuth 2.0 authentication type. All keys are nested underapp.httpClients.security.oauth2.

Table 4-1 OAuth 2.0 Keys

Key Description

tokenEndpoint The endpoint used to retrieve a token from.

clientId The client ID used to authenticate the request from PDC REST ServicesManager.

clientSecret The encrypted client secret used to authenticate the request from PDCREST Services Manager.

To encrypt the client secret, see "Encrypting Sensitive Data".

scope The scopes required by the enterprise product catalog.

grantType The grant type to be used for the OAuth flow: client_credentials orpassword.

username The user name required for accessing the enterprise product catalog.

Set this only when grantType is password.

password The encrypted password required for accessing the enterprise productcatalog.

To encrypt the password, see "Encrypting Sensitive Data".

Set this only when grantType is password.

The following shows an example configuration when grantType is client_credentials.

app: httpClients: - urlRegex: "local.*:8889" security: oauth2: tokenEndpoint: "http://hostname/oauth2/v1/token" clientId: "ClientID" clientSecret: "EncryptedClientSecret" scope: "https://hostnameurn:opc:resource:consumer::all" grantType: "client_credentials"

The following shows an example configuration when grantType is password:

app: httpClients: - urlRegex: "local.*:8889" security: oauth2: tokenEndpoint: "http://hostname:8889/oauth2/v1/token" clientId: "ClientID" clientSecret: "EncryptedClientSecret" scope: "https://hostnameurn:opc:resource:consumer::all" grantType: "password"

Chapter 4Configuring Outbound Requests to the Enterprise Product Catalog

4-2

Page 18: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

username: "ApplicationUsername" password: "EncryptedApplicationPassword"

Basic Authentication

Table 4-2 describes the keys to configure when your enterprise productcatalog uses a Basic authentication type. All keys are nested underapp.httpClients.security.basicAuth.

Table 4-2 basicAuth Parameters

Key Description

username The user name required for accessing the enterpriseproduct catalog.

password The password required for accessing the enterprise productcatalog.

The following shows an example configuration for Basic authentication:

app: httpClients: - urlRegex: "local.*:8889" security: basicAuth: username: "ApplicationUsername" password: "ApplicationPassword"

Securing Outbound Requests to PDCDuring installation, the PDC REST Services Manager installer prompts you for theinformation required to connect PDC REST Services Manager to PDC. To secure thecommunications from PDC REST Services Manager to PDC, enable the T3S protocolin PDC REST Services Manager.

To enable T3S in PDC REST Services Manager:

1. Go to the PDC_RSM_home/apps/conf directory.

2. In the application.yaml file, set the app.pdc.url key to the T3S protocol and asecure PDC port.

For example:

app: pdc: url: "t3s://pdc.example.com:8002"

3. Restart PDC REST Services Manager by running the following command from thePDC_RSM_home/apps/bin directory:

./RestServicesManager.sh restart

Chapter 4Securing Outbound Requests to PDC

4-3

Page 19: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

If you want to change it to use the insecure T3 protocol, set the app.pdc.url key to theT3 protocol and an insecure PDC port. For example:

app: pdc: url: "t3://pdc.example.com:8001"

Chapter 4Securing Outbound Requests to PDC

4-4

Page 20: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

5Mapping Product Offerings

This document describes how to map product offering data in Oracle CommunicationsPricing Design Center (PDC) REST Services Manager so it can transform the TMF620data to PDC and Oracle Communications Billing and Revenue Management (BRM)data.

Topics in this document:

• About Mapping Product Offerings

• Mapping Charge Offers from TMF620 to PDC

• Mapping Discount Offers from TMF620 to PDC

• PDC Charge Offer Default Values

• PDC Discount Offer Default Values

• Mapping Setup Components

About Mapping Product OfferingsTo enable PDC REST Services Manager to transform your product offering data, youmust first create setup components in BRM, PDC, and the enterprise product catalog,then map the TMF620 data from your enterprise product catalog to PDC.

Note:

PDC REST Services Manager supports only the base TMF620 specificationsalong with select vendors' extensions based on business drivers.Your enterprise product catalog vendor is responsible for defining andpublishing any TMF620 vendor-specific API extensions. Your vendor'spublished TMF620 API will include the TMF620 ProductOffering payload,ProductOfferingPrice payload, and other payloads as well as the notificationevent payloads that PDC REST Services Manager or any other consumer ofthe enterprise product catalog must support.

The following sections show the mappings between TMF620 data and the PDC andBRM data schema. They also list the default values for PDC and BRM data fieldswhen TMF620 has no corresponding field.

Mapping Setup ComponentsIn BRM, setup components are the prerequisite data that you configure before creatingproduct offerings. You create some in BRM and synchronize them to PDC, and youcreate others in PDC. There is currently no synchronization flow between PDC orBRM and the enterprise product catalog for setup components. You must create

5-1

Page 21: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

them independently in PDC and the enterprise product catalog, and configure yourenterprise product catalog to send data in the TMF620 payload that matches what youhave created in PDC.

Table 5-1 lists the setup components that you configure in BRM and PDC beforecreating your product offerings. It provides details about how PDC REST ServicesManager maps data in the TMF620 payload to the setup components.

Table 5-1 Setup Component Mapping

Setup Component Mapping Details

Services BRM includes preconfigured services, and you cancreate custom services. You synchronize services fromBRM to PDC with the syncPDC utility. See "Setting upService and Event Definitions" in PDC Creating ProductOfferings for more information.

In the TMF620 payload, your enterprise product catalogmust send case-sensitive values in the name propertyof the ServiceSpecification object that are identical tothe BRM services names.

Ratable Usage Metrics (RUMs) In BRM, a RUM specifies the units for measuring eventsand how to calculate the measurement. You can basea measurement on any data captured in an event, suchas how long a session lasted or the number of bytesdownloaded during a session.

You create RUMs in PDC. See "Configuring RatableUsage Metrics (RUMs)" in PDC Creating ProductOfferings.

In the TMF620 payload, for usage charges, yourenterprise product catalog must send case-sensitivevalues in the units property of the Quantity object thatare identical to RUM names.

For one-time or recurring charges, PDC REST ServicesManager automatically selects the Occurence RUM.

Chapter 5Mapping Setup Components

5-2

Page 22: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-1 (Cont.) Setup Component Mapping

Setup Component Mapping Details

Service-event map In BRM, the service-event map lets you configure whichcharge events can be used for a service and whichRUMs can be used for each service-event combination.The service-event map links each supported service tothe events that can have charges configured for thatservice.

You create the service-event map in PDC. See "SettingUp the Service-Event Map" in PDC Creating ProductOfferings.

PDC REST Services Manager uses the name propertyof the ServiceSpecification object and the priceTypeproperty of the ProductOfferingPrice to look up eventsin the service-event map. PDC REST Services Managerexpects the following values for priceType in theTMF620 payload to match BRM service-event mapping:

• ONE_TIME to map toEventBillingProductFeePurchase

• RECURRING, with recurringChargePeriodTypeparameter value of:– DAILY to map to

EventBillingProductFeeCycleCycle_forward_daily

– MONTHLY to map toEventBillingProductFeeCycleCycle_forward_monthly

– BI_MONTHLY to map toEventBillingProductFeeCycleCycle_forward_bimonthly

– QUARTERLY to map toEventBillingProductFeeCycleCycle_forward_quarterly

– SEMI_ANNUAL to map toEventBillingProductFeeCycleCycle_forward_semiannual

– ANNUAL to map toEventBillingProductFeeCycleCycle_forward_yearly

• USAGE to map to EventSessionServiceNamewhere ServiceName is the name of theServiceSpecification object, which is identicalto a BRM service name, such asEventSessionTelcoGSM.

For the events mapped to the ONE_TIME andRECURRING values, PDC REST Services Managerautomatically maps the Occurrence RUM.

Chapter 5Mapping Setup Components

5-3

Page 23: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-1 (Cont.) Setup Component Mapping

Setup Component Mapping Details

Balance elements In BRM, a balance element represents one of thefollowing:

• A currency or non-currency asset of economicvalue, such as US dollars or included minutes

• A counter that tracks items such as dollars spent orminutes talked

You configure balance elements in PDC. See"Configuring Balance Elements" in PDC CreatingProduct Offerings.

In the TMF620 payload:

• For currency balance elements, your enterpriseproduct catalog must send case-sensitive ISO 4217standard 3-character currency codes in the unitproperty of the Money object that are identical tothe PDC balance element IDs.

• For non-currency balance elements, your enterpriseproduct catalog must send case-sensitive valuesin the units property of the unitOfMeasure objectthat are identical to PDC non-currency balanceelement names.

Tax codes In BRM, a tax code indicates which tax to apply on theprice of the product offering.

You create tax codes in BRM and synchronize themto PDC with the SyncPDC utility. See "Creating TaxCodes" in BRM Calculating Taxes.

In the TMF620 payload, your enterprise productcatalog must send case-sensitive values in thetaxCode property of the Tax object in the extendedProductOfferingPriceOracle object that are identical tothe BRM tax code names.

General ledger (G/L) IDs In BRM, G/L IDs ensure that charges are reported tothe correct account in your company's general ledger.

You create G/L IDs in BRM and synchronize them toPDC with the SyncPDC utility. See "About G/L IDs" inBRM Collecting General Ledger Data.

In the TMF620 payload, your enterprise product catalogmust send case-sensitive values in the glid property ofthe extended ProductOfferingPriceOracle object thatare identical to the BRM G/L ID description.

For more information about these setup components, and others, see "About SetupComponents" in PDC Creating Product Offerings.

Mapping Charge Offers from TMF620 to PDCTable 5-2 shows how to map charge offer data from TMF620 fields to PDC fields.

Chapter 5Mapping Charge Offers from TMF620 to PDC

5-4

Page 24: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-2 TMF620 Charge Offer Mappings for PDC REST Services Manager

TMF Base Object TMF ExtendedObject

TMF620 Field PDC Field PDC FieldDescription

ProductOffering NA ProductOffering.name

chargeOffering.name Charge OfferingName

ProductOffering NA ProductOffering.description

chargeOffering.description

Charge OfferingDescription

ProductOffering NA ProductOffering.id chargeOffering.externalID

Charge OfferingExternal ID

ProductOffering NA ProductOffering.id chargeRatePlan.externalID

Charge Rate PlanExternal ID

ProductOffering NA ProductOffering.ServiceCandidate.name

chargeOffering.productSpecName

Charge OfferingProduct Spec Name

ProductOffering NA ProductOffering.ServiceCandidate.name

chargeRatePlan.permittedName

Charge Rate PlanPermitted Name

ProductOfferingPrice ProductOfferingPriceOracle

ProductOffering.productOfferingPrice[n].name

chargeOffering.chargeEventMap.chargeRatePlanName

Charge Rate PlanName

ProductOfferingPrice ProductOfferingPriceOracle

ProductOffering.productOfferingPrice[n].name

chargeRatePlan.name

Charge Rate PlanName

ProductOfferingPrice ProductOfferingPriceOracle

ProductOffering.productOfferingPrice[n].description

chargeRatePlan.description

Charge Rate PlanDescription

ProductOfferingPrice ProductOfferingPriceOracle.TaxItemOracle

ProductOffering.productOfferingPrice[n].tax[n].taxTime

chargeRatePlan.taxTime

Tax TimeIf a valueis provided fortaxCode, PDC RESTServices Managerautomatically setsthe value fortaxTime to BILLING.Otherwise, taxTimeis set to NONE.

ProductOfferingPrice ProductOfferingPriceOracle.TaxItemOracle

ProductOffering.productOfferingPrice[n].tax[n].taxCode

chargeRatePlan.taxCode

Tax Code

ProductOfferingPrice ProductOfferingPriceOracle.Money

ProductOffering.productOfferingPrice[n].price.unit

chargeRatePlan.subscriberCurrency.currencyCode

Currency Code

ProductOfferingPrice ProductOfferingPriceOracle.TimePeriodOracle

• For non-tieredrates:ProductOffering.productOfferingPrice[n].validFor

• For tiered rates:ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.productOfferingPrice[x].validFor

chargeRatePlan.subscriberCurrency.crpRelDateRange.absoluteDateRange.startDateNote: All tieredProductOfferingPriceobjects contained inthe same TierRangemust have the samestart date. If thedates don't match,the ProductOfferingis rejected.

Start Date

Chapter 5Mapping Charge Offers from TMF620 to PDC

5-5

Page 25: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-2 (Cont.) TMF620 Charge Offer Mappings for PDC REST Services Manager

TMF Base Object TMF ExtendedObject

TMF620 Field PDC Field PDC FieldDescription

ProductOfferingPrice ProductOfferingPriceOracle.TimePeriodOracle

• For non-tieredrates:ProductOffering.productOfferingPrice[n].validFor

• For tiered rates:ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.productOfferingPrice[x].validFor

chargeRatePlan.subscriberCurrency.crpRelDateRange.absoluteDateRange.endDateNote: All tieredProductOfferingPriceobjects contained inthe same TierRangemust have the sameend date. If thedates don't match,the ProductOfferingis rejected.

End Date

ProductOfferingPrice ProductOfferingPriceOracle.PricingLogicAlgorithmOracle.TierRangeOracle

ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.minQuantity

chargeRatePlan.subscriberCurrency.crpRelDateRange...lowerBound

Lower Bound

ProductOfferingPrice ProductOfferingPriceOracle.PricingLogicAlgorithmOracle.TierRangeOracle

ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.maxQuantity

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange.upperBound

Upper Bound

ProductOfferingPrice ProductOfferingPriceOracle.Money

ProductOffering.productOfferingPrice[n].price.value

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...price

Price

ProductOfferingPrice ProductOfferingPriceOracle.Quantity

ProductOffering.productOfferingPrice[n].unitOfMeasure

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...unitOfMeasure

UnitOfMeasure

ProductOfferingPrice ProductOfferingPriceOracle.Money

ProductOffering.productOfferingPrice[n].price.unit

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...balanceElementNumCode

Balance ElementNum Code

ProductOfferingPrice ProductOfferingPriceOracle.Quantity

ProductOffering.productOfferingPrice[n].unitOfMeasure.amount

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...incrementStep

Increment Step

ProductOfferingPrice ProductOfferingPriceOracle

ProductOffering.productOfferingPrice[n].glid

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...glid

GLID

ProductOfferingPrice ProductOfferingPriceAllowanceOracle.UnitOfMeasure

ProductOffering.productOfferingPrice[n].unitOfMeasure.units

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...balanceElementNumCode

Balance ElementNum Code

Chapter 5Mapping Charge Offers from TMF620 to PDC

5-6

Page 26: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-2 (Cont.) TMF620 Charge Offer Mappings for PDC REST Services Manager

TMF Base Object TMF ExtendedObject

TMF620 Field PDC Field PDC FieldDescription

ProductOfferingPrice ProductOfferingPriceAllowanceOracle.UnitOfMeasure

The negative value ofProductOffering.productOfferingPrice[n].unitOfMeasure.amountThe negative valueis used because inBRM, non-currencybalance elements aretreated as credits, notdebits.

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...price

Price

ProductOfferingPrice ProductOfferingPriceAllowanceOracle.UnitOfMeasure

ProductOffering.productOfferingPrice[n].unitOfMeasure.amountApplicable whenProductOfferingPrice[n].priceType is setto usage.

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...incrementStep

Increment Step

ProductOfferingPrice ProductOfferingPriceAllowanceOracle.UnitOfMeasure

ProductOffering.productOfferingPrice[n].unitOfMeasureIf this is specified, theImpactType value isset to SCALED. Ifnot, ImpactType isset to FIXED.

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...ImpactType

Impact Type

ProductOfferingPrice ProductOfferingPriceOracle

ProductOffering.productOfferingPrice[n].glid

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...glid

GLIDThe GLID value isbased on the chargeoffer'sProductOfferingPriceobject associatedwith theProductOfferingPriceAllowanceOracleobject.

ProductOfferingPrice ProductOfferingPriceAllowanceOracle.AllowanceValidity

ProductOffering.productOfferingPrice[n].allowanceValidity

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...PriceValidity

Price Validity

PDC Charge Offer Default ValuesTable 5-3 lists the default values for PDC charge offer fields when TMF620 has nocorresponding field.

Chapter 5PDC Charge Offer Default Values

5-7

Page 27: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-3 PDC Charge Offer Default Values

PDC Field Default Value

chargeOffering.applicableQtyTreatment ApplicableQuantityTreatmentJXB.CONTINUOUS

chargeOffering.applicableQuantity ApplicableQuantityJXB.REMAINING

chargeOffering.chargeEventMap.incrementQuantity

BigDecimal.valueOf(1)

chargeOffering.chargeEventMap.incrementQuantityUnit

NONE

chargeOffering.chargeEventMap.minQuantity BigDecimal.valueOf(0)

chargeOffering.chargeEventMap.minQuantityUnit

NONE

chargeOffering.chargeEventMap.prorateFirst ProrationValueJXB.PRORATE_CHARGE

chargeOffering.chargeEventMap.prorateLast ProrationValueJXB.PRORATE_CHARGE

chargeOffering.chargeEventMap.roundingMode

RoundingModeJXB.NEAREST

chargeOffering.chargeEventMap.timezoneMode

TimeZoneModeJXB.EVENT

chargeOffering.chargeEventMap.validIfCancelled

false

chargeOffering.chargeEventMap.validIfInactive false

chargeOffering.pricingProfileName Product Offering

chargeOffering.TimeRange 0/inf

chargeRatePlan.applicableQtyTreatment ApplicableQuantityTreatmentJXB.CONTINUOUS

chargeRatePlan.applicableQuantity ApplicableQuantityJXB.ORIGINAL

chargeRatePlan.billOffset BigInteger.valueOf(0)

chargeRatePlan.cycleFeeFlag BigInteger.valueOf(0)

chargeRatePlan.permittedType PermittedTypeJXB.PRODUCT

chargeRatePlan.pricingProfileName ONE TIME/ RECURRING - Subscription

USAGE - Convergent Usage

chargeRatePlan.subscriberCurrency.crpRelDateRange...priceTier.distributionMethod

pricingType - TIERED -DistributionMethodJXB.FROM_BAL_IMPACT

pricingType - SIMPLE -DistributionMethodJXB.NONE

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...discountable

ONE TIME/ RECURRING - true

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...impactType

ONE TIME/ RECURRING - SCALED

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...incrementRounding

USAGE - IncrementRoundingJXB.NONE

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...priceType

PriceTypeJXB.CONSUMPTION

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...proratable

RECURRING - true

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange.enforceCreditLimit

ONE TIME/ RECURRING - true

USAGE - false

Chapter 5PDC Charge Offer Default Values

5-8

Page 28: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-3 (Cont.) PDC Charge Offer Default Values

PDC Field Default Value

chargeRatePlan.todMode TODModeJXB.START_TIME

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...unitOfMeasure

UnitOfMeasureJXB.NONE

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...isDiscountable

false

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...priceType

PriceTypeJXB.GRANT

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...relativeStartOffset

-1

chargeOffering.chargeEventMap.validIfCancelled

false

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...proratableUsed when priceType is set to recurring.

true

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...incrementRoundingUsed when priceType is set to usage.

IncrementRoundingJXB.NONE

Mapping Discount Offers from TMF620 to PDCTable 5-4 shows how to map discount offer data from TMF620 fields to PDC fields.

Table 5-4 TMF620 Discount Offer Mappings for PDC REST Services Manager

TMF Base Object TMF ExtendedObject

TMF620 Field PDC Field PDC FieldDescription

ProductOffering NA ProductOffering.name

alterationOffering.nameNote: To distinguishbetween analterationOffering anda chargeOffering in aProductOffering, thealterationOffering.name consists of theProductOffering.name with the string"_DISCOUNT"appended.

Alteration OfferingName

ProductOffering NA ProductOffering.description

alterationOffering.description

Alteration OfferingDescription

ProductOffering NA ProductOffering.id alterationOffering.externalId

Alteration OfferingExternal ID

ProductOffering NA ProductOffering.id alterationRatePlan[n].externalId

Alteration RateExternal ID

ProductOffering NA ProductOffering.ServiceCandidate.name

alterationOffering.productSpecName

Alteration OfferingProduct Spec Name

Chapter 5Mapping Discount Offers from TMF620 to PDC

5-9

Page 29: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-4 (Cont.) TMF620 Discount Offer Mappings for PDC REST Services Manager

TMF Base Object TMF ExtendedObject

TMF620 Field PDC Field PDC FieldDescription

ProductOfferingPrice ProductOfferingPriceOracle

ProductOffering.productOfferingPrice[n].name

alterationRatePlan[n].name

Alteration Rate PlanName

ProductOfferingPrice ProductOfferingPriceOracle

ProductOffering.productOfferingPrice[n].name

alterationOffering.alterationEventMap.alterationRatePlanName

Alteration Rate PlanName

ProductOfferingPrice ProductOfferingPriceOracle

ProductOffering.productOfferingPrice[n].description

alterationRatePlan[n].description

Alteration Rate PlanDescription

ProductOfferingPrice ProductOfferingPriceOracle.TimePeriodOracle

• For non-tieredrates:ProductOffering.productOfferingPrice[n].validFor.startDateTime

• For tiered rates:ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.productOfferingPrice[x].validFor

alterationRatePlan[n].arpDateRange.startDateNote: All tieredProductOfferingPriceobjects contained inthe same TierRangemust have the samestart date. If thedates don't match,the ProductOfferingis rejected.

Start Date

ProductOfferingPrice ProductOfferingPriceOracle.TimePeriodOracle

• For non-tieredrates:ProductOffering.productOfferingPrice[n].validFor.endDateTime

• For tiered rates:ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.productOfferingPrice[x].validFor

alterationRatePlan[n].arpDateRange.endDateNote: All tieredProductOfferingPriceobjects contained inthe same TierRangemust have the sameend date. If thedates don't match,the ProductOfferingis rejected.

End Date

ProductOfferingPrice ProductOfferingPriceOracle.Money

ProductOffering.productOfferingPrice[n].price.unit

alterationRatePlan[n].arpDateRange...balanceElementNumCode

Balance ElementNum Code

ProductOfferingPrice ProductOfferingPriceOracle.Money

ProductOffering.productOfferingPrice[n].price.unit

alterationRatePlan[n].arpDateRange...currencyCode

Currency Code

ProductOfferingPrice ProductOfferingPriceOracle

ProductOffering.productOfferingPrice[n].glid

alterationRatePlan[n].arpDateRange...glid

Alteration Rate PlanName

ProductOfferingPrice ProductOfferingPriceOracle.Money

ProductOffering.productOfferingPrice[n].price.value

alterationRatePlan[n].arpDateRange...fixedAlteration.price

Price

Chapter 5Mapping Discount Offers from TMF620 to PDC

5-10

Page 30: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-4 (Cont.) TMF620 Discount Offer Mappings for PDC REST Services Manager

TMF Base Object TMF ExtendedObject

TMF620 Field PDC Field PDC FieldDescription

ProductOfferingPrice ProductOfferingPriceOracle

ProductOffering.productOfferingPrice[n].percentage

alterationRatePlan[n].arpDateRange...percentAlteration.price

Percentage

ProductSpecification ProductSpecificationOracle.ServiceSpecification

ProductOffering.ProductSpecification.ServiceSpecification.name

alterationOffering.productSpecName

Alteration OfferingProduct Spec Name

ProductOffering ProductOfferingPriceOverageOracle.unitOfMeasure.units

ProductOffering.productOfferingPrice[n].unitOfMeasure.units

alterationRatePlan[n].arpCompositePopModel.alterationPopModel.priceTier.tierRange.upperBound.balanceTBExpression.balanceElementNumCode

Balance ElementNumeric Code

ProductOffering ProductOfferingPriceOverageOracle.unitOfMeasure.units

ProductOffering.productOfferingPrice[n].unitOfMeasure.units

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.balanceElementNumCode

Balance ElementNumeric Code

ProductOffering ProductOfferingPriceOracle

ProductOffering.productOfferingPrice[n].glid

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.glid2

GLIDNote: The GLIDvalue is based on thediscount offer'sProductOfferingPriceobject associatedwith theProductOfferingPriceOverageOracleobject.

PDC Discount Offer Default ValuesTable 5-5 lists the default values for PDC discount offer fields when TMF620 has nocorresponding field.

Table 5-5 PDC Discount Offer Default Values for PDC REST Services Manager

PDC Field Default Value

alterationOffering.pricingProfileName Product Offering

alterationOffering.TimeRange 0/inf

alterationOffering.OfferType OfferTypeJXB.SUBSCRIPTION

alterationOffering.applicableQuantity ApplicableChargeAndQuantityJXB.REMAINING_CHARGE

alterationOffering.Priority 0

alterationOffering.OwnMin -1

alterationOffering.OwnMax -1

Chapter 5PDC Discount Offer Default Values

5-11

Page 31: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-5 (Cont.) PDC Discount Offer Default Values for PDC REST ServicesManager

PDC Field Default Value

alterationOffering.PurchaseMin -1

alterationOffering.PurchaseMax -1

alterationOffering.alterationEventMap.ValidIfCancelled

false

alterationOffering.alterationEventMap.ValidIfInactive

false

alterationOffering.alterationEventMap.Snowball

false

alterationOffering.alterationEventMap.ValidAtStartNotValidAtEnd

AlterationProrationValueJXB.PRORATE_DISCOUNT

alterationOffering.alterationEventMap.NotValidAtStartValidAtEnd

AlterationProrationValueJXB.PRORATE_DISCOUNT

alterationOffering.alterationEventMap.NotValidAtStartNotValidAtEnd

AlterationProrationValueJXB.PRORATE_DISCOUNT

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.price

1.0

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.unitOfMeasure

UnitOfMeasureJXB.NONE

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.alterationAppliesTo

AlterationRecipientTypeJXB.USER

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.alterationBasedOn.useTierComponent

true

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceType

PriceTypeJXB.CONSUMPTION

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.incrementStep

1

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.prorateLastIncrementStep

true

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceValidity.startValidityMode

StartValidityModeJXB.IMMEDIATE

Chapter 5PDC Discount Offer Default Values

5-12

Page 32: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-5 (Cont.) PDC Discount Offer Default Values for PDC REST ServicesManager

PDC Field Default Value

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceValidity.endValidityMode

EndValidityModeJXB.NEVER

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceValidity.validityRange

"0/inf"

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceValidity.relativeStartOffst

-1

alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceValidity.relativeEndOffset

-1

Mapping Bundles from TMF620 to PDCTable 5-6 shows how to map bundle data from TMF620 fields to PDC fields.

Table 5-6 TMF620 Bundle Mappings for PDC REST Services Manager

TMF Base Object TMF ExtendedObject

TMF620 Field PDC Field PDC FieldDescription

ProductOffering NA ProductOffering.name

BundledProductOffering.name

BundledProductOffering Name

ProductOffering NA ProductOffering.description

BundledProductOffering.description

BundledProductOffering Description

ProductOffering NA ProductOffering.name

BundledProductOfferingItem.alterationOfferingName

BundledProductOfferingItem AlterationOffering Name

ProductOffering NA ProductOffering.name

BundledProductOfferingItem.chargeOfferingName

BundledProductOfferingItem ChargeOffering Name

ProductOfferingPrice ProductOfferingPriceOracle.Quantity

ProductOffering.productOfferingPrice[n].unitOfMeasure.amount

BundledProductOfferingItem.quantity

BundledProductOfferingItem Quantity

PDC Bundle Default ValuesTable 5-6 lists the default values for PDC bundle fields when TMF620 has nocorresponding field.

Chapter 5Mapping Bundles from TMF620 to PDC

5-13

Page 33: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-7 PDC Bundle Default Values

PDC Field Default Value

BundledProductOffering.pricingProfileName Product Offering

BundledProductOffering.TimeRange 0/inf

BundledProductOffering.priceListName Default

BundledProductOffering.obsolete false

BundledProductOffering.billOnPurchase true

BundledProductOffering.customize CustomizeTypeJXB.OPTIONAL

BundledProductOffering.groupBalanceElements

true

BundledProductOffering.statusCode 0L

BundledProductOffering.status 1L

Validity.mode ValidityModeJXB.NOW_TO_NEVER

Validity.offset 0L

BundledProductOfferingItem.cycleStart Validity

BundledProductOfferingItem.cycleEnd Validity

BundledProductOfferingItem.purchaseStart Validity

BundledProductOfferingItem.purchaseEnd Validity

BundledProductOfferingItem.usageStart Validity

BundledProductOfferingItem.usageEnd Validity

BundledProductOfferingItem.purchaseChargeAdjustment

0.0

BundledProductOfferingItem.cycleChargeAdjustment

0.0

BundledProductOfferingItem.usageChargeAdjustment

0.0

Mapping Packages from TMF620 to PDCTable 5-8 shows how to map package data from TMF620 fields to PDC fields.

Table 5-8 TMF620 Package Mappings for PDC REST Services Manager

TMF Base Object TMF ExtendedObject

TMF620 Field PDC Field PDC FieldDescription

ProductOffering NA ProductOffering.name

Package.name Package Name

ProductOffering NA ProductOffering.description

Package.description Package Description

ProductOffering NA ProductOffering.name

Package.productSpecPackageItem.productSpecName.bundledProductOfferingAssociation.bundledProductOfferingName

Bundle Name

Chapter 5Mapping Packages from TMF620 to PDC

5-14

Page 34: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Table 5-8 (Cont.) TMF620 Package Mappings for PDC REST Services Manager

TMF Base Object TMF ExtendedObject

TMF620 Field PDC Field PDC FieldDescription

ProductSpecification ProductSpecificationOracle.ServiceSpecification

ProductSpecification.ServiceSpecification.name

Package.productSpecPackageItem.name

BundledProductOfferingItem AlterationOffering Name

ProductSpecification ProductSpecificationOracle.SerivceSpecification

ProductSpecification.ServiceSpecification.name

Package.productSpecPackageItem.productSpecName

Package ProductSpec Name

PDC Package Default ValuesTable 5-6 lists the default values for PDC package fields when TMF620 has nocorresponding field.

Table 5-9 PDC Package Default Values

PDC Field Default Value

Package.pricingProfileName subscription

Package.priceListName Default

Package.obselete false

Package.billOnPurchase false

Package.productSpecPackageItem.balanceSpecificationName

Account Balance Group

Package.productSpecPackageItem.bundledProductOfferingAssociation.optional

false

Package.productSpecPackageItem.bundledProductOfferingAssociation.cancelWithService

false

Package.balanceSpecification.name Account Balance Group

Chapter 5PDC Package Default Values

5-15

Page 35: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

6Monitoring PDC REST Services Manager

This document describes how to monitor Oracle Communications Pricing DesignCenter (PDC) REST Services Manager using logging, tracing, metrics, and systemhealth data.

Topics in this document:

• About Logging

• About Tracing

• About Metrics

• About Monitoring System Health

About LoggingYou can review the PDC REST Services Manager logs to troubleshoot errors andmonitor system activity.

PDC REST Services Manager uses the Apache Log4j Java logging utility to loginformation and errors about the following:

• Start up and shut down activity

• Interaction with other applications at integration points while processing publicationevents. This includes interactions with PDC, Oracle Identity Cloud Service, andyour enterprise product catalog.

• Authorization requests

• Authentication requests

• Tracing (see "About Tracing")

You access the logs as the user who installed PDC REST Services Manager. See"Accessing the Logs".

The logs support the standard Log4j logging levels. By default, the framework loglevels are set to INFO and the application log levels are set to DEBUG. You canchange the levels after installation. See "Changing the Log Levels."

You can configure the format of the logs. See "Configuring the Log Format."

For information about Java logging, see "Java Logging Overview" in Java Platform,Standard Edition Core Libraries. For information about Log4j, see:

https://logging.apache.org/log4j/2.x/manual/index.html

Oracle recommends using automated log file rotation for PDC REST ServicesManager logs. For information about configuring log file rotation, see My OracleSupport article 2087525.1 at:

https://support.oracle.com/knowledge/Oracle%20Linux%20and%20Virtualization/2087525_1.html

6-1

Page 36: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Accessing the LogsYou access the logs to monitor and troubleshoot your system.

To access the logs:

1. Log in to the system where PDC REST Services Manager was installed as theinstallation user.

2. Run the following command:

tail -f PDC_RSM_home/log/rsm.log

where PDC_RSM_home is the directory in which you installed PDC RESTServices Manager.

500FreeMinutes

2020-09-05T20:19:28.399-0700 START RestServicesManager.shpdcrsm-6f88869785-vtbw2 pdcrsm 2020-11-13T15:58:06.702Z | INFO | 9fcdb109-8682-4368-b4d5-b5b720a1af77 | 548aee87-5ef0-4c1a-b8c8-d2b8a8c6fb40 | 500FreeMinutes | 4ca071fde65d2a61 | pool-3-thread-1 | ctPublishEventServiceImpl | Processing Publish Event 548aee87-5ef0-4c1a-b8c8-d2b8a8c6fb40->500FreeMinutespdcrsm-6f88869785-vtbw2 pdcrsm 2020-11-13T15:58:07.303Z | INFO | 9fcdb109-8682-4368-b4d5-b5b720a1af77 | 548aee87-5ef0-4c1a-b8c8-d2b8a8c6fb40 | 500FreeMinutes | 4ca071fde65d2a61 | pool-3-thread-1 | ductOfferingServiceLaunch | Retrieving ProductOffering for ID OOO_DayTech201_OOOpdcrsm-6f88869785-vtbw2 pdcrsm 2020-11-13T15:58:09.088Z | INFO | 9fcdb109-8682-4368-b4d5-b5b720a1af77 | 548aee87-5ef0-4c1a-b8c8-d2b8a8c6fb40 | 500FreeMinutes | 4ca071fde65d2a61 | pool-3-thread-1 | .c.b.i.d.PdcRmiConnection | Attempting to connect to PDC using t3s://pdc-service:8002 ...pdcrsm-6f88869785-vtbw2 pdcrsm Handshake failed: TLSv1.3, error = No appropriate protocol (protocol is disabled or cipher suites are inappropriate)pdcrsm-6f88869785-vtbw2 pdcrsm Handshake succeeded: TLSv1.2pdcrsm-6f88869785-vtbw2 pdcrsm 2020-11-13T15:58:12.437Z | INFO | 9fcdb109-8682-4368-b4d5-b5b720a1af77 | 548aee87-5ef0-4c1a-b8c8-d2b8a8c6fb40 | 500FreeMinutes | 4ca071fde65d2a61 | pool-3-thread-1 | c.b.i.d.PdcDatasourceImpl | Checking if PDC object with the name "500FreeMinutes" existspdcrsm-6f88869785-vtbw2 pdcrsm 2020-11-13T15:58:12.479Z | INFO | 9fcdb109-8682-4368-b4d5-b5b720a1af77 | 548aee87-5ef0-4c1a-b8c8-d2b8a8c6fb40 | 500FreeMinutes | 4ca071fde65d2a61 | pool-3-thread-1 | o.c.b.i.s.PdcServiceImpl | Updating the PDC object "500FreeMinutes"pdcrsm-6f88869785-vtbw2 pdcrsm 2020-11-13T15:58:16.134Z | INFO | 9fcdb109-8682-4368-b4d5-b5b720a1af77 | 548aee87-5ef0-4c1a-b8c8-d2b8a8c6fb40 | 500FreeMinutes | 4ca071fde65d2a61 | pool-3-thread-1 | o.c.b.i.s.PdcServiceImpl | PDC object successfully updated for "500FreeMinutes"

See "Configuring the Log Format" for information about the format of the logs.

Chapter 6About Logging

6-2

Page 37: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Changing the Log LevelsYou can change the global log level and the level for PDC REST Services Managerapplication-specific log entries.

To change the log levels:

1. Open the PDC_RSM_home/apps/conf/logging-config.yaml file in a text editor,where PDC_RSM_home is the directory in which you installed PDC RESTServices Manager.

2. To change the global log level:

a. Search for the following property: -name: ROOT_LOG_LEVEL.

b. Set the value to "${env:ROOT_LOG_LEVEL:-LEVEL}", where LEVEL is the newlog level.

3. To change the PDC REST Services Manager application log level:

a. Search for the following property: -name: PDC_RSM_LOG_LEVEL.

b. Set the value to "${env:PDC_RSM_LOG_LEVEL:-LEVEL}", where LEVEL is thenew log level.

4. Save and close the file.

5. Restart PDC REST Services Manager using the control script located in the bindirectory:

PDC_RSM_home/apps/bin/RestServicesManager.sh restart

The following shows sample entries in the logging-config.yaml file, with the relevantlines and default values in bold:

Configuration: name: Default Properties: Property: - name: ROOT_LOG_LEVEL value: "${env:ROOT_LOG_LEVEL:-INFO}" - name: PDC_RSM_LOG_LEVEL value: "${env:PDC_RSM_LOG_LEVEL:-INFO}" Appenders: Console: name: LogToConsole target: SYSTEM_OUT PatternLayout: Pattern: "%d{ISO8601_OFFSET_DATE_TIME_HHCMM} | %5p | %X{eventId} | %X{projectId} | %X{productOfferId} | %X{traceId} | %-20.20thread | %-25.25logger{25} | %m%n" loggers: Root: level: "${ROOT_LOG_LEVEL}" AppenderRef:

Chapter 6About Logging

6-3

Page 38: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

- ref: LogToConsole Logger: - name: io.jaegertracing.internal.JaegerSpan level: error AppenderRef: - ref: LogToConsole - name: io.jaegertracing.internal.reporters level: warn AppenderRef: - ref: LogToConsole - name: oracle.communications level: "${PDC_RSM_LOG_LEVEL}" additivity: false AppenderRef: - ref: LogToConsole

Note:

The Jaeger tracing logs that appear under Logger are filtered from the logs,so you do not need to adjust their levels.

Configuring the Log FormatConfigure the log format to change the order and number of elements that appear inthe logs.

The default log format is:

%d{ISO8601_OFFSET_DATE_TIME_HHCMM} | %5p | %X{eventId} | %X{projectId} | %X{productOfferId} | %X{traceId} | %-20.20thread | %-25.25logger{25} | %m%n

Where:

• %d is the date and time of the log, in ISO 8601 format.

• %5p is the log level. See "Changing the Log Levels."

• eventId, projectId, productOfferId, and traceId are tags added for tracing eventsand objects through the system. See "Using Trace Tags to Troubleshoot Issues."

• %-20.20thread is the thread pool for the logged event.

• %-25.25logger is the service logging the event.

• %m%n is the message associated with the event.

To configure the log format:

1. Open the PDC_RSM_home/apps/conf/logging-config.yaml file in a text editor,where PDC_RSM_home is the directory in which you installed PDC RESTServices Manager.

2. Under Appenders, locate the PatternLayout property.

Chapter 6About Logging

6-4

Page 39: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

3. In the value for Pattern, change the order of the elements or remove anyunwanted elements.

Note:

Removing elements from the logs might reduce your ability totroubleshoot issues and trace messages.

4. Save and close the file.

5. Restart PDC REST Services Manager using the control script located in the bindirectory:

PDC_RSM_home/apps/bin/RestServicesManager.sh restart

About TracingYou can trace the flow of messages through PDC REST Services Manager by usingthe Jaeger tracer integrated with the Helidon framework, or another transaction tracingtool of your choice.

Helidon is a collection of Java libraries used by PDC REST Services Manager. Jaegeris an open-source tracing system integrated with Helidon. You can use the Jaegerinterface to monitor the PDC REST Services Manager traces.

The following figure shows an example of tracing an event through the system.On the left is a sample from the Jaeger tracer. On the right is the PDC RESTServices Manager system architecture. The numbers show how the integration pointscorrespond to the tracing flow. See "About PDC REST Services Manager" for thedetails of the flow.

You enable Jaeger tracing for PDC REST Services Manager in the application.yamlfile. See "Enabling Tracing".

Traces are tagged with various IDs to help troubleshoot and trace messages andobjects through the system. See "Using Trace Tags to Troubleshoot Issues."

Chapter 6About Tracing

6-5

Page 40: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

For more information about Helidon and Jaeger, see:

• The Helidon project website:https://helidon.io/

• The discussion of Jaeger tracing in the Helidon documentation:https://helidon.io/docs/latest/#/se/tracing/03_jaeger

• The Jaeger website:https://www.jaegertracing.io/

Enabling TracingTo enable tracing:

1. Configure tracing in your Helidon project, as described in the Helidondocumentation: https://helidon.io/docs/latest/#/se/tracing/01_tracing

2. Open the PDC_RSM_home/apps/conf/application.yaml file in a text editor,where PDC_RSM_home is the directory in which you installed PDC RESTServices Manager.

3. Under tracing, set enabled to true.

The following is a sample of the tracing section in the application.yaml file:

tracing: enabled: true service: "rsm" host: "localhost" paths: - path: "/metrics" enabled: false propagation: "jaeger" log-spans: true max-queue-size: 42 flush-interval-ms: 10001

4. Save and close the application.yaml file.

5. Restart PDC REST Services Manager by running the following command from thePDC_RSM_home/apps/bin directory:

./RestServicesManager.sh restart

Using Trace Tags to Troubleshoot IssuesInstead of reading through logs to identify and troubleshoot issues, you can use thetrace tags to correlate logs and traces.

PDC REST Services Manager tags events with the following trace tags:

• publishId: A general tag for the event. In the example below, this is the first id.

• eventId: A tag for the event that is specific to PDC REST Services Manager. In theexample below, this is the eventId.

• projectId: A tag for the project in the enterprise product catalog. In the examplebelow, this is the id under project.

Chapter 6About Tracing

6-6

Page 41: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

• productOfferId: A tag for a product offering. In the example below, this is the idunder each entry in the projectItems array.

• productSpecificationId: A tag for product specifications. This does not appear inthe example below, but would appear in log messages. You use the productOfferIdtag to filter logs and locate related productSpecificationId tags as needed.

The following shows an example event for publishing updates to two product offeringsfrom an enterprise product catalog to PDC. To illustrate an error scenario, a URLin the payload for the 100Minutes product offering has become corrupt. The IDscorresponding to trace tags are shown in bold.

{ "id": "d64066bd-2954-4f43-b8f2-69603c88c683", "eventId": "bd465b38-d838-4e51-ba3d-e57d46929d2b", "eventTime": "2020-11-18T09:31:50.001Z", "eventType": "projectPublishEvent", "correlationId": "UC4Fcfc6a70f-60f5-456c-93d5-d8e038215201", "domain": "productCatalogManagement", "timeOcurred": "2020-11-18T09:31:50.001Z", "event": { "project": { "id": "projectId", "lifecycleStatus": "IN_DESIGN", "name": "Project01", "acknowledgementUrl": "http://host:port/mobile/custom/PublishingAPI", "projectItems": [ { "id": "UnlimitedMinutes", "href": "http://host:port/mobile/custom/catalogManagement/productOffering/UnlimitedMinutes", "name": "UnlimitedMinutes", "version": "1.0", "@referredType": "ProductOfferingOracle" }, { "id": "100Minutes", "href": "http://host:port/mobile/custom/CORRUPTDATA/productOffering/100Minutes", "name": "100Minutes", "version": "1.0", "@referredType": "ProductOfferingOracle" } ] } }}

Trace Tags in Tracer Tools

After submitting the event, you can follow its progress and look for the trace tags in atracer tool like Jaeger.

Figure 6-1 shows excerpts from a tracer. You can immediately see that the erroroccurred in the GET request of the getProductOfferingDetails operation. You can

Chapter 6About Tracing

6-7

Page 42: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

expand the trace spans to get the IDs for the event and the object in question, thensearch in the logs for those tags, as well as the span and trace IDs, to troubleshoot theissue.

Figure 6-1 Sample Tracer Excerpts

The following is the same data for the listenToProjectPublishEvent andgetProductOfferingDetails spans in JSON format, with the relevant IDs in the tagsarrays in bold:

{ "traceID": "f2f902949ee8e661", "spanID": "bad2ef5f3ff26084", "flags": 1, "operationName": "listenToProjectPublishEvent", "references": [ { "refType": "CHILD_OF", "traceID": "f2f902949ee8e661", "spanID": "8ce5e8f8cda38d3b" } ], "startTime": 1605709909244000, "duration": 18160, "tags": [ { "key": "eventId", "type": "string",

Chapter 6About Tracing

6-8

Page 43: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

"value": "bd465b38-d838-4e51-ba3d-e57d46929d2b" }, { "key": "http.status_code", "type": "int64", "value": 201 }, { "key": "component", "type": "string", "value": "jaxrs" }, { "key": "span.kind", "type": "string", "value": "server" }, { "key": "http.url", "type": "string", "value": "http://host:port/productCatalogManagement/v1/projectPublishEvent" }, { "key": "http.method", "type": "string", "value": "POST" }, { "key": "projectId", "type": "string", "value": "projectId" }, { "key": "publishId", "type": "string", "value": "d64066bd-2954-4f43-b8f2-69603c88c683" }, { "key": "internal.span.format", "type": "string", "value": "jaeger" } ], "logs": [], "processID": "p1", "warnings": null },... { "traceID": "f2f902949ee8e661", "spans": [ {

Chapter 6About Tracing

6-9

Page 44: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

"traceID": "f2f902949ee8e661", "spanID": "03031b1c18e679f2", "flags": 1, "operationName": "getProductOfferingDetails", "references": [ { "refType": "CHILD_OF", "traceID": "f2f902949ee8e661", "spanID": "528a32ac350706e2" } ], "startTime": 1605709909256000, "duration": 688729, "tags": [ { "key": "productOfferId", "type": "string", "value": "UnlimitedMinutes" }, { "key": "internal.span.format", "type": "string", "value": "jaeger" } ], "logs": [], "processID": "p1", "warnings": null },{ "traceID": "f2f902949ee8e661", "spanID": "303707dcd9c9d1ef", "flags": 1, "operationName": "getProductOfferingDetails", "references": [ { "refType": "CHILD_OF", "traceID": "f2f902949ee8e661", "spanID": "d1d2c068248a5542" } ], "startTime": 1605709909277000, "duration": 529234, "tags": [ { "key": "error", "type": "bool", "value": true }, { "key": "productOfferId", "type": "string", "value": "100Minutes" }, {

Chapter 6About Tracing

6-10

Page 45: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

"key": "internal.span.format", "type": "string", "value": "jaeger" } ], "logs": [ { "timestamp": 1605709909807000, "fields": [ { "key": "event", "type": "string", "value": "error" }, { "key": "error.object", "type": "string", "value": "oracle.communications.brm.integration.exceptions.EccServiceException" } ] } ], "processID": "p1", "warnings": null }

Trace Tags in Logs

After finding the trace tags in the tracer tool, you can search the logs for them. You cando simple searches in the raw log data, or you can search and filter by the tags using alogging tool, such as Grafana Loki.

The trace tags appear in the following format in PDC REST Service Manager logs:

yyyy-MM-dd'T'HH:mm:ss.SSSXXX, UTC | level | eventId | projectId | productOfferId | traceId | thread | logging service | message

The following shows the success message in the logs for updating theUnlimitedMinutes product, with the relevant trace tags from the event in bold:

2020-11-14T14:29:50.508Z | INFO | bd465b38-d838-4e51-ba3d-e57d46929d2b | projectId | UnlimitedMinutes | f2f902949ee8e661 | pool-3-thread-1 | o.c.b.i.s.PdcServiceImpl | PDC object successfully updated for "UnlimitedMinutes"

For the 100Minutes product, the following error log appears:

2020-11-18T14:31:49.814Z | ERROR | bd465b38-d838-4e51-ba3d-e57d46929d2b | projectId | 100Minutes | f2f902949ee8e661 | pool-3-thread-4 | .s.LaunchPdcItemPublisher | Error calling API service 'Product Offering Service' for '100Minutes'. Status Code: 404 Error: '

Chapter 6About Tracing

6-11

Page 46: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Based on this message and what you saw in the tracer, you would know that PDCREST Services Manager wasn't able to make the call to the enterprise productcatalog to request information about the 100Minutes product offering. Expanding andinspecting the GET span in the tracer would reveal the corrupt URL. You could thenreview the message that came from your enterprise product catalog to confirm, andmake appropriate changes to resolve the issue.

About MetricsYou can monitor the PDC REST Services Manager metrics by using the Metrics RESTendpoint. The metrics count successful and failed messages passing through the PDCREST Services Manager integration points.

Use a monitoring tool that scrapes metrics data, such as Prometheus, to monitor themetrics available from the PDC REST Services Manager Metrics endpoint. You canget the metrics in plain text format, which is compatible with Prometheus, or JSONformat. See "Checking Access to Metrics" for information about accessing the metricsendpoint and requesting different formats. For more information about Prometheus,see: https://prometheus.io/.

The following PDC REST Services Manager metrics are available:

Integration Point Metric Description

PDC interface pdc-create-object-success-total

The number of create eventsthat returned a success fromPDC.

PDC interface pdc-create-object-error-total The number of create eventsthat returned an error fromPDC.

PDC interface pdc-update-object-success-total

The number of update eventsthat returned a success fromPDC.

PDC interface pdc-update-object-error-total The number of update eventsthat returned an error fromPDC.

Product Offer Price Project lifecycle event listener

notification-listener-change-success-total

The number of well-formedpublish events received byPDC REST Services Manager.

Product Offer Price Project lifecycle event listener

notification-listener-change-error-total

The number of publish eventsaccepted by PDC RESTServices Manager that couldnot be processed due toinvalid or incomplete eventpayloads.

Product Offering interface product-offering-get-success-total

The number of ProductOffering GET API requeststhat returned a success fromthe enterprise product catalog.

Product Offering interface product-offering-get-error-total The number of ProductOffering GET API requeststhat returned an error from theenterprise product catalog.

Chapter 6About Metrics

6-12

Page 47: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

Integration Point Metric Description

Product Specification interface product-specification-get-success-total

The number of ProductSpecification GET APIrequests that returned asuccess from the enterpriseproduct catalog.

Product Specification interface product-specification-get-error-total

The number of ProductSpecification GET APIrequests that returned an errorfrom the enterprise productcatalog.

Publish Notification interface publish-job-status-success-total

The number of PublishNotification Acknowledgmentsthat returned a success fromthe enterprise product catalog.

Publish Notification interface publish-job-status-fail-total The number ofPublish Notification POSTAcknowledgments thatreturned an error from theenterprise product catalog.

Publish Product Offeringservice

publish-product-offering-success-total

The number of successfulProduct Offering Publishactions.

Publish Product Offeringservice

publish-product-offering-fail-total

The number of Failed ProductOffering Publish actions.

You can also use Helidon framework metrics. See the Helidon documentation for moreinformation: https://helidon.io/docs/v1/#/metrics/01_metrics

Checking Access to MetricsYou can access the PDC REST Services Manager metrics from any tool that canaccess REST API endpoints using an OAuth token generated by Oracle Identity CloudService for PDC REST Services Manager. You can check whether you have access byusing cURL commands.

To check whether you have access to the PDC REST Services Manager metrics:

1. In the command line on the system where cURL and your scraping tool areinstalled, export your OAuth access token with the following command:

export TOKEN=OAuth_metrics_token

where OAuth_metrics_token is the token you requested for the Metrics endpoint in"Requesting an OAuth Access Token"

2. Enter one of the following commands:

• To get the metrics in plain text format:

curl --insecure -H "Authorization: Bearer $TOKEN" https://hostname:port/metrics

where:

Chapter 6About Metrics

6-13

Page 48: PDC REST Services Manager Integration Guide · 2020. 12. 18. · Oracle® Communications Billing and Revenue Management PDC REST Services Manager Integration Guide Release 12.0 F36879-01

– hostname is the URL for the PDC REST Services Manager server

– port is the TLS port for the PDC REST Services Manager server

• To get the metrics in JSON format:

curl --insecure -H "Authorization: Bearer $TOKEN" -H "Accept: application/json" https://hostname:port/metrics

About Monitoring System HealthYou can assess the health of the PDC REST Services Manager system by monitoringthe process status and overall rates of failure in logs, traces, and metrics.

To monitor process status, use the control script in PDC_RSM_home/apps/bindirectory, where PDC_RSM_home is the directory in which you installed PDC RESTServices Manager:

RestServicesManager.sh status

To maintain an active system, Oracle recommends using a service from your operatingsystem, such as systemd on Linux, to automatically start, monitor, and restart thePDC REST Services Manager system.

Chapter 6About Monitoring System Health

6-14