Architecture

  • OPE Engine

    This is the core offer processing engine. It provides interfaces for multi-channel offer eligibility, validity, and price evaluations.

  • Offer Search Indexing Service

    It enables search and guided browsing for offers. The offers are indexed in this engine for fast searches.

  • Authentication Service

    A JSON Web Token-based authorization has been introduced for the Order Management Server REST web service by using JSON Web Token (JWT). The Authorization service has been added to get a token based on the user name and password. This token can be used to access other operations of the order services.

    Note:
    • Authentication service is a primary service that does not depend on any other service to start.
    • The Configurator UI requires the authentication service to always be up and running. The credentials entered on the UI by users are validated by the authentication service. On successful validation, tokens are generated. These tokens are then used by the Configurator UI to initiate the login process.
  • Catalog Service

    It is a REST service that is used to load the product, price, discount, category, OfferIdMappings, and rule models.

  • Configurator REST Service and Configurator UI

    Configurator is available as a REST service and also as a UI. You must run the start.sh script from the $OPE_HOME/roles/configurator/standalone/bin directory. For configurator REST service, start the service from the $OPE_HOME/roles/configurator/standalone/bin and for configurator UI, start the service from $OPE_HOME/roles/configurator-ui/standalone/bin directory. You need to upload the seed-data present under the $OPE_HOME/seed-data directory either from configurator or configurator UI.

  • Shopping Cart Service

    The REST APIs in the Shopping Cart service are used to perform various actions on the products in a cart. For example, you can save, update, delete, or get products in the cart. For the shopping cart APIs, specification from TM Forum R19.0.0 is followed.

  • Recommendation Engine Data Mapper

    This is a Java-based Spring Boot service that provides the feature of mapping and publishing customers’ transactional data. The filtered data is stored in Redis. It supports the json and csv data.

  • Recommendation Engine Data Store

    Recommendation Engine Data Store is a Java-based Spring Boot service. It has GraphQL APIs to save, update, retrieve, and delete any data in Redis. These GraphQL APIs are used by other Recommendation services such as Recommendation Engine Data Mapper, Recommendation Engine Core, and Recommendation Engine API.

    It also has REST APIs to save, update, retrieve, and delete PMML.

  • Recommendation Engine Core

    It is a python-based service. It is the core engine for the recommendation engine as it is responsible for running Apirori and Cosine algorithms to generate Association rules and similar products respectively. It also processes active PMML and predicts against transactional data in the system. It stores association rules, similar products, and customer predictions in Redis.

  • Recommendation Engine API

    This is a Java-based Spring Boot service. This is the leading Recommender System that generates and provides recommendations to the users. This service is based on TMF680_Recommendation_API_REST_Specification_R18.0.0.