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.