Travel Assitant by Koo Lee Chun & Liew Pui Fong

advertisement
QUICK Travel Assistant Information Extraction
System
Koo lee Chun
Liew Pui Fong
Faculty of Information Technology
University Utara Malaysia
06010 UUM Sintok
Kedah DarulAman, Malaysia
e-mail: leechunkoo@yahoo.com
Faculty of Information Technology
University Utara Malaysia
06010 UUM Sintok
Kedah DarulAman, Malaysia
e-mail: pfong.liew@gmail.com
Abstract—the aim of this project isto develop a proof of
concept Information Extraction Web sitewhich serve as an
one-stop point that provide countries’ travel tips. The web
site will extracts the travel information of various countries
such as currency exchange rate, weather forecast,
international dialing code and country map from different
website through the available Web Services. In this paper,
weprovide an overview of Web Serviceas well as the benefits
of using the Web Service in system development. The
methodology of the proposed system will be discussed.
Furthermore, the paper will also cover the limitation and
future enhancement in the conclusion session.
Keywords—Web Service, data extration, travel information
System
I.
INTRODUCTION
With the advancement in Information Technology and the
growing number of Internet penetration, many travel agencies
have employed World Wide Web as one of the effective
channel for disseminating information to the traveler.
Particularly, many countries’ Ministry of Tourism developed a
country tourism website for the purpose of providing the
country travel information to the tourists. However, most of
these websites only providedthe travel information of their
own country; therefore, travelers need to visit various websites
to obtain the travel informationof different country. In order to
fulfill the travelers information needs, a one-stop point travel
tips website is required to enable the travelers easily seek for
the information of different countries from a single website.
This project is aim to develop a Web Services-based proof
of concept application that provide travel information such as
country detail, location map and weather forecastof different
countries to enable the travelers to acquire the travel
information in a single access point. Web Service technology
is applied to extracts the travel information from various
internet sources and then integrate this information into our
project website.
The paper is organized as follows. A brief overview of web
services technology will be presented in the next section.
Section III explains the methodology adapted in this proof of
concept system. The paper ended in Section IV with
concluding remarkthat highlight system limitations/challenges
and future enhancement opportunities.
II.
WEB SERVICE
Web Services are application programming interfaces (API)
that describe a collection of operation. It is a client server
application that allows different application to communicate to
each other as well as share services and data among
themselves [1]. The communication between the applications
is carry out by using XML and web protocol. XML is a World
Wide Web Consortium specification used to create the
special-purpose markup languages that able to use to describe
Web Service interfaces and encode the communication of the
Web Service.
The simplest Web Service consists of 2 participants: service
provider and service consumer as shown in Figure 1. The
service provider offers the Web Service interface and
implementation, while the service consumer requests and
consumes the service.
Figure 1: The simplest Web Service architecture
However, in the sophisticated Web Service architecture, a
registry is used to serve as the broker of the Web Service as
illustrated in Figure 2. The Web Service Providers define and
publish a service description to the Web Service registry. The
Web Service consumers search and retrieve the service
description then use the service description to bind with the
Web Service Providers to invoke the implementation of the
Web Service. [1]
but the data can convert in to Json format by using serverside script that serves as a proxy to external Web Services
[6]. Thus, currently, many Web Services are supporting
Json, for example, Google and Yahoo.
Several advantages of using Web Service have been
identified and listed below:
 Language-independent and platform-independent. In
other words, Web Service can be used in the software
application that written in different type of
programming language and run in different platforms.
 Enable services to be reuse. The Web Service is not
built as the component-based model. It is just a function
that allow user to invoke the implementation and apply
in their application. Therefore, it is easy to be reuse by
different other company.
Figure 2: The Sophisticated Web Service architecture
The 3 fundamental components used in connection with Web
Service are SOAP, WSDL and UDDI.
 SOAP (Simple Object Access Protocol). SOAP is the
communication protocol for XML Web Service and the
format for sending message. Before the Web Service
request and response messages send over the network,
the information in the messages will encoded into
SOAP format [2].
 WSDL (Web Service Description Language). WSDL is
a XML formatted language for describing the Web
Service. WSDL documents act as the contract between
the Web Service Consumers and Web Service
Providers. Web Service WSDL file enables Web
Service Consumers to learn about the type of
operations offered by the Web Service, the format for
sending the message to the Web Service and the
location of the Web Service [3].
 UDDI (Universal Description, Discovery and
Integration). UDDI is a specification for generating an
XML-based registry that provides a searchable
directory for Web Services [1]. Web Service
Consumers can query the WSDL file from the UDDI
registry in order to find the Web Service they wish to
utilize.
Apart from SOAP, Json (JavaScript Object Notation) is
one of the common data interchange format used in Web
Services. JSon is an extension to the JavaScript language
for representing simple data structures, call object [4].This
format is often applied for serializing and transmitting
structured data between a server and web application[4].
Compare with XML Web Service, Json is a much more
lightweight data transmission format across network
connection and it enable the Web Service to be invoked by
a standalone URL parameter. Furthermore, the data
interchange format of Json is human readable and writable,
and easy for computer to create and parse [5]. Although
most of the Web Services offer only XML encoded data,
 Ability to be deploy. Web Services are deployed over
Internet. This allow it to deploy whenever place that it
can, countless with the firewall that set to router or
servers and also other place.
 Enable applications integration. By using Web
Services, the process of applications integration can be
done easily and rapidly and less costly compare with
any other integration technology.
III.
METHODOLOGY
A methodology serves the purpose as both an industry-field
standard and as guideline to developers. In software
developments, this is no less prominent than others. The
industry has seen numerous methodologies throughout the
years, with more being created to meet the current
development trend and needs. These methodologies are
essentially a framework, where a series of sub-processes are
followed in development. This structures the development
process in a way that it can be planned and controlled
accordingly. All of the methodologies implement the basics of
System Development Life Cycle (SDLC) in varying degrees.
Therefore, many methodologies have followed to implement
the basics of SDLC and improving it in a way or another.
They involve different techniques and steps between yet
require the core understanding in SDLC.
In the development of Quick Travel Assistant website, the
methodology of Structured Analysis is used. This due to the
fact that the system sees the requirement for only the very
basic development phases and no specialty needs. In addition,
the basic process of Structured Analysis that is heavily based
on System Development Life Cycle (SDLC) is seen suitable
for our project’s system.
This section provides discussion the outcome for each of
the SDLC phases including analysis, design and
implementation, testing and deployment.
A. Analysis
System analysis is the part of the system development life
cycle in which toindentify the domain and functionality of the
proposed system and to determine the requirement of the
system includes the software and hardware requirement.
Table 1 lists the hardware and software requirements for
system development environment. Microsoft Visual Web
Developer Express 2008 was used as IDE tool during the
development in C#.net. Adobe Photoshop CS5 has been used
as graphic editing tools. The development environment used
Mozilla Firefox 5.0 as main browser for testing.
1) Domain and functioality
Country related information for a traveler will be our main
domain area in this web-based system. The system is
composed with 3 main functions:
 View destination country information: this function
provides the traveler with the country information such
as provides IDD code, currency name, currency code
and latest currency exchange rate. To view the
information, users are required to provide the origin
country and destination country as the search criteria.
 Get a map: QUICK Travel Assistant system embedded
the Google web mapping service that allows travelers
to view the maps and find the location with the location
area, destination address and even the building name.
Besides, this mapping service provided the zoom
capability to enable the travelers have a closer look for
it mapped location.
 Check destination weather: In this function, travelers
can obtain real time weather forecast information by
enter the country name or the state of the country. The
information includes the weather Celsius, description
of the weather, wind velocity and humidity.
QUICK Travel Assistant system requirements are presented
in overall system use case diagram as illustrated in Figure 3
The diagram shows the overall system functionalities that can
be performed by a traveler includes view destination country
information, get a map for the destination location and check
the forecasted weather for the system.
Hardware Specifications

CPU : 1.6 GHz x86processor

RAM : 2GB


Software Specifications

Windows 7

Browser : Mozilla Firefox
5.0
Disk Space : 10GB
including graphics
development

Local Host : ASP.net
services

Adobe Photoshop CS5
GPU : 256MB VGA
Graphics

Microsoft Visual Web
developer Expression
Table 1: Hardware and Software requirement for system development
Table 2 and Table 3 list the hardware and software
requirements for server and client in production environment.
Server with minimum hardware spec of 1G-H with RAM 4GB
and 10GB of disk space is required to support hardware
requirements for software such as ASP.net framework 2.0,
Windows 2000 Server and Internet Information services. In
contrast, Client PC only required minimum hardware
specification of 800MHz processor, 512 RAM running with
Windows 7 and browser with Mozilla Firefox or any
compatible browsers.
Hardware Specifications
Software Specifications

CPU : 1GHz x86processor or 1.4GHz x-64
processor

Windows 2000 Server or
Advanced Server with
Service Pack 2,

RAM : 4GB


Disk Space : 10GB
Internet Information
Services

ASP.net framework 2.0 or
above
Table 2: Hardware and Software requirements for Server in production
environment
Hardware Specifications
Figure 3: QUICK Travel Assistant Use Case Diagram
2) Hardware and Software requirements
Hardware and software requirements have been identified
during the analysis phase. The requirements are identified
based on two main environments: development and production
environment.

CPU : 800MHz x86processor

RAM : 512 MB

Disk Space : 100MB of
available space

GPU : Super VGA
Graphics
Software Specifications

Windows 7 or above

Mozilla Firefox 7.0 or any
compatible browser
Table3: Hardware and Software requirements for Client in production
environment
B. Design and Implementation
QUICK Travel Assistant System is a client-server webbased travel inforamtion extraction application. To provide
better understanding of the system, the overall system
architecture, information extraction and user interface design
and implementation will be discussed in this section.
1) Data extraction design and implementation
Based on the system requirements discussed in Section
III.A, QUICK Travel Assistant System has to extract
information from several sources. Figure 4 illustrates the
overall system architecture of this system.
(a) Country Information modules
In these modules, the IDD code, currency name, currency
code are based on ICU-T E.164 and ISO 4127 standard from
ITU (http://www.itu.int/itudoc/itu-t/ob-lists/icc/e164_763.html)
and ISO official web sites (http://www.currencyiso.org/en/home/tables/table-a1.html) respectively.
An offline simple data extraction tool is developed to
generate a list of country information in JavaScript array
format syntax.
This array format is embedded into
CountryInformation.js file and the script is further enhanced to
provide a function to obtain country information in the system.
On other hand, currency exchange rate information required
real time data source because it is dynamic information. YQL
plugin Open Data Tableare used in this systemto extract
information
from
yahoo.finance.exchangedata
source
(Yahoo!Exchange) . YQL is SQL-like language provided by
Yahoo. Open Data Table is an YQL plug-in that allows
mapping of sources or Web Service on the Internet. Data can
be accessed in a simple way via a RESTfulWeb Services in
XML or JSON format[7].
Based on the user’s origin and destination country, QUICK
Travel Assistant Systemobtains the ISO 4127 Currency code
from ContryInformation.js (as discussed earlier) and uses a
JavaScript library, jQuery AJAX, to request currency exchange
information as JSON object from YQL Open data Table. The
JSON object will be parsed by jQueryAJAX and display to the
user interface.Figure 5is the snippet code for the currency
exchange rate implementation.
Figure 4 QUICK Travel Assistant System Architecture
This system extracts the information from five different data
sources including Yahoo!Finance, Yahoo!Weather, Googles
Map,
International Standard Organisation (ISO) and
International Telecommunication Union - Telecommunication
(ITU-T).
The system communicates via Yahoo Query Language
(YQL, to be discussed later) to obtain currency exchange rate
and weather forecast from Yahoo!Finance and Yahoo!Weather
data source respectively. This system also integrates Google
Map capability via used of Google Map API Web Service to
enable travelers locate a location map up to street level.
Information such as international dialing code (IDD), currency
information (Currency name, currency code) is obtained from
International standard Organisation (ISO) and International
Telecommunication Union - Telecommunication (ITU-T).
Most of the information is extracting though Web Services.
Following section will discuss how does the system
interacts with Web Services to obtain required information
based on following modules:
(b) Google Maps
The Google mapping service allows the travelers to zoom
in the map up the street level. These capabilities are integrated
into this system via the use of Google Maps JavaScript API
version 2.0Web Services.
Google Maps JavaScript API
allows a map embedded in a web page. An API key is needed
to enable this capability.
QUICK Travel Assistant System creates a map objects
when the map web page is loading. Once user key in the new
location, the system will execute the map object method to
relocate and display the new location. Figure 6 is the snippet
code of Google maps implementation.
Figure 5 : Snippet code on currency exchange information
Figure 6: Snippet code on obtaining map information
(b) Weather Forecast
Weather forecast also required a real time data source
because it is dynamic information. YQL Open Data Table,
jQuery AJAX are used to facility the information extraction in
QUICK Travel Assistant System.
The system extracts the open data source from
weather.forecast. Since weather.forecast data source only allow
weather information based on location ID, for example,
UKXX001 is for UK, therefore the system also enquiry another
third party weather.search data source to locate the location id
based on the location description entered by the user.
The implementation techniques used are same as currency
exchange rated discussed inSection III(b)(1)(a)which use
jQuery AJAX, YQL Web Service that return result in JSON
format.
2) User Interface design and implementation
This system user interface design is based on the code on
demand paradigm discussed in [8]. The user interface codes
are stored in the hosting server and users are required to
download the code and execute in the client.
The user interfaces of this system are implemented in
several markup and scripting language such as Hypertext
Markup Language (HTML), Cascading Styling Sheet (CSS)
and JavaScript.
With CSS implementation into basic HTML in QUICK
Travel Assistant system, the layout of the user interface is able
to control and set according to tasteful level of visual presence.
The system has designed to use a single CSS to control the
layout of multiple HTML in the web site except for the specific
layout needed a web page. For example, StyleMain.css is the
only CSS in this system to control all the layout of all the web
pages such as fonts, table layout, colors, border and
background. However the specify layout control needed for
weather forecast page are defined only in weather web
page.This design concept not only provides standard look and
feel for the web sites, but it also ensure easy maintenance and
increase productivity.
JavaScript are also used to enhance interactive and dynamic
elements on the web pages user interface. For example,
JavaScript are used in this system to automatically populate a
list of the country name in the dropdown box for user selection.
Besides that, a JavaScript library, jQuery AJAX, also
implemented in this system to simplify and enhance user
interface feature. For example, selection of DOM elements
and attaching event handlers in the user interface, and display
output without reloading the page.
C. Testing
This phase involves the assurance side of making sure the
system built runs as intended. The basic unit testing and
integration testing had been carried up by each of team
members to ensure the system is performing as it intend to be.
However, no aggressive performance testing such as stress
testing and failure testing areconductedsince this system is
developed as proof of concept in mind.
situation happen, the impacted function will unable to provide
the.
Apart from resource availability, data accuracy is highly
relying on the Web Service providers. The data extract from
the Web Service might be not reliable, not up to date or even
not accurate. For example, Quick Travel Assistant is showing
the currency of the country, if the Web Service content is not
up to date, users might get the inaccurate information from the
system.
Data mapping from different sources also another challenge
in any of the data extraction system which unable to map from
one source to another due to different abbreviate used. For
example, mapping the 2-alphabetic code currency code from
one source, to another 3-aplhabetic code currency code in
another source. This challenge has been overcome in this
project by ensuring both data source using the same standard
such as ISO 4127 for currency code.
Currently, Quick Travel Assistant system only provides the
basic travel information such as country currency, country
code, location map and weather. In order to enhance the
system quality and service, further enhancement is needed
especially provide more travel guide information to achieve
the ultimate goal - one stop travel reference system. The
suggested enhancement include, provide more comprehensive
travel information such as hotspots information which
recommend by tourists or local government, transportation
information like train and shuttle path and schedules and
provide the map navigation function to allow users to identify
the travel route. Other than be an information website, the
system could be enhanced to become a travel agency website
that provide hotel and transportation reservation function,
which mean users can manage their accommodation and flight
via Quick Travel Assistant Web site.
References:
D. Deployment
As mention earlier, QUICK Travel Assistant System is
developed as proof of concept in mind. A prototype version of
this system is deployed in a web server. The system can be
accessed via this URL : http://socresearch.net/koo5014/.
IV.
CONCLUSION
By utilizing Web Service technology in the system
development, Quick Travel Assistant system has evolved as a
practical, cost-effective solution and one stop reference for
uniting travel information distributed between applications
over operating system platform and language barrier.
However, there are still some concerns and issues on this
system that need to be aware.
The Web Serviceavailability is one of the major challenges
as the QUICK Travel Assistant system is fully depended on
the Web Service to supply the content of the website. The
Web Service providers would stop provide the service at any
time without notify the Web Service consumer, if this
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
Hartwig Gunzer, Sales Engineer, Borland: “Introduction to Web
Services”, WhitePaper, 2002.
Heather Kreger: “Web Services Conceptual Architecture (WSCA 1.0)”,
2011.
Erin Cavanaugh: “Web Services: Benefits, challenges, and a unique,
visual development solution”, WhitePaper, 2006
http://en.wikipedia.org/wiki/JSON
PENG, Dunlu, Lidong CAO, and Wenjie XU. "Using JSON for Data
Exchanging in Web Service Applications." Journal of Computational
Information Systems 7, 2011.
http://json.org/
Yahoo!Developer
Network,
“Yahoo!
Query
Language”.
http://developer.yahoo.com/yql/guide/running-chapt.html.
A. Carzaniga, G. P. Picco, and G. Vigna, "Designing Distributed
Applications with Mobile Code Paradigms," in Software Engineering,
1997., Proceedings of the 1997 International Conference on, 1997, pp.
22-32.
Download