Integrating Web Portals with Semantic Web Services: A ... - CiteSeerX

9 downloads 1351 Views 648KB Size Report
tematic way for building such integration systems using the architecture they propose. .... specialized portals which offer theatre tickets sale service. If our user ...
Integrating Web Portals with Semantic Web Services: A Case Study César J. Acuña1, Mariano Minoli1 and Esperanza Marcos 1 1

Kybele Research Group Rey Juan Carlos University – C/Tulipán s/n 28933 Móstoles, Madrid, Spain {cesar.acuna, esperanza.marcos, mariano.minoli}@urjc.es

Abstract. Several integration proposals have arisen along the last years. However they have focused only in data integration, not allowing users to take advantage of services offered by Web portals. Most of mentioned proposals only provide a set of design principles to build integration systems; they lack a systematic way for building such integration systems using the architecture they propose. In previous work we have developed: PISA (Web Portal Integration Architecture) which is a Web portal integration architecture for data and services; and MIDAS-S which is a methodological approach for the development of integration Web portals, built according PISA. This work shows, by means of a case study, how both proposals fit together integrating Web portals.

1 Introduction Nowadays, the World Wide Web (or just Web) is the most popular information source. Besides the well-known Web information sources such as static and dynamic Web portals, digital libraries, etc., there are a large number of Web portals which offer users not only data, but also services like bookstores or theatre and flight ticket booking. These services must also be considered as part of the integration efforts. Current integration proposals do not allow users to take advantage of services offered by Web portals. Traditional integration proposals, based on materialized approaches or mediation schemas, have focused on just data integration; for example [1], [6], [8], [11] and [6]. Some implementation of these works allows only at querying the data available on Web portals; they mostly ignore operational aspects offered by Web portals. Moreover, most of mentioned proposals only provide a set of design principles to build integration systems, however they lack a systematic way for building such integration systems using the architecture they propose. In previous works, we have presented a complete proposal for integration Web portals development. This proposal includes both, a generic software architecture for the Web portal integration called PISA (Web Portal Integration Architecture) [1] and a set of software engineering techniques for development of integration Web portals based on the PISA proposal, called MIDAS-S [2].

PISA is a software architecture which defines the main components needed to build integration Web portals. This architecture takes into account not only data, but also behaviour offered by the Web portals. PISA was defined following an MDA [12] approach as described in [10]:PISA-PIM, which represents those abstract component required by any integration system from a conceptual point of view, and PISA-PSM which is an instance of PISA-PIM using a specific platform. In the case study developed in this paper, PISA-PSM uses as specific platform: the Semantic Web Services technology implemented using the WSMO (Web Services Modeling Ontology) proposal. MIDAS-S complements PISA proposal providing a set of software engineering techniques to ease the development of integration Web portal, built using PISA. In its turn, MIDA-S is based on the MIDAS [5]: framework, a MDA framework for Web information systems development that allows the development of integration Web portals. MIDAS-S adds the semantic aspect to MIDAS. MIDAS-S uses two orthogonal dimensions. First, MIDAS-S gauges the platform dependence degree (based on the MDA approach) and specifies the whole system by Computation Independent Models (CIMs), Platform Independent Models (PIMs) and Platform Specific Models (PSMs). Second, it models the system according to three basic aspects: hypertext, content and behavior. In addition, MIDAS-S suggests using the UML as unique notation for modeling both PIMs and PSMs. At PIM level of MIDAS-S, techniques and models proposed by SOD-M (Service Oriented Development Method) [7] have been followed to develop the behaviour aspect. HM3 (Hypertext Modeling Method or MIDAS) [4] was used for the development of Hypertext. In this paper, by means of a case study, both proposals (PISA and MIDAS-S) are presented: how they fit together to develop integration Web portals. The rest of the paper is structured as follows: Section 2 describes Case Study; Section 3 sets up PISA architecture; in Section 4 and Section 5, integration Web portal development process is presented. Finally, section 6 sums up the main conclusion and state some future work.

2 Case Study Statement: Integrating Madrid City Halls Web Portals. Madrid City Halls have Web Portals containing information about the city, its departments and cultural offer. The main idea of this work is developing a tool that brings users the capability of search across different city hall Web portals and booking of theatre plays tickets without the knowledge of the behind Web portals . To introduce this case study we will present the scenario: Let us imagine a person who lives in the south of Madrid in Spain. This subject is interested in enquiring about the cultural events scheduled for the coming weeks in different cities in his area. On one hand, each city or local government in Madrid has its own Web portal, these portals are formed by a set of html pages which offers information about the cultural events (cinema ses-

sions, theatre performances, etc), among others. On the other hand there are specialized portals which offer theatre tickets sale service. If our user wants to attend to a specific cultural event, he must: a) to access each local government Web portal to retrieve information about cultural events, b) to look for another Web portal which offer a theatre ticket sale service. It’s clear that it would be very useful for the user having a Web portal that offer information of several cities, besides the possibility of booking tickets for founded plays. The goal is building an integration portal that allows users getting information about different cultural events taking place in different cities, and buying tickets for these events. One important thing is that integration problem must be transparent to users. Note that in this case study, integration of services and data are combined. On the one hand city hall portals offer cultural events information (data); on the other, the selling tickets service is offered by other specialized portals.

3 Case Study architecture in PISA This section describes Case Study architecture using PISA. PISA is an architectural model which defines main components required by an integration system. PISA has been defined following an MDA fashion, so it achieves the benefits of an MDA approach. Process followed to define software architecture into MDA framework is explained in [10]. First, an architectural model at PIM level called PISA-PIM has been defined. Services involved in PISA-PIM can be split into two groups: Core Services Group composed by mandatory services to achieve integration; and Access Services Group, composed by external services, used to wrap the data or services in the Web portals. Integration components can be implemented by different specific technologies depending on specific needs, available technologies, etc. Starting from PISA-PIM, multiple architectural models can be obtained according to chosen platform. In this work, it has been decided to implement the above described architecture by means of semantic Web services (SWS) following WSMO (Web Services Modeling Ontology) approach [13]. Obtained architecture is shown in Figure 1. Note that integration level is implemented using WSMX (Web Services Execution Environment): an execution environment for semantic Web services provided by WSMO. In few words, this architecture works as follows: User Interface creates a requirement and translates it into a WSML message consisting of a goal that describes what WSMX should execute. The goal is then sent to WSMX for execution. Before WSMX can execute the goal, WSML descriptions of the WS offering the capability that matches the service requirement, the ontologies these WS use, and the source format ontology must have been created and compiled to WSMX. When WSMX receives the WSML message with a specific goal, it discovers the WS that best matches that goal, mediates the service requirement data following mapping rules between the source format ontology and the ontology of the discovered WS, and finally invokes it, providing the data to it in the concepts and formats it expects.

Integration Portal GOAL (WSML )

Access Level

Response

Ontolog y (WSML )

Integration Level

WSMX

Web Service (WSML )

Web Service (WSML )

Access Web Service

Alcrocón Web Portal

Fig. 1.

Web Service (WSML )

Access Web Service

Madrid Web Portal

Access Web Service

Colmenar de Oreja Web Portal

Web Service (WSML ) Access Web Sources Service

Level

Telentrada.co m Web Portal

PISA architecture for Case Study.

Development has been guided by MIDAS-S proposal considering the PISA-PSM model. Here is the task list followed during this work: 1. Selection of Web Portals to integrate. It includes the task of selecting which City Halls portals to integrate. Two Web Portals corresponding to Madrid and Colmenar de Oreja city halls have been specifically selected. Those portals have been chosen considering the amount of information they bring. These Web portals provide information about the city in general, the government, etc. Both are almost totally static sites. For the achievement of this task, we have focused in the information provided by cultural council; in particular in the cultural events section. Besides, the Tickets Selling Web Portal called Telentrada.com was also took into account for the integration Web portal. The teleentrada.com Web Portal is specialized in cultural events tickets selling. Although this site has been developed for human interaction, our Access Services provides adequate interfaces that allow the integration portal to use it services. 2. Access services construction. Several Web Services where developed in order to allow portals services and data being exposed as services. As part of this task, WSMX Ontologies, Goals and service descriptions are made. Details about semantic aspects of Access Services development process have been included in Section 5. However, details about how those Web Services have been developed are omitted for space reasons. 3. Integration Portal development. Starting from the services to integrate, the Web Portal has been built. In Section 4, MIDAS-S modelling techniques used to model Integration Portal behaviour and hypertext aspects are described. PSM level details about Integration Portal development are out of the scope of this paper.

4

MIDAS-S PIM

At PIM level of MIDAS-S, techniques and models proposed by SOD-M (Service Oriented Development Method) [7] have been followed to develop the behaviour aspect. HM3 (Hypertext Modeling Method or MIDAS) [4] was used for the development of Hypertext. 4.1 Behaviour Aspect Modeling with SOD-M As said earlier, SOD-M has been used to model Web portal behaviour aspect. More details about SOD-M can be found in [14]. This method starts from business models, but for simplicity, those models have been omitted here, starting directly from PIM models. Figure 2 shows Integration Web Portal Use Case Model. In this model, an actor, the Integration Portal user, is represented. Besides, business services offered by portal are shown. Look for Cultural Events «extend»

Integration Portal User

Fig. 2.

Buy Tickets

Integration Web Portal Use Case Model

In the Extended Use Case Model, required functionalities to achieve the business services are shown. Figure 3 shows the extended Use Case model for “Look for Cultural Events” use case. Use cases have been stereotyped with which means they are Basic Uses Cases (not Composed ones). Structural Use Cases For space reasons, in next sections only models related to “Look for Cultural Events” use case have been included.

Fig. 3.

Extended Use Case Model “Look for Cultural Events”

Once required functionality has been identified, service process model is used to represent the work flow (see figure 4)

Select City

Fig. 4.

View Events

Service Process model for “Look for Cultural Events”

Inte gra tio n Po rta l

In figure 5, Service Composition Model for “Look for Cultural Events” is shown. In this model, two collaborators have been identified. Those collaborators represent two different levels in PISA-PIM levels. Get City

Build Goal

InvoqueService

Integ ra tio n Le ve l

goal

WSList

Discovery playList

Sou rces Le vel

Fig. 5.

Show Event List

getPlays ()

Service Composition Model for “Look for Cultural Events” business service

In te gratio n P or ta l

The extended service composition model is the next model to develop. This model allows the representation of Web Services platform specific details. Figure 6 shows Extended Service composition model for “Look for Cultural Events”. To represent this model, actions that will be implemented as Web Services have been identified. Get City

Build Goal

InvoqueService

WSMX

goal

Show Event List

WSList

Discovery

Ci ty Ha ll

playList

Fig. 6.

> getPlays ()

Extended Service composition model for “Look for Cultural Events”

4.2 Hypertext Aspect Modeling with HM3 This method shares some models created in SOD-M to obtain the Navigation Model. In [4] more details about HM3 can be found. In figure 7 Extended Use Case Model for Business Service “Look for Cultural Events” is presented. Use cases have been stereotyped with for Structural Use Cases (used when its functionality is

only to provide a data view) and for those Functional Use Case (used when interaction with the user is needed).

Fig. 7.

Extended Use Case Model for Business Service “Look for Cultural Events”,

Figure 8 shows Extended Navigation Model for the Integration Web Portal, where the part corresponding to the “look for cultural event” business services is remarked. {VE}

«FB» Seleccionar Ciudad -Ciudad

> {VE}

{CE} Consultar Eventos Culturales Comprar Entradas

Inicio

Fig. 8.

{VE}

«SS» Visualizar Eventos -Titulo Obra

VE = Visualizar Eventos Culturales CE = Comprar Entradas

{CE} {CE} «SS» Mostrar Sesiones -Titulo Obra -Fecha -Sesión -Tipo de Butaca -Precio

> {CE}

«FB» Seleccionar Butacas -Titulo Obra -Fecha -Sesión -Tipo de Butaca -Precio -Cant . de Entradas

{CE}

«FB» Introducir Datos De pago -Titulo Obra -Fecha -Sesión -Tipo de Butaca -Precio -Cant. de Entradas -Nro. Tarjeta -Fecha de Caducidad -Nombre del Titular

«SS» > Confirmar Compra -Titulo Obra {CE} -Fecha -Sesión -Tipo de Butaca -Precio -Cant . de Entradas

Extended Navigation Model for the Integration Web Portal

Such model is obtained from Extended Slice model (omitted in this work). Extended Slice model is created by adding information from service process model (in order to obtain routes), and from data conceptual model (in order to obtain attributes). Extended navigation model is obtained by adding navigational structures like menus, and guided tours.

5

MIDAS-S PSM

At PSM level, MIDAS-S has been used to model semantic descriptions of Access Services. For definition of semantic aspect, MIDAS-S adds new elements. Note that semantics aspect of MIDAS-S is transverse with respect to all aspects considered in MIDAS. That is because it is possible to include semantics considerations to any aspect when needed. Figure 9 shows how semantic elements fit together in MIDAS-S Framework. For space limitations, a detailed description of MIDAS-S is omitted, an extended description can be found in [2]; nevertheless next section shows through a case study, how to model semantic aspects of Web Integration Portal with MIDAS-S

CIM

CONTENT

HYPERTEXT

PIM

BEHAVIOR

P SM

P IM PS M

>



User Service Model

SEMANTICS

Extended Use Case Model Service Process Model

Service Composition Model

BPEL 4 WS Model

WSDL Model

BEHAVIOR

Fig. 9.

WSMO Ontology Model

Mediator Model

Semantic WS Model

Goals Model

SEMANTICS

MIDAS-S Framework

5.1 Semantic Aspect Modeling with MIDAS-S In order to semantically describe Web Services used as Access Services by Web Integration Portal, semantic elements have been created. Those elements are: Ontologies, service descriptions and goals. For those elements description, UML Profiles defined in MIDAS-S are used. Figure 10 shows the Ontology Context Model for Theatre Tickets Ontology. In this model name spaces, imported Ontologies, among others are defined. http:// www .wsmo .org / wsml /wsml -syntax «WSMOImport» wsml " http://purl .org/dc/ elements /1.1/ «WSMOImport» dc

«WOntology» http :// kybele .escet .urjc .es / TheatreTicketsOntology

Fig. 10. Ontology Context Model for Theatre Tickets Ontology Figure 11 shows the Ontology Content Model for Theatre Tickets Ontology. In this model concepts and their attributes and instances are defined.

«instance» MunicipalColmenarDeOreja

«instance» CCdelaVilla

-locatedIn = ColmenarDeOreja -theaterName = Teatro Municipal Diéguez «memberOf»

«Concept» Place -hasName : String

«instance» UnaObra

-locatedIn = Madrid -theaterName = Centro Cultural de la Villaejo «memberOf»

-Name = MyPlay -isOfferedIn = Teatro Municipal Diéguez -playDate = _date (1,1,2000 ,20,30 ) «memberOf»

«Att» isOferedIn «Concept» Theatre

«ImpliesType» «Att» playDate -ofType : Date

«Att» cityName - ofType : String

«Att» TheaterName -ofType : String

«Concept» Play

«Att» Name -ofType : String

«Att» LocatedIn

«ImpliesType»

«Concept» City

«ImpliesType»

«ImpliesType» «Att» cityName

«memberOf»

«Att» playList

«memberOf»

«instance» Madrid - cityName = Madrid

«instance» ColmenardeOreja - cityName = Colmenar de la Oreja

«Concept» requestByCity

«Concept» Response

Fig. 11. Ontology Content Model for Theatre Tickets Ontology As said earlier, Semantic Web Services are built over traditional Web Services by adding semantic descriptions. As an example, figure 12 shows the semantic description for getplays() method. This method is used to get a play list. «WSMOImport» dc "http :// purl .org /dc/ elements /1.1/

«Capability»

«WebService» http :// 193 .147 .52 .71 /MadridWS / getPlays .asmx ? WSDL

«WSMOImport» tto «WOntology» http :// kybele .escet .urjc .es/ TheatreTicketsOntology

«Precondition»

-SharedVar = ?Request

{? Request memberOf tto

«PostCondition»

#requestByCity

}

{(?request [theCity hasValue ?theCity ] memberOf requestByCity implies exists ?container (?container memberOf tto #response and forall ?play (?container [playList hasValue ?play ] implies ?play [playCity hasValue ?theCity ] memberOf tto #Play )) )}

Fig. 12. Web Service Context and Content Model On top of figure 13 Context Web Service is shown, at the bottom, the Content Model. The Content Model has a capability. This capability has as a precondition to receive a request by city (?request). This capability has a post condition defined through Response concept. Goals have been the last elements developed. Goals are representations of an objective for which fulfilment is sought through the execution of a Web service. Figure 13 shows generic structure of goals used by Integration Web Portal. This generic structure is used by replacing ?theCity variable. This goal allows discovering all serv-

ices that are able to retrieve a list of plays located in a particular City by referencing a concept instance. «WSMOImport» dc "http :// purl .org /dc/ elements /1.1/

«Capability»

«WebService» http :// 193 .147 .52 .71 /MadridWS / getPlays .asmx ? WSDL

«WSMOImport» tto «WOntology» http :// kybele .escet .urjc .es/ TheatreTicketsOntology

«Precondition»

-SharedVar = ?Request

{? Request memberOf tto

«PostCondition»

#requestByCity

}

{(?request [theCity hasValue ?theCity ] memberOf requestByCity implies exists ?container (?container memberOf tto #response and forall ?play (?container [playList hasValue ?play ] implies ?play [playCity hasValue ?theCity ] memberOf tto #Play )) )}

Fig. 13. Context and Content Model for generic Goal Once semantic descriptions have been finished, are loaded into WSMX repository. Next step in construction of Web integration portal is coding Web pages that interact with users and invocate the corresponding Web services. Web portal obtained integrates information and services from various sites by making semantic searches and invoking different Web services.

6 Conclusions and Future Work This work have presented the development process of an integration Web portal according with PISA and following techniques provided by MIDAS. PISA and MIDAS form a complete proposal for Web portal integration. On one hand, PISA sets up design principles to develop integration Web portals, defining a set of components to achieve the integration; on the other hand, MIDAS provides a set of techniques, specially MIDAS-S, to systematically build integration Web portals based on PISA. This work have shown, by means of a case study, how both proposal fit together to develop a Web portal to integrate information about several city hall Web portals. For PISA implementation at PSM-level, semantic Web services have been used. As part of the future work, we are developing more integration Web portals, in order to refine and validate in depth our proposal.

Acknowledgements This work is partially founded by the following research projects: GOLD (TIN 20050010) financed by the Spanish Ministry of Education and Sciences; Agreement Technologies” (CONSOLIDER CSD2007-0022, IN-GENIO 2010), and FOMDAS (URJC-CM-2006-CET-0387) financed by the Rey Juan Carlos University and the

Local Government of Madrid. We also want to thank Elisa Herrmann for it valuable help in the last minute English revision of this work.

References 1 2

3

4

5

6 7

8 9

10

11 12 13 14

Acuña C., Gómez J.M., Marcos E., Bussler C.. Towards Web Portal Integration through Semantic Web Services. Proceedings of the International Conference on Next Generation Web Services Practices (NWeSP'05). IEEE Computer Society. pp 223-228, 2005. Acuña C., Marcos E. Modeling semantic Web services: a case study. Actas del 6th International Conference on Web Engineering (ICWE 2006). ACM Press, D. Wolber, N. Calder, C. Brooks, A. Ginige (Eds.), pp.32-39, 2006. Bayardo Jr., R. J., Bohrer, W., Brice, R., Cichocki, A., Flower, J., Helal, A., Kashyap, V., Ksiezyk, T., Martin, G., Nodine, M., Rashid, M., Rusinkiewicz, M., Shea, R., Unnikrishnan, C., Unruh, A. and Woelk, D.: Infosleuth: Agent-Based Semantic Integration of Information in Open and Dynamic Environments. In Proceeding of the ACM SIGMOD International Conference on Management of Data, pp. 195-206, 1997. Cáceres, P., De Castro, V., Marcos, E. Navigation Modeling from a User Services Oriented Approach. Proceedings of the 3rd Biennial Int. Conference in Advanced in Information Systems (ADVIS 2004). T. Springer Verlag, LNCS 3271, pp. 150-160. Cáceres, P., Marcos, E., Vela, B. A MDA-Based Approach for Web Information System Development, Proceedings of Workshop in Software Model Engineering. Retrieved from: http://www.metamodel.com/wisme-2003/. Collet C., Huhns N. y Shen W. Resource Integration using large knowledge base in Carnot.. IEEE Computer, pp 55-62, 1991. De Castro V., Marcos E., López Sanz M.. A Model Driven Method for Service Composition Modeling: A Case Study. International Journal of Web Engineering and Technology, Vol. 2(4), Eds: Inderscience Enterprise Ltd, pp. 335-353, July 2006. Eyal A., Milo T.: Integrating and customizing heterogeneous e-commerce applications. The VLDB Journal Vol. 10-2001, pp. 16-38, 2001. Levy A., Rajaraman A., Ordille J.: Querying heterogeneous information sources using sources descriptions. In 22th International Conference on Very Large Data Bases, pp. 251-262 1996, Bombay, India, 1996. Marcos E., Acuña C., Cuesta C.. Integrating Software Architecture into a MDA Framework. Actas del 3rd European Workshop on Software Architectures (EWSA 2006). V. Gruhn, F. Oquendo (Eds.), LNCS 4344, pp.127-143, 2006. Mena E., Kashyap V., Sheth A., and Illarramendi A.: Observer: An approach for query processing in global information systems based on interoperation across pre-existing ontologies. In Intl. Conf. on Cooperative Information Systems (CoopIS `96), 1996. OMG. Model Driven Architecture. Document number ormsc/2001-07-01. Ed.: Miller, J. y Mukerji, J. Recuperado de: http://www.omg.com/mda, 2001. WSMO: www.wsmo.org -WSMX: www.wsmx.org WSML: www.wsml.org V. de Castro, E. Marcos, P. Cáceres. A User Services Oriented Method to model Web Information Systems. Actas de 5th International Conference on Web Information Systems Engineering (WISE 2004), X. Zhou, S. Su, M. Papazoglou, M. Orlowska, K. Jeffery (Eds.), Springer Verlag, LNCS 3306, pp. 41-52, 2004. (Ratio de aceptación: 22%).