2013
IRI (OSS) High Level Design Document
Copyright © 2013 CloudBPO –
All rights reserved
IRI (OSS) High Level Design Document
2013
Contents
1. Design View ............................................................................................................................................... 1
2. High Level flow diagram ........................................................................................................................ 2
3. IRI (OSS) Service Layer (Development perspective):............................................................................. 3
4. Application Flow........................................................................................................................................ 4
4. 1 IRI (OSS) High-Level Entity Relationship Diagram / Data Flow Diagram: ........................................... 4
4.2 Customer / Supplier OSS Data: ........................................................................................................... 5
4.3 CDRs Data:........................................................................................................................................... 5
4.4 Rules Data: .......................................................................................................................................... 5
4.5 Intelligent Routing Engine: .................................................................................................................. 6
4.6 Routing / Re-Routing Database: ......................................................................................................... 6
5. Technology Selection: ............................................................................................................................... 7
6. Architecture justification .......................................................................................................................... 7
Copyright © 2013 CloudBPO – All rights reserved |
IRI (OSS) High Level Design Document
2013
1. Design View
We have developed the application on SPRING MVC, so it is a very modular as we have three layers.
1. Presentation layer
2. Business Logic layer
3. Database layer
Model–view–controller (MVC) is a software architecture pattern that separates the representation of
information from the user's interaction with it. The model consists of application data, business rules,
logic, and functions. A view can be any output representation of data, such as a chart or a diagram.
Multiple views of the same data are possible, such as a pie chart for management and a tabular view for
accountants. The controller mediates input, converting it to commands for the model or view. The central
ideas behind MVC are code reusability and separation of concerns.
Copyright © 2013 CloudBPO – All rights reserved
1
IRI (OSS) High Level Design Document
2013
2. High Level flow diagram
Following diagram shows the IRI (OSS) flow at a very high level. This shows different flows across the
main components of IRI (OSS).
Copyright © 2013 CloudBPO – All rights reserved
2
IRI (OSS) High Level Design Document
2013
A package diagram in the Unified Modeling Language depicts the dependencies between the packages
that make up a model.
Following are the 2 package diagram of IRI (OSS) that we have implemented so far, each package has got
a number of classes, which can be accessed via source code.
3. IRI (OSS) Service Layer (Development perspective):
In the below mentioned figure you can get a complete idea. Service package is the core package that uses
lots of other classes. We have followed a typical the tier approach, we have written very modular code so
that it can be used for extension easily.
Data Access Object (DAO) is for data excess, it contains queries and it is the class that plays with
MySQL Database.
Copyright © 2013 CloudBPO – All rights reserved
3
IRI (OSS) High Level Design Document
2013
4. Application Flow
4. 1 IRI (OSS) High-Level Entity Relationship Diagram / Data Flow Diagram:
Following is a diagram that shows the basic entities present in the system at the level of database as
well as it shows the Flow of Data Between these Entities.
The Basic Entities available in the database can be categorized into following major categories:
-
Customer / Supplier OSS Data.
-
CDRs Mediated Data.
-
Rules Data.
-
Intelligent Routing Engine Data.
Copyright © 2013 CloudBPO – All rights reserved
4
IRI (OSS) High Level Design Document
-
2013
Routing / Re-Routing Data.
These entities can be explained as under:
4.2 Customer / Supplier OSS Data:
Customer / Supplier OSS data will contain all the basic entities that we need to analyze and compare the
customer date with that of supplier. The same data will also help us in binding different QoS and Cost
Rules with these entities i.e. Customer and Supplier. This data will contain following basic information:
-
Customer / Supplier Information.
-
Customer / Supplier IPs.
-
Customer / Supplier call sources and End Points.
-
Customer / Supplier Prefixes.
-
Customer / Supplier Rates.
4.3 CDRs Data:
CDRs data will contain all those entities that will be entered into the system via mediated CDRs and will
be used in generation of QoS statistics at different levels.
This will also contain Analytics Data after processing from CDRs at different levels as mentioned below:
-
Country Code specific Statistics.
-
Dial Code Specific Statistics.
-
Supplier Specific Statistics.
-
Routes / Pools specific statistics.
4.4 Rules Data:
This data set will contain both the type of Rules i.e. QoS and Cost Rules available in form of the template
as well as after being applied on different routable entities like Suppliers, Region / Dial codes, Pools etc.
Following will be the basic information contained in this data set:
Copyright © 2013 CloudBPO – All rights reserved
5
IRI (OSS) High Level Design Document
-
-
2013
Cost Based Rules
o
LCR Rules.
o
LLCR Rules.
o
Gross Margin Rules.
QoS Based Rules:
o
ACD.
o
ASR.
o
NER.
o
MOS.
o
PDD
These Rules will be applied at different level and will be used for verification by Routing and Analytics
Engine to Detect Anomalies. Following are the levels where these rules will be bonded:
-
Suppliers.
-
Countries / Dial codes.
-
Routing Stacks / Pools. ( Currently Available and implemented)
-
Routes.
4.5 Intelligent Routing Engine:
This Engine will be containing the rerouting generated as a result of Analytics; it will contain following
data entities:
-
Re-Routing Jobs.
-
Alerts Data.
4.6 Routing / Re-Routing Database:
This will be the final component of the system that will be the replica of actual Routing information on
the switch. This will be used to identify the current routing on the switch and place a Re-Routing job
after analytics in line with the current Routing.
Copyright © 2013 CloudBPO – All rights reserved
6
IRI (OSS) High Level Design Document
2013
5. Technology Selection:
We decided to develop our application on JAVA Enterprise Edition because it is open source and plat
form independent. It follows the principle of “CODE ONCE, RUN EVERYWHERE”. The users of IRI (OSS)
(Intelligent Routing in Inter-carrier (class 4) operation support systems) won’t have to buy license as we
are not developing on DOT NET.
On the back-end we could have used any database but again we did choose open source in order to
keep things simple. We are using, MySQL and HIBERNATE (ORM) in our application so that if any
customer wants to use ORACLE or MSSQL; they can use it anytime with a very small integration effort.
We are using SPRING MVC framework in Java. It actually gives us very modular approach, our services
and data access objects are written independently so that the source code of IRI (OSS) [Intelligent
Routing in Inter-Carrier (Class4), Operation Support Systems (OSS)] can be integrated and re-used
anywhere we want.
6. Architecture justification
We have 12 servers in all. Each server has its own usage.

Production Server: This is the server where our live application is running

Staging Server: This is where we keep the replica of our live system, after testing the build this is
the machine where we deploy the build, check it and then move it on the production server.

Testing Machine: A server where the Quality Assurance Team tests the software.

Development machine: The developers commit the source code and we are using this machine
to keep the source code. This is where we store the source code and we have installed SVN
Server on this machine.
We have a complete back-up of our application on the staging Server, if the system (product server)
goes down anytime we can use the staging server (because it is the replica of live machine). The same
build is working on the staging server so it is safe to use it as the back-up machine.
Copyright © 2013 CloudBPO – All rights reserved
7
IRI (OSS) High Level Design Document
2013
We will create master slave on two of our servers, we will create master on Production machine and
slave on staging machine, so that along with product we can have the data backup as well.
Copyright © 2013 CloudBPO – All rights reserved
8