Homogeneous EDI between Heterogeneous Web-Based Tourism Information Systems Wolfram Wöß, Anton Dunzendorfer Institute for Applied Knowledge Processing (FAW) Johannes Kepler University Linz, Austria {wwoess, adunzendorfer}@faw.uni-linz.ac.at Abstract. During the last years the tourism industry realized the potential of Web-based tourism information systems (TIS) to increase the competitiveness by providing individual and specialized information about tourism objects. This leaded to a broad spectrum of tourism information systems distributed over various Web sites. But the described situation is not really satisfying for the users of such systems, the tourists, which required flexible and easy-to-use search functionalities. To fulfill the tourists request for an extensive data collection on the one hand and to provide adequate search functionalities on the other hand, it is inevitable to make accumulated data from different sources accessible. The integration of distributed data sources has great impact on the quality of tourism information systems and follows the trend not to implement further systems, but to extend and improve existing systems. Beside comprehensive integration of tourism data, for tourists simultaneous availability and access to distributed tourism information systems supported by a generic and universally valid client application is desirable. In this paper an adapter concept is introduced which allows uniform and homogenous data interchange between a Web-based client application and several distributed heterogeneous tourism information systems. Moreover, data interchange between different TIS applications is supported. The key advantage of this concept is that both the client adapter and the adapter are designed as add-on modules and therefore their installation causes only low adaptation effort concerning existing applications. Keywords. tourism information systems (TIS), electronic data interchange (EDI), information integration, etourism, E-Commerce. 1 Introduction During the last years the introduction of World Wide Web (WWW) based applications has been very successful especially in the field of tourism electronic commerce and still the turnovers are increasing rapidly. Until now, many Web-based tourism information and reservation systems have been developed. To fulfill the tourists request for an extensive data collection on the one hand and to provide adequate search functionalities on the other hand, it is inevitable to make accumulated data from different sources accessible. There are a number of approaches that have K. Bauknecht, A M. Tjoa, G. Quirchmayr (Eds.): EC-Web 2002, LNCS 2455, pp. 183 192, 2002. Springer-Verlag Berlin Heidelberg 2002
184 W. Wöß and A. Dunzendorfer been investigated so far to realize data access to heterogeneous data sources, for example, IRODB [1], XML-KM [2] or InTouriSME [3]. A further approach is the reference model RMSIG [4], [5], which enables uniform access to and interaction between components of an electronic market based on different specific models. To establish a communication line between the client and the existing solutions use standardized messages based on application depending guidelines. Updates of such messages entail the adaptation of each connected application which processes the affected message(s). This is a main reason, why standards which are based on structured messages require a long-term specification process. Especially for applications in etourism which are characterized by frequent updates and extensions, this inflexibility is not appropriate. In general, data access to heterogeneous tourism information systems (TIS) is possible in a twofold way: Firstly, as business-to-consumer (B2C) communication between a potential tourist and a tourism information system. Secondly, as businessto-business (B2B) communication between various tourism information systems [6]. To enable uniform data access to heterogeneous TIS in the field of B2C and especially in the field of B2B several problems have to be considered [6], [7]. The main problem is the establishment of adequate data interchange facilities between heterogeneous TIS applications as well as between client and applications. The approach presented in this paper primarily focuses B2C electronic data interchange (EDI) [8]. The underlying adapter concept allows uniform and homogenous data interchange between a Web-based client application and several distributed heterogeneous TIS. Moreover, EDI between different TIS applications is supported. The paper is organized as follows: Section 2 gives an overview of the approach which enables data access to heterogeneous TIS based on a standardized interface. After the introduction of the client/ adapter concept in Section 3, Section 4 describes the implemented client adapter prototype. Finally, Section 5 concludes and gives an outlook on future work. 2 The Approach In a previous contribution (tourism information system query language), a uniform interface for data access and data interchange between heterogeneous tourism information systems was introduced [9]. supports the architecture illustrated in Figure 1. In contrast to existing EDI solutions is a query language which is designed for tourism information systems. A primary goal of is not to provide a further communication and message standard, but to enable flexible specified queries with the purpose to exchange data between a client and a. For a correct usage of it is not necessary to consider a structural order of attributes. It is sufficient to specify a valid query statement depending on the language rules and the underlying general data model for tourism information systems [10]. The syntax of is similar to the standard query language (SQL) [11] of
Homogeneous EDI between Heterogeneous Web-Based Tourism Information Systems 185 relational database systems. Tourism information systems are treated as database systems for tourism data, regardless whether the underlying database is managed by a file system or a relational database system. Client Client- Adapter Server- Adapter 1 TIS 1 Server- Adapter n TIS n Fig. 1. communication between client/ adapter and / adapter supports interchange of two kinds of information: plain tourism data, e.g. hotels, sightseeing, sports facilities, camping sites and common (meta) information about tourism information systems, e.g. national languages or currency information. Meta information is important for both B2C and B2B communication. For example, in the case of B2C communication a user needs information about the national languages which are supported by a TIS or which attributes are used to describe a special tourism object, e.g. a camping site. In the case of B2B communication data interchange is only useful and possible, if both systems support a subset of equal national languages or a subset of equal attributes of camping sites. To establish such a based connection a client and a adapter are required. In the following section, the client/ adapter concept is introduced. 3 The Client-Server Adapter Concept The client/ adapter architecture consists of two components, a client adapter at the client side and a adapter which extends a TIS. These components on the one hand allow uniform communication and data interchange between a consumer (tourist) and a TIS (B2C) and on the other hand uniform communication between various TIS (B2B). Both adapters are used as interfaces to client or applications respectively. 3.1 The Client Adapter The client adapter is responsible for the availability of a uniform user interface presented to a user. For this, the client adapter initiates the communication process, temporarily stores the query results and transfers this result to the encapsulated client application (see Figure 2). Updates of the communication specification only affect the client adapter the client application itself remains unchanged.
186 W. Wöß and A. Dunzendorfer For a tourist using the client adapter offers the possibility to communicate with those TIS which support the adapter concept. In this context, a key advantage is that users no longer have to cope with differences in information presentation and interaction with TI systems, because tourists have access to various TIS via a generic and uniform user interface provided by the client adapter. Hence, users need not to be familiar with the individual functionality of each TIS. client adapter user URL GUI EDI result EDI adapter TIS Fig. 2. Components of the client adapter There are several possibilities for the activation and implementation of the client adapter, which each are based on actual Internet technologies: Plug-in, Java applet [12], Java servlet [12], [13], [14], JavaServer pages [12], [15] and ".jar"-files. The realization of the client adapter as plug-in is a proper approach, since in this case it operates as autonomous application. In the first step, the client adapter plug-in is requested from a Web (Figure 3, A). Afterwards, the client application (e.g., Web browser) receives the file (plug-in) which works as an extension of the client (Figure 3, B). In the last step, the client activates and starts the client adapter with the purpose to establish a connection with tourism information systems (Figure 3, C). client adapter plug-in client B Web A C client adapter URL EDI adapter TIS Fig. 3. Client adapter realized as plug-in The client adapter concept offers two important advantages concerning the search functionalities of the system. Firstly, a tourist easily gains an overview about kind and type of information a tourism information system offers. This aggregated view about languages,
Homogeneous EDI between Heterogeneous Web-Based Tourism Information Systems 187 currencies, tourism objects, describing attributes, etc., helps a tourist to decide, if a particular TIS fulfills his personal needs. Secondly, a tourist achieves the possibility to reach different and heterogeneous TIS by using a homogeneous GUI (graphical user interface). The architecture of the client adapter is illustrated in Figure 4. To provide the necessary functions, two modules are established. The EDI module is responsible for data interchange functions and the result module temporarily stores and transforms the data stream into the requested format. In the first step, the EDI module receives a text string representing the statement which is transmitted to the adapter. After the adapter has processed the statement, it returns the DB (database) output which corresponding to the original statement to the result module of the client adapter. The result module is divided into two components which transform the DB output either in an XML (extensible Markup Language) or HTML (HyperText Markup Language) DB output stream. client adapter text string DB output byte stream (XML) EDI module DB output byte array output stream RESULT module text string DB output adapter SQL TIScover Fig. 4. Architecture of the client adapter To enable uniform communication beside a client adapter also a adapter is required. Concept and functionality of the sever adapter are described in the following section. 3.2 The Server Adapter Analogous to the client adapter, the adapter transforms data of the uniform interface into a form which corresponds to the data structures of the TIS database [10]. Hence, a adapter has to be implemented for a specific TIS individually. The TIS itself is independent from changes of the B2B or B2C communication specification, because it remains encapsulated, since the sever adapter is designed as advanced data interface (see Figure 5). The main task of the adapter is to transform the communication and the resulting data flow into a form which is appropriate for the database or file system of the TIS.
188 W. Wöß and A. Dunzendorfer client client adapter uniform EDI adapter TIS Fig. 5. Communication between client adapter and adapter The adapter provides the following functions: Transformation of a statement into a TIS appropriate DB statement (for B2C and B2B communication) Adaptation of TIS specific characteristics in order to use them with (for B2C and B2B communication) Generation and transmission of the result files (for B2C and B2B communication) Communication with other tourism information systems by simulating a client adapter (for B2B communication, Figure 6) adapter n TIS n result EDI EDI adapter m TIS m Fig. 6. Server adapter as "client adapter" for B2B communication The general architecture of the adapter is illustrated in Figure 7. After the adapter is initialized in the first step, general information is polled from a tourism information system (e.g. the official Austrian destination information and booking system TIScover [16], [17]). This is necessary to receive data for the system info statements of. Methods which belong to the update block are responsible to update the storage pool using the results of SQL statements which are executed within the TIS. For example, the method update language fetches all existing national languages and the method update object type fetches all existing object types of a TIS. The results of the update block methods are stored within the storage pool in all those languages, which are provided by the TIS 1. If the adapter receives a statement from the client adapter, first, this statement is processed by the client thread, which establishes the connection to the client adapter. The next actions depend on the type of the statement. If the statement is a system info statement, then the system information is fetched from the storage pool and returned to the client adapter 2. In the case that a "select" statement is received it is passed through to the select block. After a syntax
Homogeneous EDI between Heterogeneous Web-Based Tourism Information Systems 189 check, the methods of the select block generate the corresponding and equivalent SQL statements of the TIS, also including data out of the storage pool 3. adapter DB output stmt. DB output client thread select stmt. System info stmt. 2 storage pool English German 1 3 select stmt. update block update language update region type update region update object type update keyword upd. keyword expression update currency update attribute upd. attribute expression select block currency/conversion regional structure object type keyword WHERE condition attribute extension SQL TIScover SQL Fig. 7. Architecture of the adapter The methods of the select block provide the following functionality: Currency/conversion: generates the SQL statements which are necessary to fetch data about currency conversion from a TIS. Regional structure: generates SQL statements to fetch the structure of regions from a TIS. Object type: generates SQL statements to fetch the object types of a region. Keyword: generates SQL statements to fetch various keywords of object types. WHERE condition: generates SQL statements which correspond to the WHEREclause of a statement. Attribute: generates SQL statements which correspond to the SELECT-clause attributes of the statement. extension: allows to extend the existing adapter with new methods to cope with future requirements. After all methods are executed and the statement is processed completely, the query result (DB output) is returned from the select block to the client adapter.
190 W. Wöß and A. Dunzendorfer One key advantage of the introduced adapter architecture is that the system information is temporarily stored within the adapter. Therefore only "select" statements or updates of internal data require further database access, thus making the system well performing. In the following section, the functionality of the graphical user interface (GUI) of the client adapter prototype is introduced. 4 The Client Adapter Prototype The generic version of the client adapter starts with the presentation of a selection list containing all those tourism information systems which are supported by the client/ adapter communication system. After the user has selected a TIS, the connection is established and the main window of the client adapter is presented (Figure 8). The implemented client adapter prototype is confined to enable data access to the tourism information system TIScover. First of all, the main window allows the user to specify a query and finally, it presents the query results. Fig. 8. The client adapter user interface In Figure 8 the following criteria are selected: Language: German Currency: Euro
Homogeneous EDI between Heterogeneous Web-Based Tourism Information Systems 191 Region type: Town/Village Region: Linz Object type: Hotel Condition definition: category 4 stars, room type = single room Period: 20 th 26 th October 2001 Subsequently, due to the described selection every information is presented in German in combination with Euro prices. The selected output attributes are hotel name, address, price, category and room type. The selected output format is HTML. The user starts the query process by clicking on the search button. The result set is presented within the frame at the right bottom of the window. The attribute order depends on the selection order of the output attributes. The total implementation effort for client and adapter is approximately 5 person-month. 5 Conclusions Data access to different heterogeneous data sources is an important competition factor for the participants of electronic markets. Especially in the field of tourism information systems, the tourists request for an extensive data collection and adequate search functionalities more and more increases the necessity of co-operations between tourism information systems. Hence, data access to heterogeneous tourism information systems is required in the field of B2C as well as B2B to be able to provide accumulated data of different sources (TIS). In order to support both communication types the presented approach is based on a uniform client/ and / communication using and the introduced adapter concept. The client adapter as add-on for client applications realizes two functions: uniform communication at the client side and a generic and uniform GUI for tourism information systems. The adapter extends a specific TIS, thus, enabling data access to the TIS database by processing statements and returning uniform result sets to the client (adapter). In order to evaluate the client and adapter concept and to have a detailed look on performance and usability features, prototypes for the Austrian tourism information system TIScover were implemented. In most cases existing standards for uniform communication use predefined messages for data interchange. Updates of such messages entail the adaptation of each connected application which processes the affected message(s). Especially for applications in etourism which are characterized by frequent updates and extensions, this inflexibility is not appropriate. This is in contrast to the discussed approach which offers high flexibility in combination with a uniform communication and which can easily be adapted to existing systems. A further advantage is that the client adapter establishes a generic and uniform graphical user interface to search for and to present data of heterogeneous TIS by using. Further work will be the development of a mediator between client adapter and adapter in order to offer the possibility to send only one request and to get and
192 W. Wöß and A. Dunzendorfer collect the results of multiple alternative tourism information systems at the same time. References 1. Gardarin G., Gannouni S., Finance B., Fankhauser P., Klas W., Pastre D., Legoff R., Ramfos A.: IRO DB A Distributed System Federating Object and Relational Databases, In: Bukhres O. and Elmargarmid A.K. (eds.), Object Oriented Multidatabase Systems, Prentice Hall (1994) 2. Gardarin G., Huck G., Bezares J. L., Muñoz J. M., Pühretmair F., Busse R., Muñoz J. L., Iglesias J., Niño M.: General Architecture Specification, Project: XML KM, XML based Mediator for Knowledge Extraction and Brokering, EU Project IST 12030, Deliverable D11 V2.3, e XMLmedia, GMD, IBERMATICA, SITESA (2001) 3. Antich A., Merino M.: MDS structure inside CAP Database, Deliverable of InTouriSME Building an Internet based Tourism Constituency for SMEs in the Less Favored Regions of Europe, EU Project 21349, Deliverable D.5.1.2.5.2 V2.0 (1999) 4. Höpken W.: Modeling of an Electronic Tourism Market, Proc. Information and Communication Technologies in Tourism (ENTER) 1999, Innsbruck, Springer Computer Science (1999) 5. Höpken W.: Reference Model Of An Electronic Tourism Market, Proc. Information and Communication Technologies in Tourism (ENTER) 2000, Barcelona, Springer Computer Science (2000) 6. Wöß W., Dunzendorfer A.: Configurable EDI for Heterogeneous Tourism Information Systems Based on XML, Proc. Information and Communication Technologies in Tourism (ENTER) 2001, Montreal, Springer Computer Science (2001) 7. Dunzendorfer A., Küng J., Wagner R.: Data Access to Heterogeneous Tourism Information Systems, Proc. Information and Communication Technologies in Tourism (ENTER) 1998, Istanbul, Springer Computer Science (1998) 8. Schmoll, Thomas: Handelsverkehr elektronisch, weltweit: Nachrichtenaustausch mit EDI/EDIFACT. Markt & Technik Verlag, München (1994) 9. Küng J., Dunzendorfer A., Wagner R.: A Unified Query Language for Tourism Information Systems. Journal of Information Technology & Tourism (ITT), Applications, Methodologies, Techniques, Werthner H. (Ed.), Vol. 1., Inaugural Volume, Cognizant Communication Corp., New York Sydney Tokyo, ISSN 1098-3058, USA (1998), pp. 73-82 10. Küng J., Dunzendorfer A., Wagner R.: A General Datamodel for Tourism Information Systems, Proc. Information and Communication Technologies in Tourism (ENTER) 1999, Innsbruck, Springer Computer Science (1999) 11. Date C.J., Darwen H.: A Guide to the SQL Standard, Third Edition Addison Wesley ISBN 0 201 55822 X (1994) 12. SUN Microsystems: http://java.sun.com/docs/books/tutorial/getstarted/intro/index.html; Lesson: The Java Technology Phenomenon (February 2002) 13. Moss K.: Java Servlets 2 nd edition, McGraw Hill, New York (1999) 14. SUN Microsystems: http://java.sun.com/products/servlet/, Java Servlet Technology (February 2002) 15. SUN Microsystems: http://java.sun.com/products/jsp/, JavaServer Pages Technology (February 2002) 16. Pröll, B., Retschitzegger, W., Wagner, R: TIScover A Tourism Information System Based on Extranet and Intranet Technology. Proc. of the 4th Americas Conference on Information Systems (AIS 1998), Baltimore, Maryland (1998) 17. TIS Innsbruck, FAW Hagenberg: Homepage of TIScover, http://www.tiscover.com (2000)