Oracle9i Case Studies - XML Applications
Release 1 (9.0.1)

Part Number A88895-01
Go To Documentation Library
Go To Product List
Book List
Go To Table Of Contents
Go To Index

Master Index


Go to previous page Go to next page

Service Delivery Platform (SDP) and XML

This chapter contains the following sections:

Oracle Service Delivery Platform

This chapter introduces you to the Oracle Service Delivery Platform (SDP).

SDP Business Solutions

Many solutions using Business-to-Business XML message payloads can be built on the Service Delivery Platform (SDP). These include the following:

Other possible solutions include Bandwidth Exchange and Carrier Pre-Selection.

Phone Number Portability

Phone Number Portability (Number Portability) is a mechanism by which consumers can keep their telephone numbers when they switch between telecommunication service providers, move from one physical location to another or change their services. The concept is driven by regulatory authorities working to jump start competition, citing that consumers are more interested in moving between service providers when they can keep their telephone numbers. Number Portability is widely cited as a key driver for the explosive growth in the US competitive long distance market.

The Number Portability message-based application uses iMessage Studio, Event Manager, and Adapters. The application uses XML as the message payload to communicate between two service providers using a Business-to-Business protocol that is common in the telecommunications industry.

Number Portability application illustrates the messaging and event management features of the Oracle Service Delivery Platform (OSDP or SDP) in Oracle CRM Applications 11i. This is a CRM feature.

Figure 9-1 Number Portability and Related Architecture

Text description of adxml103.gif follows
Text description of the illustration adxml103.gif

The Number Portability Process

Number Portability performs the following tasks:

  1. Links the XML or DTD elements to either a SQL table or a PL/SQL stored function.

  2. Dynamically creates and builds the stored procedure in the background. It also enqueues the XML message for further processing. It builds the XML by extracting/querying values from the table or by dynamically executing the stored function associated with the element.

  3. At run time the user or program executes this dynamically executed procedure which then has the intelligence to create the XML message and enqueue it for further processing.

Number Portability product serves as a work flow manager. It is used for provisioning services requested by customers.

What Happens Behind the Scenes When You Order a New Telephone Service

For example, when you order a new telephone service, the telephone company takes the order and captures the order information using the Oracle Order Management application.

Here is the flow of events that transpire. The Number Portability application is used in all of the following steps and serves as an instance in the process:

  1. A customer places an order for a service such as a new telephone installation

  2. The Provisioning application captures the sales order and starts the specified validating and authorization process

  3. The Provisioning application then communicates with external systems. For example, it checks the customer credit rating or interacts with a third party for other actions.

    This communication could use a protocol defined between the two systems in XML format. Oracle Work Flow is used so that consultants can configure and view business process in a graphical format even at runtime.

What Happens Behind the Scenes When You Change Local Service Providers

Number Portability is also in action when you switch local telephone service providers. Here is the process:

  1. A customer contacts the local service provider.

  2. The local service provider validates your request with your old service provider. This is done through an independent third mediating party. In the United States, this third party mediator is the NPAC (Number Portability Administration Center).

  3. When switching long distance carriers, the mediating party comes online via voice. When switching local provider service, this is done through electronic messaging.

  4. The new service provider sends a message to NPAC so that it NPAC can validate the request and then an approval or authorization can be granted to the new service provider so that they can gain this new customer.

  5. NPAC sends a message to the old provider ("donor"). The donor reviews and approves the order and sends a message back to NPAC again using XML.

  6. NPAC sends the authorization to the new service provider ("recipient").

  7. The order is now approved on both sides.


    All the messaging taking place here uses XML as the main format within the SDP Number Portability product. If another protocol is required, then a custom Adapter could be plugged in to perform the transformation using XSL or custom code. 

  8. On the actual day that the customer wants to switch, NPAC sends a broadcast message to all the telephone service providers throughout the country. At this time, all telephone carriers and companies must update their network elements (network databases) in the process within the system.

XML is the Data Format. Advanced Queuing is Used at Each Point

XML is the data format used for all the messaging. Advanced Queueing (AQ) is used at each point in the process (and system) as shown in Figure 9-2.

The "Message Builder" module creates and enqueues the XML messages. The Communication Protocol Adapter ("Adapter") starts dequeueing the messages and sends them to the external systems.

AQ is essentially used simply to store the messages in queues. It serves as a First In First Out (FIFO) queueing system. The protocol used to send the messages differs with every system and is end-user specified, such as Flat File/CORBA,....

To summarize then:

Figure 9-2 Messaging Using Advanced Queuing

Text description of no_port5.gif follows.
Text description of the illustration no_port5.gif

Why XML is Used for this Messaging

XML is used because it is a flexible format that can be modified or transformed into any other format required.

For example, one country may need a flat file message format to distribute the messages and provision (update) their network elements (databases). It is a simple matter to use XSL or custom code to transform the generated XML into the required flat file format.

This Number Portability application has been successfully deployed in Belgium where it is used in this manner. Belgium requires a flat file message format.

Number Portability Allows Fast Configuring

The Number Portability product allows consultants to:

For example, you can get a list of depts and all emps in each dept in an XML message by performing the following:

  1. Writing two queries in the Number Portability application

  2. Configuring the message in the supplied GUI with no coding at all

Advanced Queueing in Number Portability will use XML messages as a standard format for communication between the database and external system adapters.

What are External Adapters?

External adapters are Java programs that "listen" to the following:

The commands are sent in XML to the method, performControlMessageProcessing. This allows for a dynamic number of parameters to be passed to the adapter.

For example, to start an adapter with a default of three threads for performance, the STARTUP command could be as follows:


This gives more control and flexibility to you if you need to customize adapters. You can also define your own commands. You are not restricted in any way when parsing XML messages.

See Also:

  • PL/SQL User's Guide and Reference

  • "Oracle Number Portability 11i User's Guide" for information on the user interface and iMessage Studio.

  • Implementing Oracle SDP Number Portability


Terms Used in This Chapter

The following terms are used in this chapter:

Wireless Number Portability (WNP)

The Inter-Carrier Communication process in a Wireless Number Portability (WNP) solution must take in to consideration, communication between the following:

Communication between wireless providers can be further divided according to the following carrier type porting:

Mobile Directory Number (MDN) and Mobile Subscriber Identity (MSID)

In a wireless system, a subscriber can be identified by the Mobile Directory Number (MDN) and Mobile Subscriber Identity (MSID). The MDN is portable and dialable. MSID is not-portable and not-dialable, and is used to identify the home service provider of a roamer. The MSID is also re-usable.

In the GSM world (in North America) the MDN is a 10-digit telephone number and is referred to as the MSISDN (Mobile Subscriber ISDN). The MSID of a GSM carrier is a 1-15 digit number referred to as the IMSI (International Mobile Subscriber Identity).

In the cellular world the MDN and MSID (referred to as MIN - Mobile Identification Number) are both 10-digit directory numbers (in the past both numbers have been the same).

A WNP solution must be able to support all these types of porting requests.

See Also:

The Porting Process - Reference CTIA Numbering Advisory Working Group Report On Wireless Intercarrier Communications Version 2.0. 


In many countries where number portability is mandated, an organization such as Number Porting Administration Center (NPAC) controls the cut over of service from one operator to another. It also records information about ported numbers, and provides a centralized point from which porting information can be distributed.

Having a centralized and impartial body to oversee the porting process provides the following benefits:

In addition to the above, a centralized database can be a reference for civic service organizations, such as:

Service Gateway

When offering a service to subscribers involves two Telecommunications Operators (TO), or Service Providers (SP), they must be able to interconnect their separate OSSs. This would require a number of policies about:

At the heart of this set of requirements is the need for co-operating organizations to control the integrity of their data.

Service gateway offers flow-through functionality for inter-enterprise processes while enabling:

Standards Adherence: The gateway must follow common practices and standards whether set by regulatory organizations, industry forums and standard bodies, or by market conditions.

Asymmetric Digital Subscriber Line (ADSL)

ADSL is an Asymmetric Digital Subscriber Line.

ADSL Business Procedure

A typical ADSL business process occurs as follows:

  1. Pre-qualify check

  2. Pre-order feasibility check

  3. Create Order

  4. Perform loop qualification check

  5. Provision DSL line

  6. Verify DSL loop

  7. Deliver DSL CPE

  8. Schedule and Install DSL CPE

  9. Test DSL CPE with DSL and ATM connection

  10. Test IP service with DSL line

  11. Publish order completion message

ADSL Benefits

The following are ADSL benefits

DSL in a Nutshell

The DSL technology is a new technology platform that is leading customers into the future. DSL is a broadband digital connection made directly to the customer premises using existing copper telephone lines. With DSL technology, businesses can take advantage of a large suite of services designed to enhance the use of the Internet and the productivity of its users. The DSL network components consist of a multi services DSLAM located at the CO and a DSL remote transceiver unit (DSL modem) located at the customer premises. The DSLAM provides backhaul services for packet, cell and/or circuit-based applications through the concentration of the DSL lines onto T1/E1, T3/E3 or ATM outputs. The DSL modem maintains a digital link from customer business to the network. This modem can drive ordinary telephone lines at speeds far beyond conventional dial-up modems (up to 7+ Mbps). This modem plugs into existing local area network or can be attached to a PC using a special cable.

There are many varieties of DSL technology, collectively called xDSL:

Using DSL technology, service providers can provide a series of end-to-end, business managed solutions to give customer the leading edge with Core Internet Services, Web Hosting, Enhanced email, managed equipment, Virtual Private Networks and Server Based Applications. This should help customer to operate better and faster and maximizes the use of customer resources.

Examples of the DSL-based services can be provided are:

Voice Over IP (Clarent)

The Clarent VoIP system consists of the following components:

The Customer/Provisioning Database contains Customer, Routing (Trunks), Rating, and other tables, that the CCC uses to activate a customer.

For example, suppose Service Provider X, uses the Clarent Network to provide VoIP service to its customers. If a customer requests VoIP service, then X must enter all the information required to activate the customer in Clarent's Customer/Provisioning database. This information will be used by the CC to activate VoIP service for that customer.

Currently customer/route/rating data is added, one-by-one, via Clarent Assist.

Clarent Assist is an HTML screen which can be used to add, modify and delete rows in the Clarent Customer/Provisioning database.

Bandwidth Exchange (Prototype)

The Communications Services Exchange Prototype (called "The Exchange" within herein) is intended to be a Telco solution using the SDP engine. The Exchange is an Internet Community that will be used to sell, purchase and facilitate wholesale communications services between peer Service Providers as well as large Companies & Corporations. The Exchange only facilitates transactions between Buyers and Sellers; Both Buyers and Sellers can be large corporations who buy or sell services from each other or from Service Providers other than their own; the corporations still belong to their incumbent Service Providers even after they exchange the services with other Service Providers. Once Buyers and Sellers agree and close the transaction, options are available for them to choose to provision and activate the exchanged services through a Service Fulfillment capability provided by The Exchange.

The Exchange functionality and platform will be based on Oracle e-Business Internet Procurement application (refer to "Oracle Exchange"). Any additional functionality required will be developed by the SDP Telco Solution. The major components and functions of The Exchange are comprise of the following:

Number Portability and Messaging Architecture within SDP

The Number Portability and messaging architecture in the Oracle Service Delivery Platform (SDP) framework comprises the following components. Event Manager is the core component.

Figure 9-3 and Figure 9-4 illustrate the Number Portability overall workflow.

Figure 9-3 Number Portability Workflow (1 of 2)

Text description of no_port3.gif follows.
Text description of the illustration no_port3.gif

Figure 9-4 Number Portability Workflow (2 of 2)

Text description of no_port3.gif follows.
Text description of the illustration no_port3.gif

Communication Protocol Adapter

Communication Protocol Adapter interfaces between SDP and external systems. It handles the following message flow:

It supports the following adapters:

Order Processing Engine

Orders from an order management system are converted to SDP Work Items or logical line items. Orders are also created internally from processing the messages.

These line items created are analyzed by Dependency Manager or Order Analyzer. It creates a final set of Normalized Work Items for execution.

Workflow Engine

This module specifies the actual flow of actions (known as Fulfillment Actions) to be executed to satisfy an application functionality. This module can re-use the Fulfillment Actions to customize any new functionality such as NP Service Provider Mediation or the NRC itself.

The Workflow Engine would determine the Fulfillment Actions to execute for each Work Item and determine the Network Elements that it would need to talk to. The Workflow engine also picks and executes an appropriate fulfillment procedure based on the fulfillment element type, software version of the fulfillment element type and the adapter type.

The fulfillment procedures then use the Internet Message Studio generated code to send and process messages. Once it gets an event notification of the outcome of the execution of the Fulfillment Action (by the Event Manager), the engine would proceed to complete the Work Item and pick the next Work Item in the queue for the given order. This component uses the Oracle Workflow engine.

Fulfillment Engine

The Fulfillment Actions and the Network Elements on which they need to be applied are used by SDP's provisioning engine to determine which Fulfillment Program to execute.This essentially uses the PL/SQL engine in the database currently to execute user defined procedures.

The Fulfilment Engine has the following main features:

See Figure 9-5.

Figure 9-5 Oracle Provisioning Integration in Number Portability (NP)

Text description of no_port6.gif follows.
Text description of the illustration no_port6.gif

Event Manager

The Event Manager is a generic Publish-Subscribe module which registers interest of various subscribers to different event types. The subscriber could be the SDP Translator (in which case the event gets propagated as a new order), Workflow Engine (in which case the event restarts a Workflow which is waiting on an external event) or an API. Event Manager builds asynchronous application messaging. It has a versatile set of API's which can be used by a developer to build asynchronous message based application.

SDP Repository

The core SDP repository allows the user to create orders and configure network elements. An example would be Work Item, Fulfillment Action, Fulfillment Program and Network Element definitions. The NP database contains entities for storing NP specific data such as, Subscription Version, Service Providers, Routing Numbers,...

Requirements for Building a Phone Number Portability Application

To build a Number Portability application, you need the following:

Figure 9-6 shows the Number Portability environment. The servers on the bottom of the figure are from left to right, a Forms Server, Oracle9i Application Server, and the SDP Adapter Server. This is just schematic. The servers could reside on one machine.

Figure 9-6 Number Portability Environment

Text description of no_port7.gif follows.
Text description of the illustration no_port7.gif

Provisioning a Network Element

There are other network elements in the telephone system that can be provisioned (updated) besides individual end-user phone numbers. Examples of other network elements, include switches, Service Control Points (SCP), routers, LDAP servers,....

Here is another example of how the SDP Provisioning application is used:

  1. A local telephone service provider requests to have a switch provisioned

  2. A Mediation Layer talks to the switches

  3. Service Delivery Platform (SDP) which may be an XML-enabled legacy system, sends a message to the Mediation Layer.

  4. SDP receives a response back from the Mediation Layer once the provisioning (updating) has completed.

This messaging also uses XML as the message payload and Advanced Queueing (AQ). Here AQ is used mainly as storage medium for the XML queues. Future releases may use the JMS interface over AQ to provide a standard interface.

Using Internet Message Studio (iMessage) to Create an Application Message Set

Internet Message Studio (iMessage) utility is used to define the message set of the Number Portability application or enterprise. It provides for an easy way to develop a message based application and generates all the necessary code to construct, publish, validate and process application messages.

It also enables sharing of messages between applications and prevents redefining the same message in various applications across the enterprise. The application can execute the generated procedures at run time for all its messaging needs. It also provides the necessary hooks or customization points for including business specific logic. Messages are generated using standard XML.

Message Builder (iMessage) Features

The SDP Message Builder (iMessage) has the following features:

Code Generation

For every message defined, the iMessage creates a package with the name of the message and the following procedures as part of the package.

Defining Message Sets

Figure 9-7, "Using iMessage's Data Source Window to Define the Data Source for XML Message Elements (in Oracle Developer Forms)" shows how you can use iMessage to define an XML message. This screenshot also illustrates the XML message elements and structure as well as the associated source SQL query.

A number of steps are involved when using iMessage to define your XML message sets. These include the following:

Figure 9-7 Using iMessage's Data Source Window to Define the Data Source for XML Message Elements (in Oracle Developer Forms)

Text description of phoneno9.gif follows
Text description of the illustration phoneno9.gif

Supported SDP datatypes include the following:

Other data types include the following:

Using Timer Manager

The Timer Manager has the following main features:

Figure 9-8 shows how SDP's Timers implement Advanced Queueing.?????

Figure 9-8 Timers Using Advanced Queueing

Text description of no_port8.gif follows.
Text description of the illustration no_port8.gif

Go to previous page Go to next page
Copyright © 1996-2001, Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Go To Product List
Book List
Go To Table Of Contents
Go To Index

Master Index