|Oracle9i Case Studies - XML Applications
Release 1 (9.0.1)
Part Number A88895-01
This chapter contains the following sections:
This chapter introduces you to the Oracle Service Delivery Platform (SDP).
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 (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.
Number Portability performs the following tasks:
Number Portability product serves as a work flow manager. It is used for provisioning services requested by customers.
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:
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.
Number Portability is also in action when you switch local telephone service providers. Here is the process:
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:
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.
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:
Advanced Queueing in Number Portability will use XML messages as a standard format for communication between the database and external system 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.
The following terms are used in this chapter:
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:
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.
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:
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.
ADSL is an Asymmetric Digital Subscriber Line.
A typical ADSL business process occurs as follows:
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:
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.
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:
The Number Portability and messaging architecture in the Oracle Service Delivery Platform (SDP) framework comprises the following components. Event Manager is the core component.
Communication Protocol Adapter interfaces between SDP and external systems. It handles the following message flow:
It supports the following adapters:
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.
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.
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.
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.
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,...
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.
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:
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.
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.
The SDP Message Builder (iMessage) has the following features:
For every message defined, the iMessage creates a package with the name of the message and the following procedures as part of the package.
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:
Events defined using the Internet Message Studio are published to both external and internal application systems. "Internal applications" can register a PL/SQL callback procedure via the "event Publisher" screens or the above defined API and will get executed when an event is published. "External Applications" by definition do not register callback procedures but will have an adapter running to relay the published event to the remote system. External applications can register for an event using the default subscribers screen. A good example for internal applications is Oracle's SDP and Installed Base running on a single Oracle instance.
Supported SDP datatypes include the following:
Other data types include the following:
The Timer Manager has the following main features:
Figure 9-8 shows how SDP's Timers implement Advanced Queueing.?????