Académique Documents
Professionnel Documents
Culture Documents
Submitted by
Umang Bhola
Student ID 12106010
Under the Guidance of
Dr. Poonam Saini
Arpan Chatterjee
(Faculty Coordinator)
(Industry Coordinator)
Assistant Professor
Department of Computer Science & Engineering Reservation, Distribution & Mid-Back Office
PEC University of Technology
Page 1 of 99
amadeus.com
DECLARATION
I hereby declare that the project work entitled Creating SAMOA Reporting Application for
Android Devices is an authentic record of my own work carried out at Amadeus Software
Labs Pvt. Ltd., Bengaluru as requirements of six months project semester for the award of
degree of B.E. Information Technology, PEC University of Technology, Chandigarh, under
the guidance of Arpan Chatterjee and Dr. Poonam Saini, during January to May, 2015
Umang Bhola
12106010
Date: ___________________
Certified that the above statement made by the student is correct to the best of our knowledge
and belief.
Arpan Chatterjee
(Faculty Coordinator)
(Industry Coordinator)
Assistant Professor
Department of Computer Science & Engineering Reservation, Distribution & Mid-Back Office
PEC University of Technology
Page 2 of 99
amadeus.com
ACKNOWLEDGEMENT
This project report is the end of my journey in completing the project, Creating SAMOA
Reporting Application for Android Devices. I have not traveled in a vacuum in this journey.
This project has been kept on track and been seen through to completion with the support and
encouragement of numerous people. The satisfaction that accompanies the successful completion
of this project would be incomplete without the mention of people whose ceaseless
cooperation made it possible, whose constant guidance and encouragement crown all efforts
with success.
At this moment of accomplishment, first of all I pay homage to my guide, Mr. Arpan
Chatterjee. This work would not have been possible without his guidance, support, valuable
comments and encouragement. Under his guidance I successfully overcame many difficulties
and learnt a lot. Despite of his busy schedule, he used to review my progress, give his valuable
suggestions, making substantial influences and enrich my ideas.
Im highly indebted to Ms. Ami Satyen Desai for the time she spent on helping me handle the
road blocks that appeared and help in evolving alternate strategies in coping such situations.
I also place on record, my sense of reverence to the entire Mid Back Office team at Amadeus
ranging from all Product Developers (Keerthi Narayan and Nakul Pathak), Software
developers (Sindhura Venkatesh and Pavan Gupta) for their insightful comments and
constructive criticisms, invaluable contribution to the development of application and
comprehending the work flow of existing Web application.
Lastly a sincere thanks to my college and my college mentor, Dr. Poonam Saini for giving me
the opportunity to have a delightful industrial training experience under experienced industry
experts and constantly nurturing with her academic and humane counsel, guidance and regular
monitoring. Finally, Ill like to say that I strongly believe that the experience gained during the
tenure of this project is going to go a long way with us in respective corporate future.
Umang Bhola
Page 3 of 99
amadeus.com
Table of Contents
Declaration..............................................................................................................................2
Acknowledgement...............................................................................................................3
List of Figures........................................................................................................................9
List of Tables.......................................................................................................................11
List of Abbreviations Used.........................................................................................12
Chapter I
Summary................................................................................................................................13
Chapter II
Introduction.....................................................................................................................16
2.1Project Concept............................................................................................17
2.1.1
AIMO Reporting................................................................................17
2.1.2
2.1.3
What is SAMOA21
2.1.3.1
SAMOA Overview21
2.1.3.2
Functionalities of SAMOA23
2.1.3.3
2.1.3.4
Feature of SAMOA25
2.1.3.5
2.1.3.6
Graphical Dashboard.28
Page 4 of 99
amadeus.com
2.3Application Description...............................................................................30
2.4Actors/ Users Definition...............................................................................33
Chapter III
Work.........................................................................................................................................34
3.1Walkthrough of the Application...................................................................35
3.1.1
3.1.2
3.1.3
3.1.4
Dashboard Menu37
3.1.5
3.1.6
Graphical Dashboard.43
3.1.7
Scheduling Notifications44
Technologies Used.45
3.2.1.1
3.2.1.2
Android......46
3.2.1.1.2
Development Process.48
3.2.1.1.3
Android Applications.48
3.2.1.1.4
3.2.1.1.5
Application Fundamentals.49
3.2.1.1.6
Application Workflow...50
3.2.1.1.7
Application Components.......................................52
Request Methods54
3.2.1.2.2
Page 5 of 99
amadeus.com
3.2.1.2.3
3.2.2
HTTP Annotations.55
Tools Utilized....56
3.2.2.1
Eclipse56
3.2.1.1 Introduction56
3.2.1.2 Eclipse Installation.57
3.2.2.2
Android SDK.58
3.2.2.3
3.2.2.3.2
Code Editors...60
3.2.2.4
3.2.2.5
3.2.2.6
3.2.2.7
Chapter IV
Industry..................................................................................................................................66
4.1About Amadeus............................................................................................67
4.2Company Structure......................................................................................68
4.3History..69
4.4Overview of Companys Activities..73
4.4.1
Distribution73
4.4.2
IT Solutions73
4.5Amadeus India.....74
4.6.2
Amadeus.Net..75
4.6.3
Amadeus LinkHotel...76
4.6.4
Page 6 of 99
amadeus.com
4.6.5
4.6.6
4.6.7
Other Services78
4.7Types of Customers.79
4.8Presence of Amadeus Worldwide79
4.9Amadeus Bangalore (India).80
4.9.1
Office Description..80
4.9.2
Chapter V
Review....................................................................................................................................83
5.1Project Review.............................................................................................84
5.1.1
Major Learnings.....84
5.2Company Review.........................................................................................85
Chapter VI
2015 Amadeus IT Group SA
Details of Work..................................................................................................................86
6.1Introduction..............................................................................................87
6.2Functional Aspect........................................................................................87
Page 7 of 99
amadeus.com
Chapter VII
Conclusion and Future Scope of Work...............................................................89
7.1Introduction..................................................................................................90
7.2Conclusions Drawn......................................................................................90
7.3Future Scope of Work..................................................................................92
Chapter VIII
Impediments and Suggestions..................................................................................93
8.1Introduction..................................................................................................94
8.2Impediments Encountered............................................................................94
8.3Suggestions...................................................................................................95
8.3.1
8.3.2
Chapter IX
References.............................................................................................................................97
Page 8 of 99
amadeus.com
List of Figures
INDEX
NAME
PAGE NO.
Figure 2.1
17
18
18
Figure 2.3
19
Figure 2.4
20
Figure 2.5
SAMOA Services
21
Figure 2.6
22
Figure 2.7
24
28
29
Figure 2.9
33
Figure 3.1
35
Figure 3.2
37
38
38
Figure 3.4
42
43
43
Page 9 of 99
amadeus.com
44
45
45
Android Logo
46
Figure 3.8
46
Figure 3.9
51
Figure 3.10
56
Figure 3.11
Eclipse Installation
57
Figure 3.12
61
Figure 3.13
62
Figure 3.14
63
Figure 4.1
70-73
Figure 4.2
75
Figure 4.3
79
Figure 3.7
Page 10 of 99
amadeus.com
List of Tables
NAME
PAGE NO.
Table 3.1
39
Table 3.2
40
Table 3.3
41
Table 3.4
REST Annotations
55
Table 4.1
67
Table 4.2
79
INDEX
Page 11 of 99
amadeus.com
Description
SI
Service Integrator
OBE
NAS
AIMO
SAMOA
DB
Data Base
RDM
MBO
CSV
TTR
QA
Quality Assurance
REST
SQL
PoC
Proof of Concept
ACT
PNR
SLIM
Acronym
Page 12 of 99
amadeus.com
CHAPTER I
Summary
Page 13 of 99
amadeus.com
As a Student Intern in Amadeus Software Labs, I got an opportunity to work on the project
Android Application for SAMOA. SAMOA Reporting is a web application built for Travel
agencies Mid Back office reporting needs. SAMOA refers to Service for Amadeus Mid Office
Applications.
The whole idea was to develop a native android application for this existing web application,
develop a POC. So that this idea can be taken ahead once this POC is developed.
SAMOA Services include a mlange of a number of services for the Travel Agencies, including
Invoice Services, Payment Services, and Data Exchange Services. The Key Features of the
application include Create, Modify, Delete reports templates; Batch reports processing;
Download Reports in various formats; Handle large volume of data; Search Reports etc.
The reports are generated by mainly 5 parameters namely: Destination, Start Date, End Date,
Ticket Pricing and TA collections. Using these reports, the agencies can view their business
operations and then devise strategies to streamline their business operations.
The reports are generated by the OBE, as per the data fed by the user and the records saved in the
Database pertinent to the user and the required report. The Executed reports are saved in the
NAS, which can be fetched and be viewed or downloaded by the user.
In this project, I worked mainly on three reports: Turn over Report, Top Destinations Report, and
Emergency report. The purpose of the Top 10 Destinations Report is to list the 10 most
encountered city or country code in the Booking Folder Final Destination information. The
purpose of the Emergency Report is to list the Booking folder that contains a specific Final
Destination: City or Country. The purpose of the turnover report is to give users the comparison
of daily invoiced amounts of document types INV and CRN.
The application developed provides the facility of viewing pre executed reports, saving the
criteria for reports, dashboard interface for viewing all the past activities of the User, Graphical
View of the reports data and feature of scheduling the reports.
Page 14 of 99
amadeus.com
I developed the mobile application as a Native Android Mobile App, with the UI coded in XML,
with the backend coding in Java and interacting with back end Database and NAS server through
RESTful Web Services, implemented in Java EE.
During the time spent in industry, I learnt the importance of planning, time management and
good programming practices. I was also able to get a better perspective of working of SDLC
(Software development Life Cycle) and how it forms an integral part of the company operations.
Maintaining good coding standards in your code is as important as developing a better logic for
the program. The application was developed, keeping in the mind that its operation should be
easily comprehendible by the user without much of extra effort, ease in operation and user
friendly graphical interface. The project enhanced my awareness about real-time development
and helped me in refining my programming skills.
The project report begins with the introduction of the project along with the project concept and
overview of the complete project undertaken. Then is the brief overview of the SAMOA project:
its need and importance, basic training, about the Amadeus software architecture being used in
SAMOA web application and how the same operation is emulated in my project. The importance
of mobile application development is also reflected under this part. After this, complete details
about the Tools and Technologies used for the development of the project are given. Snapshots
and explanations of the User Interface of SAMOA are described in a separate chapter.
It is followed with the industry section. It gives an insight into the Amadeus products and
services. Amadeus Software Labs has been explained in detail regarding the structure, history
and activities of the company in India.
The review section throws light on the significance of the project, importance of SAMOA
application. Its importance for the Amadeuss employees. It is followed by the details of work.
It includes the brief info about the SAMOA, what it offers, its functional aspects and scope in the
industry.
The report then concludes giving final results and future scope of the work done followed by
suggestions and Impediments related to the project semester. Bibliographical References are
mentioned in the end.
Page 15 of 99
amadeus.com
CHAPTER II
Introduction
Page 16 of 99
amadeus.com
2.1
Project Concept
The information needed for Mid-Office Processes is supplemented by following two sources:
Booking Folder
These two, with their brief working and origin have been explained below
Page 17 of 99
amadeus.com
[1]
Booking Folder:
Booking folder is the aggregate of Booking Files (ref. Figure 2.2(b)). Each Booking file (ref.
Figure 2.2(a)) represents a reservation inside or outside Amadeus. The booking files are the new
generation of PNR. Booking file contains the following sets of information:
Payment Information
(a)
(b)
Figure 2.2: (a) Structure of a Booking File (b) Structure of a Booking Folder
[2]
TTR:
The Amadeus Total Travel Record is the component centralizing access to travel and financial
data and services. The Total Travel Record contains several information such as customer
2015 Amadeus IT Group SA
Page 18 of 99
amadeus.com
It supports integrated business services needed by the travel agent to manage the travel, for a
particular customer before, during and after booking. Therefore it offers services enabling to
Page 19 of 99
amadeus.com
The Reports module is an integrated module in the AIMO product and not an independent
service.
The AIMO Reports module supports only Interactive Reporting (Synchronous processing).
The size of the report data that can be extracted is limited due to XML constraint.
Current AIMO report service cannot be integrated with any other Mid Office applications.
AIMO Reports module provides only standard set of reports to Agencies (ref. Figure 2.4)).
Page 20 of 99
amadeus.com
So the major aim is to devise a solution which provides the following functionalities:
Mimic the AIMO Reports service and make it work as a stand-alone application.
Enhance the UI to make it more user interactive and to make the report formulation criteria
more robust in long terms.
Thus with the vision of developing such a robust and independent reporting tool, SAMOA has
been developed to replicate the pre-existing current AIMO Reports Module in the SAMOA
Reports Service and to introduce the asynchronous (Batch) mode for report generation. SAMOA
is developed with the following capabilities:
SAMOA Reports Module is an independent service that can be integrated with AIMO or any
other application
SAMOA Overview
SAMOA (AIMO) reporting is a web application built for travel agencies mid office reporting
needs. It is integrated with AIMO (Amadeus Integrated Mid Office) Mid Office application as a
SAMOA (Services for Mid Office Application) service as shown on next page (Ref. Figure 2.6).
Page 21 of 99
amadeus.com
SELL Classic).
components that can be used to build a complete product solution, in combination with Front
Office and Back Office services, third party systems and appropriate graphical user interface.
(Ref. Figure 2.6).
Page 22 of 99
amadeus.com
2.1.3.2
Functionalities of SAMOA
SAMOA is a repository of Mid-Office Services. There are 2 types of SAMOA Web Services,
Standalone Services and Total Travel Record (TTR) based Services.
The Standalone Services of SAMOA are:
Profile Management
Security Management
Tax computation
Content Enrichment
Document Production
Payment Management
Reports
The TTR based services are based on a set of information such as customer reference, trip
arrangements, services, fees, payments, receipts etc. The TTR is a conglomeration of booking
folders including booking files which represents the reservations made inside or outside
Amadeus.
As per the context and scope of my project, it is of import to understand the TTR based services.
Reports are generated with respect to the data which can be accessed by TTR. The reports that
are generated by the interaction between the TTR data and the Profile Information.
Page 23 of 99
amadeus.com
2.1.3.3
The following write up presents a brief vignette of the application flow of SAMOA Reporting.
The graphic representation of the same has been given in Figure 2.7 (Ref. Figure 2.7)
Travel Agents login to SAMOA Reporting application using their LSS login credentials
GUI sends an XML request over HTTPs to the OBE service for report generation. Load
balancer distributes the application traffic across application servers
OBE service extracts data from the database, performs necessary calculations and create the
reports in CSV format at NAS location
GUI accesses the generated reports from NAS for download at client end in CSV and XLS
format.
Page 24 of 99
amadeus.com
2.1.3.4
Features of SAMOA
Templates: This feature allows the travel agent to create report templates for future use
without recreating the reporting criteria.
Batch processing: This feature allows the travel agent to submit reporting requests to a First
in First Out queue.
No limit on data volume: The application allows large volume of reports to be generated
and directly accessed from NAS
Multiple report formats: Reports can be downloaded from NAS in XLS and CSV formats.
Scheduler: Reports can be scheduled and the notification can be pushed to the user when the
report is executed. The application allows scheduling of reports at the intervals of: daily,
weekly and yearly.
Dashboard: The Dashboard contains status of report execution and schedules can be seen on
a dashboard. Reports successfully executed can be downloaded from the dashboard.
Search: This module enables the user to search for reports and templates based on name,
status of execution etc.
Page 25 of 99
amadeus.com
2.1.3.5
Though a total of around 35 reports are generated by SAMOA Reporting using the Booking
Folder and TTR repositories. But I worked majorly on 3 reports namely: Emergency Report, Top
10 Destinations Report and Turnover Report. So I will be presenting a concise implication and
implementation of these three reports:
[1]
The purpose of the Top 10 Destinations Report is to list the 10 most encountered city or country
codes in the Booking Folder Final Destination information.
The Report scans information from the General Information section of the Booking Folders,
which can be modified by the user.
The user can limit the Report by specifying a country code in the List field to see the Top 10
Cities most visited in the country.
The User is provided with following options pertaining to the Top 10 Destinations Report:
Save: User can create a Top 10 Destinations report Template for future use.
Submit: User can execute a Top 10 Destinations Report.
Save & Submit: User can create and execute a Top 10 Destinations report Template at the same
time.
Delete: Delete button will be hidden. Deletion is not allowed at Standard Report Type level.
Schedule: Schedule the report for future for execution.
User can either create a Top 10 Destinations Report Template for future use or can execute a Top
10 Destinations Report.
Page 26 of 99
amadeus.com
[2]
The purpose of the Turn over Report is to get the turnover of a given Travel Agent for a given
time span using the data from the Financial Information from the Booking folder corresponding
to that agent.
The User is provided with following options pertaining to the Turn over Report:
Save: User can create a Turn over Report Template for future use.
Submit: User can execute a Turn over Report
Save & Submit: User can create and execute a Turn over Report Template at the same time.
Delete: Delete button will be hidden. Deletion is not allowed at Standard Report Type level.
Schedule: Schedule the report for future for execution.
User can either create a Turn over Report Template for future use or can execute a Turn over
Report.
[3]
Emergency Report
The purpose of the Emergency Report is to get the number of bookings made for a particular
IATA code corresponding to an airport, city or a country for a given date range.
The Report scans information from the General Information section of the Booking Folders,
which can be modified by the user.
The User is provided with following options pertaining to the Emergency Report:
Save: User can create an Emergency Report Template for future use.
Submit: User can execute an Emergency Report
Save & Submit: User can create and execute an Emergency Report Template at the same time.
Delete: Delete button will be hidden. Deletion is not allowed at Standard Report Type level.
Schedule: Schedule the report for future for execution.
Page 27 of 99
amadeus.com
User can either create an Emergency Report Template for future use or can execute an
Emergency Report.
2.1.3.6
Graphical Dashboard
The purpose of this requirement is to include Charts for few of the report types. The Charts add
more value to the business by providing real time information, using graphics, and enhance
decision making capabilities of the user.
The Charts or graphs exist for Top 10 Destinations Report, Payment Report, and Emergency
Report (Ref. Figure 2.8(a) for Travel Agency Report Graph and Figure 2.8(b) for Top 10
Destinations Report)
The reports identified have a chart type defined and allow user to modify criteria, generate charts
in real time and save those as well.
The user is allowed to zoom-in, zoom-out, save, and print the chart. The user is also able to
paginate through the report details.
Amount in EUR
25000.00
20000.00
15000.00
Commission
Fee
10000.00
Fare
5000.00
0.00
7/1/2015
8/1/2015
9/1/2015
Date
10/1/2015 11/1/2015
Page 28 of 99
amadeus.com
2.2
The idea of development of an Android Application for SAMOA Reporting was brainchild of the
MBO Amadeus Global Head, Jerome Daniel, who in interaction with the MBO Bangalore head,
Sharma Rajasekra had contemplated to develop mobile application for SAMOA.
The main motive of the project was basically to chalk out a POC for the same which can serve as
a citation for the full-fledged development whenever this project is undertaken in the future the
reasons for the development of a mobile application for an existing web based applications are
quite blatant.
The ubiquitousness of the mobile phones is a well evident reason for this strategy. Nearly
2015 Amadeus IT Group SA
everyone has a cellphone, and smartphones are becoming commonplace, so it will claim we are
just following their customers
The mobile applications pave a way for direct engaging with the customers which can help to
revolutionize the business in a multifarious manner. With the growth of mobile technology
Page 29 of 99
amadeus.com
comes a large increase in transaction volume -- from status updates to content downloads and
collaboration. As a result, an app that starts small can wind up swamping an organization's
network, database, and budget.
Enabling collaborative app development opens business to new opportunities. Organizations are
increasingly seeking agile platforms that will allow them to interact with a wide range of endusers and provide tools for collaborative application development. Whatever platform is used, it
should enable developers to build powerful, differentiated mobile apps that will be compatible
with a variety of different devices and operating systems - from iOS to BlackBerry and Android.
The Mobile Application for SAMOA also presents a dual benefit both for the company and the
end user. The end user- Travel agents can view their reports even on fly, the facility of
scheduling of reports can push them notifications via their phones, thus keeping them privy with
their business situations at all points of time
Secondly, The Mobile Application once crystallized can be integrated with AIMO and other
Mid-Office applications, thus serving a promising source of revenue for the company. The
Architectural changes also help it to handle even large volume of data in reports. The application
once developed for one mobile operating system (Android) can be extended to other operating
systems (iOS, Windows, Blackberry) as well.
2.3
Application Description
SAMOA Reporting is an Android application, developed for travel agencies which allows them
to generate templates and view the reports which are critical for their business operations. The
user will not be exposed to the back-end processing that occurs among the NAS, OBE and the
database server. The user will be able to view his past activity of the reports generated and
executed in the dashboard. The facility of Graphical Dashboard allows him to view charts for the
various reports.
Since, Due to the time constraint of the project timeline, the user is only able to read the pregenerated reports, but he is not able to execute the reports currently
The template creation facility is provided for three reports namely: Top 10 Destinations Report,
Turnover Report, and Emergency Report.
The features of the mobile application formulated are listed below:
Page 30 of 99
amadeus.com
Saving Report:
User is able to save the report template by adding the criteria credentials for a given report
into the database.
The details can be further used to execute the template and then generate a report matching
the criteria details, once the application is provided with the link to the OBE.
Dashboard:
The home page of the application consists of a Dashboard which contains status of report
execution history of the particular user. It will contain all the details for the report including
its Batch ID, Office Id, Date and time of submission, Family of report for which the reports
have generated in past.
Every report will also provide an option to view the template details for the report and also
view the report contents, which is stored in the NAS Server after generation by the OBE
Read a Report:
The user is able to read any report whichever he has generated in the past. Unlike SAMOA
Web Application, where the user is able to download the reports in XLS or CSV format as
per his convenience, the same feature is not available in the mobile application because of the
fact in order to view the XLS report, it will require office suite to be pre-installed on the
device, which cant always be the case.
Hence, the report contents are parsed and then viewed to the user in a list view of tabular
view as per the category of the report selected by the user.
Hence in order to counter this problem, the application is provided with the facility of
graphical view for the contents of the report like the Graphical Dashboard in the web
application. The charts or the graphs are generated from the contents of the report that is
being read.
Page 31 of 99
amadeus.com
The user is allowed to zoom-in, zoom-out, save, and print the chart. The user is also able to
paginate through the report details.
The auxiliary feature that is added in case of Top 10 Destinations Report is the map view for
the reports. Suppose a user selects the Top 10 Countries that are users preference for a pre
specified date range, the countries are located on the map.
The user can go into the details of the countries, viewing the number of passengers opting for
that destination and is also allowed to zoom through the view.
LSS Authentication:
The application provides a secure and encrypted authentication mechanism, LSS based
authentication. LSS based log-in mechanism is an Amadeus proprietary method.
Only the users provided with user name, Agent ID, Office ID, Organization and password
will be able to login and the authentication will be done by dedicated LSS Servers. Hence, it
provides a method of securing critical information that cant be unduly accessed by someone
unauthorized.
Report Scheduler:
One more feature that is provided in the application is very important for the payment critical
reports, where the user is given a chance to schedule a given report for future. The scheduling
report can be comprehended by understanding the fact that SAMOA provides a facility for
Batch or Asynchronous processing of Reports.
Thus when a user dockets a particular report for a provided time interval i.e. daily or weekly.
The respective report for the corresponding criteria details is added to the wait queue for
processing. Whenever the processing is completed, the generated report is pushed to the NAS
folder corresponding to the logged in Office ID.
Meanwhile, after the lapse of the preset time interval, the user gets a notification that the
report requested has been generated and loaded to NAS. The notification when clicked
redirects the user to the application where he can view the contents of the freshly generated
report and also can view it graphically as per his wish, the way he wants to see the report
Page 32 of 99
amadeus.com
2.4
Actors/Users Definition
The end user of the application will be the user of the application, the travel agents who will use
this application for reporting purposes, who will login into the application with LSS credentials.
They will be able to save templates, retrieve templates, view submitted reports, schedule reports
and generate graphical representations of the submitted reports. They will get a timely
notification for the execution of the report if they have scheduled the report to be executed in
future. The notification will further redirect them to the freshly generated report and its
corresponding graph.
Page 33 of 99
amadeus.com
CHAPTER III
Work
Page 34 of 99
amadeus.com
3.1
This section presents a logical and the functional view of the Reporting Application developed.
Travel Agents login to SAMOA Reporting application using their LSS login credentials. The
credentials are sent to the LSS Server in the back end through HTTP calls made via RESTful
Web Services which provide a bridge between the Android Interface (API) and the back end
server.
The report template that is saved by the user has its data pushed to the SQL Server Database
through Web Service calls.
Page 35 of 99
amadeus.com
GUI accesses the generated reports from NAS for viewing at the client end in list or tabular
format.
The Dashboard contents are retrieved by the database and NAS interaction with the use of
logged in credentials
The Graphical View is generated with respect to the report data and charts are generated by
the use of Google Charts API.
LSS Managed
After successful authentication, a Session ID is generated after which the user gets the access
to the application
The Dashboard further generated is intertwined with the Username and Office ID fields of
the Login Module, because they are interacting entities with the SQL Server and NAS.
Page 36 of 99
amadeus.com
Page 37 of 99
amadeus.com
Figure 3.3 (b): Screenshot of the template page for any report
Page 38 of 99
amadeus.com
3.1.5.1
Input Criteria
The criteria details that are used for the execution of these reports are mentioned below:
[1] Top 10 Destinations Report:
The Top10 Destinations Report Template creation can be instantiated from the Top10
Destinations Report criteria page (Standard Report Type) or any of the existing Templates
(Standard Report Templates). The Top10 Destinations report would have the following input
criteria for Template Creation.
Sr. No
Input Criteria
Standard Report Type
Name
Office
Country
(All or List)
Business Need
This determines the standard
Query/XML structure and the
output that would be generated
To be able to provide a name
to the Standard Report
Template
To specify the Booking Folder
Start date range (user- defined)
To specify the Booking Folder
End date range (user- defined)
Currently Login Office id.
System defaulted value. Blank
value is not allowed.
List the Top 10 destination
Countries or Top 10 cities in a
Country in the report
Mandatory /
Optional
Defined Value
M (Auto-populated
based on selection)
Ex: Top 10
Destinations
Mandatory
Ex: Top 10
Destinations in
France
Ex: 27/03/2013
27/04/2013
** M
Ex: 27/03/2013
27/04/2013
M (Pre-populated
with the Login
office id)
Ex: STO1A2200
Mandatory
Ex: All
Page 39 of 99
amadeus.com
Mandatory /
Optional
Defined Value
M (Autopopulated
based on
selection)
Name
To be able to provide a
name to the Standard
Report Template
Mandatory
Ex: sample1
** M (Prepopulated with
the current
system date)
** M
Office ID
M (Prepopulated with
the Login
office id)
Ex: STO1A2200
Agent
Mandatory
Ex: ANR2015
Sr. No
Input Criteria
Page 40 of 99
amadeus.com
Mandatory
/ Optional
Defined Value
M (Autopopulated
based on
selection)
Name
To be able to provide a
name to the Standard Report
Template
Mandatory
Ex: Report_Umang
** M (Prepopulated
with the
current
system date)
** M
Ex: STO1A2200
Sr. No.
Input Criteria
Office
M (Prepopulated
with the
Login office
id)
IATA Code
Mandatory
Page 41 of 99
amadeus.com
3.1.5.2
Process
The web service call to the database is invoked when the user decides to create a Template. The
data for the criteria is pushed into the respective tables in the database.
The values defined for the criteria are validated as per validations. On successful validation the
Template is created.
3.1.5.3
Output
The Report Template is created and is available for use in the Dashboard panel. A new Template
is created when the user performs Save or Save & Submit action on the criteria page of the
corresponding report
Figure 3.4: Screenshot of Save Report page for Top 10 Destinations Report
Page 42 of 99
amadeus.com
Figure 3.5 (a): Pie Chart generated for Top 10 Destinations Report
Figure 3.5 (b): Map based View generated for Top 10 Destinations Report
Page 43 of 99
amadeus.com
Emergency Report
4.5
4
4
3.5
3
2.5
2
2
1.5
1
1
0.5
0
6/20/2015
6/21/2015
6/22/2015
Date
6/23/2015
6/24/2015
proposes the reports to be scheduled then, he selects the button and he moves to the scheduling
window.
Page 44 of 99
amadeus.com
The reports which are then generated in the NAS at the defined time interval will be then
retrieved from the NAS and their presence is also reflected in the dashboard panel as well. The
user then can view the newly generated report and also its contents on a periodic basis of time.
3.2
Android software development is the process by which new applications are created for the
Android operating system. Applications are usually developed in Java programming language
using the Android software development kit (SDK), but other development environments are
also available.
Page 45 of 99
amadeus.com
3.2.1.1.1
Android
Android (Ref. Figure 3.7) is an operating system based on the Linux kernel with a user interface
developed by Google (Ref. Figure 3.8), primarily for touchscreen mobile devices such
as smartphones and tablet computers.
The Android OS was originally created by Android, Inc., which was bought by Google in 2005.
Google teamed up with other companies to form the Open Handset Alliance (OHA), which is
responsible for the continued development of the Android OS.
Page 46 of 99
amadeus.com
Android is an open-source software stack for a wide range of mobile devices and a
corresponding open-source project led by Google. Here you can find the information and source
code you need to learn more about the Android platform. From there you can create custom
variants of the Android software stack, port devices and accessories to the Android platform, and
ensure your devices are compatible with the Android compatibility definition.
Android delivers a complete set of software for mobile devices: an operating system, middleware
and key mobile applications.
Open
Android was built from the ground-up to enable developers to create compelling mobile
applications that take full advantage of all a handset has to offer. It was built to be truly open.
For example, an application can call upon any of the phones core functionality such as making
calls, sending text messages, or using the camera, allowing developers to create richer and more
cohesive experiences for users. Android is built on the open Linux Kernel. Furthermore, it
utilizes a custom virtual machine that was designed to optimize memory and hardware resources
in a mobile environment. Android is open source; it can be liberally extended to incorporate new
cutting edge technologies as they emerge. The platform will continue to evolve as the developer
community works together to build innovative mobile applications.
Android does not differentiate between the phones core applications and third-party
applications. They can all be built to have equal access to a phones capabilities providing users
with a broad spectrum of applications and services. With devices built on the Android Platform,
users are able to fully tailor the phone to their interests. They can swap out the phone's home
screen, the style of the dialer, or any of the applications. They can even instruct their phones to
use their favorite photo viewing application to handle the viewing of all photos.
Page 47 of 99
amadeus.com
Android breaks down the barriers to building new and innovative applications. For example, a
developer can combine information from the web with data on an individuals mobile phone
such as the users contacts, calendar, or geographic location to provide a more relevant user
experience. With Android, a developer can build an application that enables users to view the
location of their friends and be alerted when they are in the vicinity giving them a chance to
connect.
Android provides access to a wide range of useful libraries and tools that can be used to build
rich applications. For example, Android enables developers to obtain the location of the device,
and allows devices to communicate with one another enabling rich peertopeer social
applications. In addition, Android includes a full set of tools that have been built from the ground
up alongside the platform providing developers with high productivity and deep insight into their
applications.
3.2.1.1.2
Development Process
Developing Android applications is a pleasant and rewarding endeavor. To convert ideas into
products we use ADT (Android Development Toolkit), the form of Eclipse integrated
development environment (IDE) used to develop android applications. With ADT ne can
organize and edit source files, view documentation, build application, debug code and optimize
applications performance.
3.2.1.1.3
Android Applications
Android applications are usually developed in the Java language using the Android Software
Development Kit. Once developed, Android applications can be packaged easily and sold out
either through a store such as Google Play or the Amazon Appstore.
Android powers hundreds of millions of mobile devices in more than 190 countries around the
world. It's the largest installed base of any mobile platform and growing fast. Every day more
than 1 million new Android devices are activated worldwide.
Page 48 of 99
amadeus.com
3.2.1.1.4
3.2.1.1.5
Application Fundamentals
Android apps are written in the Java programming language. The Android SDK tools compile
your codealong with any data and resource filesinto an APK: an Android package, which is
an archive file with an .apk suffix. One APK file contains all the contents of an Android app and
is the file that Android-powered devices use to install the app.
Once installed on a device, each Android app lives in its own security sandbox:
The Android operating system is a multi-user Linux system in which each app is a different
user.
By default, the system assigns each app a unique Linux user ID (the ID is used only by the
system and is unknown to the app). The system sets permissions for all the files in an app so
that only the user ID assigned to that app can access them.
Each process has its own virtual machine (VM), so an app's code runs in isolation from other
apps.
By default, every app runs in its own Linux process. Android starts the process when any of
the app's components need to be executed, then shuts down the process when it's no longer
needed or when the system must recover memory for other apps.
Page 49 of 99
amadeus.com
In this way, the Android system implements the principle of least privilege. That is, each app, by
default, has access only to the components that it requires to do its work and no more. This
creates a very secure environment in which an app cannot access parts of the system for which it
is not given permission.
However, there are ways for an app to share data with other apps and for an app to access system
services:
It's possible to arrange for two apps to share the same Linux user ID, in which case they are
able to access each other's files. To conserve system resources, apps with the same user ID
can also arrange to run in the same Linux process and share the same VM (the apps must also
be signed with the same certificate).
An app can request permission to access device data such as the user's contacts, SMS
messages, the mountable storage (SD card), camera, Bluetooth, and more. All app
permissions must be granted by the user at install time.
3.2.1.1.6
Application Workflow
The basic steps for developing applications (with or without Android Studio) are shown in
Figure 3.9 (Ref. Figure 3.9). The development steps encompass four development phases, which
include:
Environment Setup
During this phase we install and set up your development environment. We also create Android
Virtual Devices (AVDs) and connect hardware devices on which we can install our applications.
During this phase we set up and develop our Android Studio project and application modules,
which contain all of the source code and resource files for our application.
During this phase we build our project into a debuggable .apk package(s) that we can install and
run on the emulator or an Android-powered device. Android Studio uses a build system based on
Gradle that provides flexibility, customized build variants, dependency resolution, and much
Page 50 of 99
amadeus.com
more. If we are using another IDE, we can build our project using Gradle and install it on a
device using adb.
Next, with Android Studio we debug our application using the Android Device Monitor and
device log messages (logcat) along with the IntelliJ IDEA intelligent coding features.
Last, we test our application using various Android SDK testing tools.
Publishing
During this phase we configure and build our application for release and distribute our
application to users.
Page 51 of 99
amadeus.com
3.2.1.1.7
App Components
App components are the essential building blocks of an Android app. Each component is a
different point through which the system can enter your app. Not all components are actual entry
points for the user and some depend on each other, but each one exists as its own entity and plays
a specific roleeach one is a unique building block that helps define your app's overall
behavior.
There are four different types of app components. Each type serves a distinct purpose and has a
distinct lifecycle that defines how the component is created and destroyed. Here are the four
types of app components:
Activities
An activity represents a single screen with a user interface. For example, an email app might
have one activity that shows a list of new emails, another activity to compose an email, and
another activity for reading emails. Although the activities work together to form a cohesive user
experience in the email app, each one is independent of the others. As such, a different app can
start any one of these activities (if the email app allows it). For example, a camera app can start
the activity in the email app that composes new mail, in order for the user to share a picture.
An activity is implemented as a subclass of Activity.
Services
such as an activity, can start the service and let it run or bind to it in order to interact with it.
A service is implemented as a subclass of Service.
Page 52 of 99
amadeus.com
Content providers
A content provider manages a shared set of app data. You can store the data in the file system, an
SQLite database, on the web, or any other persistent storage location your app can access.
Through the content provider, other apps can query or even modify the data (if the content
provider allows it). For example, the Android system provides a content provider that manages
the user's contact information. As such, any app with the proper permissions can query part of
the content provider (such as ContactsContract.Data) to read and write information about a
particular person.
A content provider is implemented as a subclass of ContentProvider and must implement a
standard set of APIs that enable other apps to perform transactions.
Broadcast receivers
3.2.1.2
REST describes a set of architectural principles by which data can be transmitted over a
standardized interface (such as HTTP). The acronym REST stands for Representational State
Transfer, this basically means that each unique URL is a representation of some object.
Page 53 of 99
amadeus.com
REST asks developers to use HTTP methods explicitly and in way thats consistent with protocol
definition. This basic REST design principle establishes a one-to-one mapping between create,
read, update, and delete (CRUD) operations and HTTP methods. According to this mapping:
3.2.1.2.1
Request methods
GET
The GET method requests a representation of the specified resource. Requests using GET should
only retrieve data and should have no other effect. (This is also true of some other HTTP
methods.) The W3C has published guidance principles on this distinction, saying, "Web
application design should be informed by the above principles, but also by relevant limitations.
POST
The POST method requests that the server accept the entity enclosed in the request as a new
subordinate of the web resource identified by the URI. The data POSTed might be, for example,
an annotation for existing resources; a message for a bulletin board, mailing list, or comment
thread; a block of data that is the result of submitting a web form to a data-handling process; or
an item to add to a database.
PUT
The PUT method requests that the enclosed entity be stored under the supplied URI. If the URI
refers to an already existing resource, it is modified; if the URI does not point to an existing
resource, then the server can create the resource with that URI.
DELETE
The DELETE method deletes the specified resource.
Page 54 of 99
amadeus.com
3.2.1.2.2
RESTful Web services are well suited for providing content to small footprint devices like
smartphones and tablets. In fact, if you've interacted with any cloud-based APIs in the last couple
of years, there is a strong chance that API was exposed via a REST interface. Calling a REST
endpoint from within an Android application requires pushing an HTTP request to the
background thread and then parsing the results on the UI thread.
3.2.1.2.3
HTTP Annotations
Annotations are like meta-tags that you can add to the code and apply to package declarations,
type declarations, constructors, methods, fields, parameters, and variables. They provide helpful
ways to indicate whether the methods are dependent on other methods, whether they are
incomplete, whether the classes have references to other classes, and so on.
Annotation
Description
Sets the path to base URL + /your_path. The base
@PATH(your_path)
URL is based on your application name, the servlet
and the URL pattern from web.xml configuration file.
Indicates that the following method will answer to an
@POST
HTTP POST request.
Indicates that the following method will answer to an
@GET
HTTP GET request.
Indicates that the following method will answer to an
@PUT
HTTP PUT request.
Indicates that the following method will answer to an
@DELETE
HTTP DELETE request.
@Produces defines which MIME type is delivered by
@Produces(MediaType.TEXT_PLAIN a method annotated with @GET. In the example text
[,more-types])
(text/plain) is produced. Other examples would be
application/xml or application/json.
@Consumes defines which MIME type is consumed
@Consumes(type[, more-types])
by this method.
Used to inject values from the URL into a method
@Path PARAM
parameter. This way you inject, for example, the ID of
a resource into the method to get the correct object.
Table 3.4: REST Annotations
Page 55 of 99
amadeus.com
Eclipse
Eclipse Java EE was used as an IDE for the development of the mobile application throughout
the timeline of the project. Preferring Eclipse over Android Studio was due to the fact that
Eclipse is more convenient to use and development in Java EE perspective offers a dual
advantage of server end development together only as the application involved a great deal of
interaction with the back end servers.
3.2.2.1.1
Introduction
Java and Scala, Eclipse CDT for C/C++ and Eclipse PDT for PHP, among others.
Page 56 of 99
amadeus.com
3.2.2.1.2
Eclipse Installation
Installing Eclipse is relatively easy, but does involve a few steps and software from at least two
different sources. Eclipse is a Java-based application and, as such, requires a Java runtime
environment (JRE) in order to run.
Install a JVM
Regardless of your operating system, you will need to install some Java virtual machine (JVM).
You may either install a Java Runtime Environment (JRE), or a Java Development Kit (JDK),
depending on what you want to do with Eclipse. If you intend to use Eclipse for Java
development, then you should install a JDK (the JDK includes--among other useful things--the
source code for the standard Java libraries). If you aren't planning to use Eclipse for Java
development and want to save some disk space, install a JRE.
The download will be delivered as a compressed (i.e. a ".zip", or ".tar.gz") file. Decompress this
file into the directory of your choice (e.g. "c:\Program Files\Eclipse" on Windows). We can
optionally create a shortcut of the executable file ("eclipse.exe" on Windows, or "eclipse" on
Linux).Expand
the
ZIP
file
into
the
root
of
your
hard
drive.
When done, if hard drive root is the C:\ drive then we will have the following folder on the hard
drive:
Page 57 of 99
amadeus.com
3.2.2.2
Android SDK
The Android software development kit (SDK) includes a comprehensive set of development
tools. These include a debugger, libraries, a handset emulator based on QEMU, documentation,
sample code, and tutorials. Currently supported development platforms include computers
running Linux (any modern desktop Linux distribution), Mac OS X 10.5.8 or later, and Windows
XP or later. As of March 2015, the SDK is not available on Android itself, but the software
development is possible by using specialized Android applications.
Until around the end of 2014, the officially supported integrated development environment (IDE)
was Eclipse using the Android Development Tools (ADT) Plugin, though IntelliJ IDEA IDE (all
editions) fully supports Android development out of the box, and Net Beans IDE also supports
Android development via a plugin. As of 2015, Android Studio, made by Google and powered
by IntelliJ, is the official IDE; however, developers are free to use others. Additionally,
developers may use any text editor to edit Java and XML files, then use command line tools
(Java Development Kit and Apache Ant are required) to create, build and debug Android
applications as well as control attached Android devices (e.g., triggering a reboot, installing
software package(s) remotely).
Enhancements to Android's SDK go hand in hand with the overall Android platform
development. The SDK also supports older versions of the Android platform in case developers
wish to target their applications at older devices. Development tools are downloadable
components, so after one has downloaded the latest version and platform, older platforms and
tools can also be downloaded for compatibility testing.
Android applications are packaged in .apk format and stored under /data/app folder on the
Android OS (the folder is accessible only to the root user for security reasons). APK package
contains .dex files (compiled byte code files called Dalvik executables), resource files, etc.
3.2.2.3
Android Development Tools (ADT) is a Google-provided plugin for the Eclipse IDE that is
designed to provide an integrated environment in which to build Android applications. ADT
extends the capabilities of Eclipse to let developers set up new Android projects, create an
Page 58 of 99
amadeus.com
application UI, add packages based on the Android Framework API, debug their applications
using the Android SDK tools, and export signed (or unsigned) .apk files in order to distribute
their applications.
One should install the ADT plugin only if one already have an Eclipse installation that one want
to continue using. The existing Eclipse installation must meet these requirements:
Eclipse 3.7.2 (Indigo) or greater. Eclipse 3.6 (Helios) is no longer supported with the latest
version of ADT.
3.2.2.3.1
Many of the tools that can start or run from the command line are integrated into ADT. They
include:
Traceview: Allows to profile program's execution (Window > Open Perspective >
Traceview).
android: Provides access to the Android SDK Manager and AVD Manager.
Other android features such as creating or updating projects (application and library) are
integrated throughout the Eclipse IDE.
Pixel Perfect: Allows to closely examine UI to help with designing and building. (Window >
Open Perspective > Pixel Perfect).
DDMS: Provides debugging features including: screen capturing, thread and heap
information, and logcat (Window > Open Perspective > DDMS).
Page 59 of 99
amadeus.com
adb: Provides access to a device from the development system. Some features of adb are
integrated into ADT such as project installation (Eclipse run menu), file transfer, device
enumeration, and logcat (DDMS).
ProGuard: Allows code obfuscation, shrinking, and optimization. ADT integrates ProGuard
as part of the build, if enabled.
3.2.2.3.2
Code Editors
In addition to Eclipse's standard editor features, ADT provides custom XML editors to help
create and edit Android manifests, resources, menus, and layouts in a form-based or graphical
mode. Double-clicking on an XML file in Eclipse's package explorer opens the appropriate XML
editor.
In addition, some special file types that don't have custom editors, such as drawables,
animations, and color files offer editing enhancements such as XML tag completion. ADT
provides the following custom, form-based XML editors:
Graphical Layout Editor
Edit and design your XML layout files with a drag and drop interface. The layout editor renders
interface as well, offering a preview as we design your layouts. This editor is invoked when we
Page 60 of 99
amadeus.com
Page 61 of 99
amadeus.com
3.2.2.4
Apache Tomcat, often referred to as Tomcat, is an open-source web server and servlet
container developed by the Apache Software Foundation (ASF). Tomcat implements several
Java EE specifications including Java Servlet, JavaServer Pages (JSP), Java EL, and WebSocket,
and provides a "pure Java" HTTP web server environment for Java code to run in.
Tomcat is developed and maintained by an open community of developers under the auspices of
the Apache Software Foundation, released under the Apache License 2.0 license, and is opensource software.
In web development, Apache HTTP server is used in order to provide the backbone of multiple
websites by processing the requests of the clients. While the HTTP server delivers the webpages
to the end user, Tomcat is the tool that provides servlet support in order to add dynamic content
to the server.
If we are creating a website that also includes Java code and applets, this application can help the
web server run them instead of running in the users Internet browser. This greatly improves the
reliability of the application and the response time for the end user.
Page 62 of 99
amadeus.com
3.2.2.5
Figure 3.14: Client Side Interface interact with the Database Server
Page 63 of 99
amadeus.com
3.2.2.6
The Google Chart API is a tool that helps to create a chart from some data and embed it in a
web page. Google creates a PNG image of a chart from data and formatting parameters in an
HTTP request. Many types of charts are supported, and by making the request into an image tag,
people can simply include the chart in a web page.
Originally it was an internal tool to support rapid embedding of charts within Google's own
applications (like Google Finance for example). Google figured it would be a useful tool to open
up to web developers. It officially launched on December 6, 2007.
Currently, line, bar, pie, and radar charts, as well as Venn diagrams, scatter plots, sparklines,
maps, google-o-meters, and QR codes are supported.
The most common way to use Google Charts is with simple JavaScript that is embedded in the
web page. We load some Google Chart libraries, list the data to be charted, select options to
customize the chart, and finally create a chart object with an id that is chosen. Then, later in the
web page, we create a <div> with that id to display the Google Chart.
Using the Google Chart API in Android
The API can be used in Android with the help of loading the Java Script Interface in the Web
View, by adding the URL of the Java Script page. The div element of the Java Script is then
loaded when the transfer is rendered to the Web View.
The parameters used to draw the graphs or charts are passed to the .html file using
loadNumber(), loadString() methods. In order to use this API, Java Script should be enabled in
Page 64 of 99
amadeus.com
3.2.2.7
An Android Virtual Device (AVD) is an emulator configuration that lets to model an actual
device by defining hardware and software options to be emulated by the Android Emulator.
The easiest way to create an AVD is to use the graphical AVD Manager, which we launch from
Android Studio by clicking Tools > Android > AVD Manager. We can also start the AVD
Manager from the command line by calling the android tool with the avd options, from the
<sdk>/tools/ directory.
The AVD Manager is a tool you can use to create and manage Android virtual devices (AVDs),
which define device configurations for the Android Emulator.
An AVD consists of:
A hardware profile: Defines the hardware features of the virtual device. For example, you
can define whether the device has a camera, whether it uses a physical QWERTY keyboard
or a dialing pad, how much memory it has, and so on.
A mapping to a system image: You can define what version of the Android platform will
run on the virtual device. You can choose a version of the standard Android platform or the
system image packaged with an SDK add-on.
Other options: You can specify the emulator skin you want to use with the AVD, which lets
you control the screen dimensions, appearance, and so on. You can also specify the emulated
SD card to use with the AVD.
A dedicated storage area on your development machine: the device's user data (installed
applications, settings, and so on) and emulated SD card are stored in this area
Page 65 of 99
amadeus.com
CHAPTER IV
Industry
Page 66 of 99
amadeus.com
4.1
About Amadeus
Industry
Travel technology
Founded
1987
Headquarters
Madrid, Spain
Key people
Services
travel
companies software
systems
which
automate
processes
such
as
Page 67 of 99
amadeus.com
stages of domestic and international travel and include technologies that cover itinerary planning,
fare-searching, reservations, ticketing, airlines schedule and inventory control, passenger checkin and departure control and certain post-travel solutions.
Amadeus Software Labs India Private Limited has been a pioneer in providing a global platform
to the Indian Travel industry by enabling access to state of the art travel automation technology.
Over the years Amadeus India Private Limited has introduced the Indian travel industry to the
latest and most technically advanced automated products available in international market. With
systems and software solutions to simplify travel management, Amadeus India provides
complete IT enabled services for the travel and tourism industry.
Indias leading travel booking websites e.g. Yatra.com, makemytrip.com are currently using
Amadeus products.
4.2
Company Structure
The company is structured around two areas: its global distribution system and its IT
Solutions business area. Acting as an international network, Amadeus provides search, pricing,
booking, ticketing and other processing services in real-time to travel providers and travel
agencies through its Amadeus CRS distribution business area. Through its IT Solutions business
area, it also offers travel companies software systems which automate processes such as
reservations, inventory management and departure control. The group, which processed 850
million billable travel transactions in 2010, services customers including airlines, hotels, tour
operators, insurers, car rental and railway companies, ferry and cruise lines, travel agencies and
individual travelers directly.
The parent company of Amadeus IT Group, holding over 99.7% of the firm, is Amadeus IT
Holding S.A., which is listed on the Spanish stock exchanges as of 29 April 2010 and trades
under the symbol AMS. For the year ended 31 December 2012, the company reported revenues
of 2.910 billion and EBITDA of 1.108 billion.
Amadeus has central sites in Madrid, Spain (corporate headquarters and marketing), Sophia
Antipolis, France
(product
processing
center)
Page 68 of 99
amadeus.com
lab)
as
well
as
regional
offices
in Bangkok, Buenos
Aires, Dubai, Miami and Sydney. At market level, Amadeus maintains customer operations
through 173 local Amadeus Commercial Organizations (ACOs) covering 195 countries. The
Amadeus group employs 10,170 employees worldwide.
4.3
History
Amadeus was originally created as a neutral global distribution system (GDS) by Air
France, Iberia, Lufthansa and SAS in 1987 in order to connect providers' content with travel
agencies and consumers in real time. The creation of Amadeus was intended to offer a European
alternative to Sabre, the American GDS. The first Amadeus system was built from core
reservation system code coming from System One, an American GDS that competed
with Sabre but went bankrupt, and a copy of the Air France pricing engine. These systems were
respectively running under IBMTPF and Unisys. At the beginning of Amadeus, the Amadeus
systems were functionally dedicated to airline reservation and centered on the PNR (Passenger
Name Record), the passenger's travel file. Throughout the years, the PNR was opened up to
additional travel industries (hotels, rail, cars, cruises, ferries, insurance, etc.).
Although established initially as a private partnership, Amadeus went public in October 1999,
becoming listed on the Paris, Frankfurt and Madrid stock exchanges. Progressively and in line
with industry evolution, Amadeus diversified its operations by focusing on information
technologies (IT) to deliver services spanning beyond sales and reservation functionalities,
centered on streamlining the operational and distribution requirements of its customer base.
In 2000, Amadeus received an ISO 9001:2000 quality certification the first GDS Company to
do so. [Since 2004, the company has invested 1 billion in R&D] and Amadeus's technology has
increasingly embraced open systems which provide clients with more flexibility and features, as
well as other benefits. Today, 85% of its software portfolio is open system based. In 2005,
Amadeus was delisted from the Paris, Frankfurt and Madrid stock exchanges when BC
Partners and Cinven bought their stake from three of the four founding airlines and the rest of the
capital floated from institutional and minority shareholders. The transition from distribution
system to technology provider was reflected by the change in its corporate name in 2006, when
the company name was changed to Amadeus IT Group. In 2009, Amadeus invested about 257
Page 69 of 99
amadeus.com
million in R&D. Amadeus is again listed on the Spanish Stock Exchanges as of 29 April 2010
(AMS). Throughout the years, Amadeus acquired:
SMART AB, a travel distribution company in Northern Europe.
Opodo, a European travel website which it sold on February 2011 for 450 million.
(.cont.)
Page 70 of 99
amadeus.com
(.cont.)
Page 71 of 99
amadeus.com
(..cont.)
Page 72 of 99
amadeus.com
4.4
The Amadeuss activities can be broadly classified into two major domains: Distribution and IT
Solutions.
4.4.1 Distribution
Amadeus CRS is the largest GDS provider in the worldwide travel and tourism industry, with an
estimated market share of 37% in 2009. This position permits Amadeus to offer distribution
reach for global and local travel content. As of December 2010, over 90,000 travel agencies
worldwide use the Amadeus system and 58,000 airline sales offices use it as their internal sales
and reservations system. Amadeus gives access to bookable content from 435 airlines (including
60 low cost carriers), 29 car rental companies (representing 36,000 car rental locations), 51
cruise lines and ferry operators, 280 hotel chains and 87,000 hotels, 200 tour operators, 103 rail
operators and 116 travel insurance companies.
4.4.2 IT Solutions
The principal service of this business area is the Amadeus Alta Customer Management
System (CMS), a software suite which addresses airlines' sales and reservations, inventory
management and departure control.
Page 73 of 99
amadeus.com
Unlike the carriers legacy IT systems, the Alta platform is based on a common technical
infrastructure and software. With Alta, airlines outsource their IT operations onto a community
platform which allows them to share information with both airline alliance and codeshare partners.
The Alta suite presently consists of four main modules: Alta Reservation, providing booking,
pricing and ticketing management through a single interface; Alta Inventory, providing
schedule and seat capacity management on a flight-by-flight basis; Alta Departure Control,
a departure control system software package; and Alta e-commerce, a software suite for airline
e-commerce sales and support.
In 2009, the number of passengers boarded by airlines using Amadeus Alta was 238 million.
Amadeus is extending its IT solutions business with the ongoing development of similar systems
for rail companies, hotel chains, airport operators and ground handling companies.
4.5
Amadeus India
Amadeus India Private Limited, ISO 9001:2008 certified, wholly owned by Bird Group, one of
Indias largest travel conglomerates, has been a pioneer in providing a global platform to the
Indian Travel industry by enabling access to state of the art travel automation technology.
Set up in 1994, Amadeus India Private Limited was established with the objective of providing
IT and software services, developing software products and automated tools, for the travel trade
industry including customized software products for travel agents and travel service providers.
Amadeus India is registered under the Companies Act of 1956.
Over the years Amadeus India Private Limited has introduced the Indian travel industry to the
latest and most technically advanced automated products available in international market. With
systems and software solutions to simplify travel management, Amadeus India provides
Page 74 of 99
amadeus.com
services worldwide. Amadeus CRS usage has expanded to 217 cities across India, with over
28,676 terminal installations and 9,052 travel agencies online. Of the total CRS usage in the
subcontinent, Amadeus CRS is the clear market leader with more than 50% users.
4.6
4.6.2 Amadeus.net
2015 Amadeus IT Group SA
The site is owned and operated by Amadeus IT Group SA. This site delivers key travel data that
is found in the Amadeus suite of travel products with the aim to empower any traveler with the
right information to make a decision on all parts of their trip planning.
Page 75 of 99
amadeus.com
Available in 11 different languages Amadeus.net uses items created and owned by Amadeus. At
the core of this you will find best fares, flight availability, flight timetables and flight status. This
is accompanied by Hotel room availability for over 70 000 properties and a Car rental search.
To allow a complete experience Amadeus Activities and Entertainment in the Trip Tools section
allows you to see and book an expansive and exciting range of location-based content with
thousands of products in over 400 destinations.
Page 76 of 99
amadeus.com
By offering technology thats fast, reliable and easy-to-use; technology that delivers unbeatable
content and the most personalized, customizable and flexible shopping experience available in
the market.
Improve profitability
By selling higher margin products while taking advantage of automated and efficient processes
to reduce your costs.
By delivering exactly what your customers want, from a single source including access to
airlines, low cost carriers, hotels, car rental companies, insurance, tours, cruise, and rail and ferry
options.
Key benefits:
More commission
Page 77 of 99
amadeus.com
Faster payment
Better reporting
With Amadeus Ticket Changer you can service your customers change requests anywhere in
the world in a matter of seconds giving them the right fare and the right penalty charge at
any point of sale.
New generation solution launched in 2006, already used by major airlines and travel agencies
in the US, FR, FI, NL, UK, IE markets and in Israel.
Completely automates the painful ticket change process using ATPCO and SITA cat 31 rules
In a few key strokes the multitude of functions required to make a change is expertly taken
care of by the fully automated process.
Training Services
Consulting Services
Page 78 of 99
amadeus.com
Marketing Services
Implementation Services
4.7
Type of Customers
4.8
Page 79 of 99
amadeus.com
4.9
Airline IT
The Airline IT division of Amadeus provides IT Solutions and services to address airlines key
operational requirements in the areas of sales, reservation & ticketing, inventory management,
departure control and e-commerce. Amadeus Inventory Solutions provide efficient solutions to
airlines to maximize their revenue and profitability by automated schedules, seating and revenue
management system.
4.9.2.2
Airport IT
The Airport IT team aims at creating suite of software products that are going to be used by
various companies associated with airports. Airport IT solutions and services encompass all
Page 80 of 99
amadeus.com
airport activities, from terminal and ramp operations to flight management and passenger
processing. Amadeus airport portfolio is a complete suite of next generation IT solutions.
4.9.2.3
AQG is a transversal R&D division that deals with various aspects of Quality Engineering,
Governance and Architecture. It is a highly diverse field that ranges from development support
engineers to experts on UI frameworks, to system administrators on various hosting platforms, to
automation engineers and experts on MVS (multiple virtual storage).
4.9.2.4
RDM primarily takes care of the reservation process for a travel agency starting from the front
office and then creating PNRs, ticketing and finally the back office processing that happens after
the ticket is sold. It is responsible for taking care of all the finer details and logistics related to the
whole end-to-end process.
4.9.2.5
Being an important cog in the wheel, SEE comprises of three integral parts. Web Design
Services (WDS) which deliver excellent UI solutions to Airlines as well as handles
implementation for AeRE product. Development Services (DSV) which deliver Non-Altea
related services to Airlines. Airline Implementation (IMP) which enables the customer facing
team which helps the Airlines to identify the gaps during the start of engagement and then help
them for a smooth cut over.
4.9.2.6
Mobile Competency Centre vision is three fold. Mobile being the new domain, MCCs top
2015 Amadeus IT Group SA
objective is to bring in standards across mobile development in Amadeus. Its second function is
to keep an eye on new technologies in the area and perform research and analysis, create
prototypes and develop guidelines and white-papers. Third function is to provide a cost effective
global delivery model to develop new products across divisions in Amadeus.
Page 81 of 99
amadeus.com
4.9.2.7
New Business Unit (NBU) has two sub-areas - BIG and AHP. Business Intelligence Group, aka
BIG is responsible for industrializing business intelligence and using cases which are targeted for
the end customers. The Amadeus Hotel Platform team in Bangalore works with the development
teams in France to build highly scalable and feature rich solutions for the hospitality industry.
4.9.2.8
The Search, Shopping Pricing division produces fares search solutions for airline distribution.
The SSP division produces products/prototypes for airlines and travel agencies with an integrated
suite of tools to monitor, analyze, audit and validate their fares. SSP performs benchmarks for
Amadeus products, OLTAs, Meta websites for the marketing teams to analyze performance of
Amadeus. The division is also involved in implementation activity for massive and shopping
Page 82 of 99
amadeus.com
CHAPTER V
Review
Page 83 of 99
amadeus.com
5.1
Project Review
The type of project that was provided in the internship semester was apt to my needs and skills. I
was assigned a project to design an Android Application for the existing product of RDM,
SAMOA which is a reporting application pertinent to Travel agencies. The assignments included
in the purview of the project were connecting the UI to the NAS in order to fetch the reports
stored in the remote server, develop a dashboard to display all the past activities of the User by
interacting with the NAS and database, creating the facility to save the report templates and then
viewing the saved reports in various hieroglyphic (graphical) formats. The project involved
dealing with the Android programming for which I had to hone my coding skills in Java as it was
a native application. With the help of this, I was able to realize the importance of impact and
feasibility analysis of a project as I had to develop everything from scratch on a new platform,
emulating an existing application. So, I had to analyze which things were practically possible to
be done and their techniques. It also helped me to hone my SQL coding skills as I had to deal
with SQL Server Database as well for Data Manipulation. Apart from this, I also acquainted with
certain proprietary technologies and products of Amadeus, including the ARIA templates and
LSS Authentication procedure. I also acquired knowledge with respect to working on Java EE,
deployment of servers and AJAX calls for interacting with server.
practical steps of working of industry and technology development of products. It has provided a
professional experience and linked the academic coursework to the disciplines that can be
pursued for a career.
Page 84 of 99
amadeus.com
5.2
Company Review
I couldnt have asked for a better company to start my corporate journey than Amadeus Software
Labs. It changed my entire perception about working in software companies.
Amadeus Labs has an adept policy for a full-fledged six month Internship Program, under the
aegis of the Company management and closely monitored with acuminate acuity, thus providing
multifaceted opportunities of corporate exposure, learning and propriety with respect to
organizational behavior. The program included periodic feedback and review sessions from the
management syndicate of the company as well by the Human Resource personal. The company
had a really amicable working environment, thus providing salubrious opportunities of
interaction with senior members and also providing a window for the continuous repletion of the
technical skills and aptitude. The overall experience was very good. All the team members were
knowledgeable and highly motivated people who always were spry to help me out in any
impediment that I faced in my project. My mentor always motivated and inspired me to work
hard and excel.
The company actually developed my understanding on how the entire error-handling domain
works. There were lots of extra activities also in the Company which helped in overall
development. Being a Multi-National Conglomerate this company has a great environment and
working culture which I enjoyed very much working under. All the employees in the company
are dedicated and motivated for producing World Class Technology Solutions.
At last, Amadeus helped me in improving various skills whether that is technical skills,
communication skills or work management. The company provided us with all the facilities
ranging from a decent remuneration, regular free meals, and a temporary accommodation to
transport facilities. It was a very enjoyable experience in working in Amadeus and it will of
Page 85 of 99
amadeus.com
CHAPTER VI
Details of Work
Page 86 of 99
amadeus.com
6. 1 Introduction
SAMOA Reporting is an android based mobile application which caters to the needs of small
and medium travel agencies to view reports on fly and have access to business critical
information at all points of time. The sole purpose of this application is the viewing of the reports
to the users in different perspectives with various user demanded flexibilities. With the use of
SAMOA the experience of the travel agencies to deal with the Mid-Office complications will
become a personable one, as within the mobile format the agents will have better access, better
security mechanism for their confidential data. The whole array of use of this application can be
put into words as follows, with the application,
The User logs in the application with the help of LSS based authentication mechanism which
is a secure encrypted login mechanism proprietary to Amadeus
All the information is visible in a user friendly format all the previous reports generated by
any user.
The data dealing is completely dynamic. The graphs and charts are generated as per the type
of the report.
The notification mechanism can be synced with the Alarm and Reminder Service of the
device.
The User can download the charts and graph as a bitmap image.
The reports, whatever be their size be, can be parsed and viewed by the user in the specified
views.
6. 2 Functional Aspect
The functional capabilities of the application can be precisely put forward as following tasks:
Page 87 of 99
amadeus.com
The tool is meant to decrease the user effort to minimal and to enhance user interaction along
with heightening the accessibility of the data to the user.
The tool is based on the native Android Programming, and then therefore it can be used for
only mobile devices with Android Operating System.
The application right now provides the facility of only reading of reports; the reports cant be
executed by the current version of the application.
The search criterion has not been incorporated in the application currently.
Page 88 of 99
amadeus.com
CHAPTER VII
Page 89 of 99
amadeus.com
7.1
Introduction
This Chapter includes a detailed discussion on the conclusion drawn from the development of
this mobile application and the a terse account of a possible future scope of this project, the
further enhancements and embellishments that can be done into it technically and structurally.
7.2
Conclusions Drawn
For any Product based organization, it is quintessential that the developer should be soundly
cognizant to the user needs and requirements. Requirement Specification should be solid rather
not equivocal and vague. The developer should be aware of the pulse of market trends and
vogue, because it determines the possibility of the sale of the product. The applications
developed should be scalable, such that they can be ported to other products using Software
reuse methodology. The development process should be able to accommodate and incorporate
the users volatile set of specifications.
This is an age where smart phones have become an indispensable part of our lives. Android
phones, one of the most popularly used smart phones with their dynamic features brought a
revolution in the world of telecommunications. Android phones offer scope for third-party
Android development that boost the functionality of the device. The different functionalities of
the Android phones have the power to influence several aspects of our lives and businesses in a
positive way. What makes these Android phones so versatile is their ability to access the
Internet.
Some people say that mobile apps are the future and the future is right here. Android application
development has already started to benefit different business sectors like advertising, banking
and cloud-based services. Most businesses are now preferring to make use of these applications
for they can not only function in a faster way are also quite inexpensive.
Page 90 of 99
amadeus.com
It is being predicted that the Android apps technology will see further new dimensions in the
future. The diverse features along with the ability to function faster are what will make Android
apps popular in the coming years.
User Experience is one of the major necessities in any field of work. Using an efficient User
Interface can save a lot of time and since time is money it has the potential of saving millions to
an enterprise of the scale of Amadeus. Of course, things need up gradation all the time but
recognizing the most important and urgent part is a cumbersome task on its own. The decision
must be left to the senior managers who are experienced enough to make wise decisions.
Finally its the responsibility of the UI team to make the software as user friendly as possible.
The User Experience must be such that it requires minimum time and effort on the part of the
end user. The design is good, only when it present the needed information in an organized
manner. The designer should not bombard the user with all the information at his disposal but
should sort out only the useful information which the end user needs at a current moment.
Also, the importance of good programming practices is often under-rated by the developers. It is
as important as the actual algorithm applied. The application must be scalable and knowledgetransfer process must be as easy as possible. In this regard, following frameworks is one essential
key. As it sets the standard for the work done, and make it easier for the future developers to
work on the code already written. This helps saving time and thus resources on the part of the
organization.
The other important ratiocination that I could envisage through this project was is the importance
of the security of critical information pertaining to the business operations of the user. Thus It
requires proper protection and authentication mechanisms to secure the data of the users from
unauthorized use by any unauthenticated party. This is the most important in case of such
application where chunks of payment profile data will be accessed by the application.
Page 91 of 99
amadeus.com
7.3
Just before the end of my internship and the successful testing of the suggested prototype before
the international MBO team, the work was overtaken by an insightful and capable employee in
the Mid-Back Office (MBO) team, Ms. Amina Banu. Knowledge transfer process was smooth
and he easily understood various technicalities involved in the application. The fact, that the
company is allocating further resources to this prototype, is evident enough to prove the fact that
how useful this prototype could be in the future, if the work of the development of SAMOA
Reporting Mobile Application is carried forward.
However, there is still a lot which can be improved in subsequent versions and number of more
features that can be incorporated further into the application once this prototype is taken forward
on the path of the development. Some of the improvements that may be made into the
application are enlisted below:
The first development that needs to be made is to develop servers for the application, so they
can access NAS from the device and then the current version can be tested on Android
Devices. This process is currently in pipeline.
The second embellishment that is proposed to be made once the prototype being approved, is
to extend the current features that the current version provides for the other reports as well,
the reports that are generated by the SAMOA Web Application.
The next step will be the provision of the facility in the application to execute the templates
too from the mobile application only. This can be done when the Reporting Application is
linked to the back-end OBE Services.
The graphical dashboard can be modified for other reports as well that apart from display of
data, it can provide a perspective for the analysis of data by comparison of graphs generated
for different complementary parameters.
The SAMOA can be integrated can be scaled by integrating it with other Mid-Office
Applications and as well as with Total Intelligence Platform, thus making it a source of
revenue for the company.
Search feature can be included to search template/report on the basis of template name.
Page 92 of 99
amadeus.com
CHAPTER VIII
Page 93 of 99
amadeus.com
8.1
Introduction
This Chapter presents a description of some technical and procedural technicalities that I faced
during the training semester, followed by couple of personal suggestions that I feel could even
make practice of Internship more productive from the perspective of College and the Company.
8.2
Impediments Encountered
Throughout the due course of project, I faced a number of roadblocks or hindrances which
tended to impede the pace of the development. Some of them pertained to the purview of
technical aspects while some were due to organizational structures, the knowledge of certain
things being esoteric to some teams of the company. Nonetheless, all these obstructions were
handled well and the project progress being unfettered from these obstructions with the constant
headstrong attitude and the acumen and the knowledge of my mentor and my team was always
there to help me out. Some of such impediments that I grimaced have been cited below:
The most prominent thing for me was that for every new thing to implement I had to learn on
my own. Although there are people to help but ultimately one cant succeed until one
implement that thing on his own. It was sort of difficult and hard to absorb at first but now
when I look at it, I have learned so much from it and I am not afraid to be in that position
anymore.
The other obstruction was the prerequisite of product knowledge, as my product involved
being cognizant of the product knick-knacks. It was indeed not easy to get familiar intricacies
of the business knowledge. So It required an extra dose of effort to have a hold over the
knowledge of the product.
The other difficulty though overcome with the affable working environment of Amadeus was
how to address my seniors there. Advanced office environments these days demote the
attitude of using sir/madam for seniors and the common gesture is to address a person by
his/her name. This was something difficult to get used to being accustomed to calling our
teachers and even our seniors as sir/madam. Though, it was one of the coolest things to
experience there.
Page 94 of 99
amadeus.com
Technically, I did face some problems every now and then, the biggest being changing an
existing web based application to mobile application using particular technologies. This
wasnt though exactly completely mimicking one product into another. It though nevertheless
required me to completely comprehend the architecture of the Web Application and also
imbibe the application flow completely. But as I said that with time and repetitive tries one
eventually gets things done.
The main thing that was the most ponderous technically was the LSS Integration into the
application because it determined everything, shifting whole application from static to
dynamic perspective. It required constant touch with the Antwerp tem who had developed it.
So, porting this whole mechanism to my application required their constant assistance which
itself was not that easy to get given everyones predefined deadlines.
8.3
SUGGESTIONS
The training period altogether is one of the greatest opportunities for a student to grab during his
academic course in terms of the ginormous quotient of learning that one assimilates from the
industrial environment where he is put to work, the pragmatic application of all concepts and the
maneuver that one inculcates that helps to groom oneself for the oncoming future aspects in
Industry.
In terms of these multifarious prospects that this Internship duration has in itself to offer, I
daresay I couldnt have asked for a better company to start from that Amadeus Software Labs
to get yokefellow with all the nitty-gritty of the corporate and technical work cosmos. It changed
my entire perception about working in software companies. It was, I would say a perfect
conglomeration of fun to finally do something that was productive and useful. Every novel idea
no matter how vital, encounters a few roadblocks early on the road. The same was the case for
project semester. This was the best opportunity for an aspiring engineer for an industry interface
2015 Amadeus IT Group SA
and to gauge the various problems faced after the college. We engineers always lament over lack
of practicality of the things we study in college. Introduction of the project semester training in
the curriculum was the best possible way to bridge the difference.
Page 95 of 99
amadeus.com
There is always a room for learning in every activity we pursue. During my memorable
enriching, fulfilling and educative abide at Amadeus Labs; I too faced some hardships which can
be done away with for the next batch of industrial trainees. Some of the suggestions for the
betterment of training program with respect to Institution and Industry perspective have been
enlisted below.
8.3.1
The students should be made aware of the projects being done by the trainees of the other
industries so that they should know the level of work done by them.
For computer science and IT students, good programming practices and using proper coding
standards in the code should be promoted by our teachers. This is one of the most important
things while developing software, which is neglected sort-of in our curriculum, so should be
given a lot of attention to.
There should be training sessions for the batch going for training to give a brief idea about
the industry culture.
The college should approach companies through vast alumni base so that more students are
absorbed as interns by the industries.
College should allow a discussion session where every student gets to know about each
other's project which will further widen the opportunity to gather knowledge about new
technologies.
8.3.2
The company can help incoming students by standardizing a format for the students on
training in the company that can cover up for the short time lapses that occur therein and is
put in deciding on next course of action though the time helps the student and the guiding
mentor to interact and go through the process but a pre-finalized rough layout can help the
student make the most out of it and bring the best results in short periods of time.
Encourage students to get more involved in the daily activities to get familiar with the
industrial environment.
Page 96 of 99
amadeus.com
CHAPTER IX
References
Page 97 of 99
amadeus.com
SAMOA Application
http://intranet.sharepoint.amadeus.net/RDM/MBO
SAMOA Wiki
http://androidtutorials60.blogspot.in/2013/06/drawing-3d-piechart-using-google
chart.html
https://developer.android.com/intl/zh-TW/guide/index.html
https://developer.android.com/intl/zh-TW/guide/index.html
https://developer.android.com/intl/zh-TW/guide/practices/compatibility.html
http://developer.juniper.net/shared/jdn/html/browser-help-
13.1/com.juniper.junos_space.sdk.help/html/reference/spaceannoREST.html
http://www.apache.org
http://www.eclipse.org
http://developer.android.com/intl/zh-TW/training/basics/firstapp/running-app.html
http://developer.android.com/intl/zh-TW/training/basics/firstapp/index.html
https://developers.google.com/chart/interactive/docs/reference
https://developers.google.com/chart/
https://en.wikipedia.org/wiki/Android_software_development
https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
https://en.wikipedia.org/wiki/Java_API_for_RESTful_Web_Services
https://en.wikipedia.org/wiki/Google_Chart_API
https://google-developers.appspot.com/chart/interactive/docs/gallery/areachart
https://jsfiddle.net/api/post/library/pure/
http://programmerguru.com/android-tutorial/android-restful-webservice-tutorial-how-tocreate-restful-webservice-in-java-part-2/
Page 98 of 99
amadeus.com
http://www.truiton.com/2013/04/android-tutorial-using-google-chart-tools-with-svg-andimage-api/
http://www.vogella.com/tutorials/web.html
https://software.intel.com/en-us/android/articles/a-look-at-data-analysis-with-chartsand-graphs-in-android-apps
http://rest.elkstein.org/2008/02/what-is-rest.html
https://en.wikipedia.org/wiki/Apache_Tomcat
http://www.softpedia.com/get/Internet/Servers/Other-Servers/Apache-Tomcat.shtml
http://www.slideshare.net/ecgreb/google-charts-for-android
https://en.wikipedia.org/wiki/Microsoft_SQL_Server
http://www.eclipse.org/documentation/?sess=32267642b71e61a5209ee01bb85d8fdb
https://en.wikipedia.org/wiki/Eclipse_%28software%29#/media/File:Eclipse_4.5.png
http://help.eclipse.org/luna/index.jsp
http://help.eclipse.org/luna/index.jsp
https://developer.salesforce.com/page/Native,_HTML5,_or_Hybrid:_Understanding_You
r_Mobile_Application_Development_Options
http://developer.android.com/sdk/installing/installing-adt.html
https://developer.android.com/guide/index.html
Page 99 of 99
amadeus.com