1 Order and Service Management Overview
This chapter provides an overview of Oracle Communications Order and Service Management (OSM).
Overview of OSM
OSM is an order processing system that takes as input an order from a customer relationship management (CRM) system, and manages the fulfillment functions that need to be carried out to complete the order. Fulfillment functions include operations such as assigning a phone number, activating a service on the network, shipping a phone, and running billing.
Communications service providers typically register customers and manage their services by capturing orders in a CRM system or on a website. The order received from a customer defines what the customer wants to purchase, such as a phone service. OSM initiates and coordinates the order fulfillment functions required to complete the order. For example, if the customer orders a phone service, OSM can:
-
Send billing and customer management requests to a billing system.
-
Query a service and resource management (SRM) application to find the network resources required to activate a service and to determine the actions required on each resource; for example, to find out if there is enough circuit capacity for the service and to determine what actions must be performed on the network to allocate the circuit to the customer.
-
Send activation commands to Oracle Communications ASAP to activate the service on the network.
-
Send a shipping request to a shipping system; for example, to send a phone to the customer.
Figure 1-1 shows how OSM receives orders from a CRM system and then works with multiple external fulfillment systems to handle the order fulfillment requirements. A fulfillment system is a system that carries out the actions necessary to complete the order; for example, activate services on the network, or run billing. In this example, OSM coordinates with fulfillment systems that run other Oracle Communications applications; Billing and Revenue Management (BRM), Unified Inventory Management (UIM), and ASAP.
Figure 1-1 OSM and External Fulfillment Systems
![Description of Figure 1-1 follows Description of Figure 1-1 follows](img/cpt_fulfill_topology.gif)
Description of "Figure 1-1 OSM and External Fulfillment Systems"
While processing an order, OSM can interact with multiple external systems simultaneously, or in a sequence of processes. For example, OSM can interact with a billing system at the same time as working with UIM to assign the resources and determine the actions required to fulfill the service on those resources. After determining the resources and actions in UIM, OSM can send those resources and actions as activation commands to ASAP to activate the service on the network. OSM maintains the status of all of the interactions with external systems, and can return the status of each interaction to the order source system.
Because OSM can support order processing for any type of service or product, OSM does not have a predefined order fulfillment process. Instead, you define the OSM order fulfillment process for each type of order that you process. For example, some orders might require shipping or installation actions, and some might not.
The high-level order fulfillment process is:
-
An order is placed in a CRM system or on a self-service portal such as a page. OSM is not part of the order capture process.
CRM systems typically create and maintain their own order that tracks the status of the customer's purchase. They use this order to communicate the order status to the customer.
-
The CRM system sends the order to OSM.
-
OSM receives the sales order. OSM validates the order and transforms it into an OSM order in the OSM order format. If you have defined multiple types of orders, for example, for different services, OSM creates the type of order that is required to fulfill the customer's order.
An order in OSM can include:
-
The fulfillment functions that need to be completed, such as add or cancel a service
-
The requested completion date
-
Customer data that is relevant to the order process; for example, the customer's address
-
Information about the services being requested; for example, telephone number, bandwidth, or DSLAM port
-
Status information; for example, if the order is in progress or completed
-
-
OSM fulfills the order by running tasks. Some tasks are manual; for example, you might want an order processor to manually validate that an equipment installation has been completed. Most tasks are automated; for example, a task that sends an activation command to the network.
-
As tasks are completed, OSM monitors the overall status of the order. You can use the OSM Task web client and the OSM Order Management web client to track the order's progress and manage any problems that occur.
-
When all of the tasks are complete, OSM informs the order source system that the order has been fulfilled, and the services are available to the customer.
Figure 1-2 shows the order fulfillment process.
For a detailed description of the OSM order process, see "How OSM Processes Orders."
About Order Fulfillment Business Processes
OSM supports the following business processes:
-
If an order is in progress and a customer needs to change it, you can resubmit the order to OSM. OSM can roll back and change fulfillment tasks as needed. For example, an order might be in progress that specifies a 5Mbps bandwidth. If the customer decides to change the order to 13Mbps bandwidth, the same order with the new requirement is submitted. The original order is called the base order, and the second order is called the revision order.
-
You can calculate the length of time that an order might take to process and provide customers with an expected delivery date. In some cases, a customer might need a service activated at a date in the future; for example, at the end of the next month. OSM can calculate when to start the order to enable the service at the required date.
-
You can configure various ways to report order status, including the status of the entire order and the status of individual fulfillment tasks. You can use fulfillment states to combine the various statuses received from multiple external systems into an aggregated status.
-
You can create processes to manage errors in order processing. An error in order processing is called fallout.
-
You can create workgroups to manage manual order processing tasks and order fallout. You can use workgroups to assign tasks to specific types of order operators; for example, order operators who interact with customers, or order operators who manage failed orders.
For more information, see "About Order Management Business Processes."
About the OSM System Architecture
The OSM system includes system server components, web-based GUI applications, utilities, and interfaces for communicating with external systems. Figure 1-3 illustrates the OSM system components.
An OSM system includes the following client components:
-
Use the Task web client to monitor and manage the tasks in an order. This application is typically used by order processing personnel to ensure that all the tasks are completed. It is also used by order fallout managers. You can also perform some order management tasks, such as suspending, resuming, and canceling orders.
-
Use the Order Management web client to display detailed information about the progress of the order. Displaying the order process is useful for developers who are modeling orders and need to see relationships between the specifications they create in Design Studio. You can also perform some order management tasks, such as suspending and resuming orders, canceling orders, and managing fallout. You can open the Order Management web client from within the Task web client.
-
Use Design Studio to model types of orders, tasks, and other OSM entities that run the order fulfillment process. When you design your order fulfillment process, you also use Design Studio to design entities for other Oracle products; for example, to configure services for UIM, and to design activation processes for ASAP.
To implement the order fulfillment process that you design, you create cartridges in Design Studio and deploy them on OSM server systems. You can deploy multiple cartridges to manage different functional areas; for example, cartridges that deploy OSM fallout management functions, and cartridges that deploy UIM functions.
OSM includes the following server components:
-
The OSM server manages OSM runtime functionality, including inbound order operations and outbound communications with external systems. The OSM server is deployed on Oracle WebLogic Server.
You typically configure multiple instances of the OSM server. For example, you might configure one OSM server instance to receive and process incoming sales orders, and one or more OSM server instances to process orders that require interaction with provisioning and activation systems.
To communicate with external systems, the OSM server uses mostly Java Message Service (JMS) queues. JMS is part of the standard Java platform. In traditional OSM, a JMS queue is a staging area that you configure when you install OSM. In OSM cloud native, JMS queues are added to the project specification for an instance. Systems communicate via JMS queues by publishing messages to them and receiving messages from them.
-
Oracle WebLogic Server hosts the OSM server. Oracle WebLogic Server, part of Oracle Fusion Middleware, provides Java JEE services for the hosted components and includes availability, scalability, manageability, clustering, and performance features.
-
OSM uses Oracle Database to store orders being processed and orders that have been processed. The OSM database also stores the OSM metadata that you create when modeling the order fulfillment process. For example, the order specification that you define in Design Studio is stored as metadata. OSM uses that metadata as a template to create instances of orders at runtime. OSM metadata defines the order model and behavior of the OSM Server, including order templates and tasks.
OSM uses Java Database Connectivity (JDBC) to carry out communication between server components and the OSM database.
For information about administering an OSM system, see OSM System Administrator's Guide.
About Creating an Order Fulfillment Process
Using OSM includes two different types of activities:
-
Design-time activities. To implement OSM, you define the content of each type of order, and the process that fulfills the order. To do so, you use Design Studio to model types of orders, tasks, and other OSM entities that run the order fulfillment process. As the products, offers, and bundles in your product catalog change, you use Design Studio to make changes to the order fulfillment process. OSM includes sample Design Studio cartridges to use as a starting point, but you must model your own order fulfillment process.
-
Runtime activities. To manage orders, you can use the Task web client to run manual tasks, and you use the Task web client and the Order Management web client to track the progress of the orders and manage any problems that occur. For example, if an external system reports an error, you can use the Order Management web client to troubleshoot the order. For more information, see "About Runtime Order Management."
OSM fulfills orders to support your specific product offerings. For example, if you sell a DSL service, you model your order process to include the data necessary to activate the DSL service on the network, and to carry out provisioning and activation tasks. If you sell a fixed line telephone service, your order process needs to carry out a different set of fulfillment functions.
To design and implement your order fulfillment process, you do the following:
-
Define your business requirements; for example, the products, bundles, and offers you sell.
-
Plan how to implement the fulfillment requirements for those products and services. For example:
-
Which systems (activation, inventory, billing) does OSM need to communicate with?
-
What data is needed to activate a service?
-
Which tasks need to be performed manually, and which can be performed automatically?
-
How are changes to an order handled?
-
-
Model the orders and the fulfillment processes in Design Studio and test the order execution.
-
Implement the order fulfillment process in your production system.
-
As your business changes, create new types of orders and implement changes to how orders are fulfilled. For more information, see "Managing Changes in Your Business."
For more information about designing and modeling OSM, see OSM Modeling Guide and Design Studio Concepts.