A Service–Oriented Customizable Digital Library - ACM Digital Library

2 downloads 503 Views 109KB Size Report
of a service–oriented integration architecture dynamically evolving as new ... services are search engines for book and journal repositories. Other services, like ...
2004 ACM Symposium on Applied Computing

A Service–Oriented Customizable Digital Library Poster Abstract Claudia Di Napoli and Maurizio Giordano Istituto di Cibernetica “E.Caianiello”, C.N.R. Via Campi Flegrei, 34 I-80078 Pozzuoli Naples, Italy {c.dinapoli,m.giordano}@cib.na.cnr.it

ABSTRACT Web services represent the new methodological and technological challenge in the area of Web–based systems, but they raise problems of discovery, interoperability, security. In this paper we address the problem of Web service interoperability, proposing a Digital Library system that allows for the integration of services offered by different providers. Furthermore, the services provided to the Digital Library user community can be customized according to user profiles. The proposed system represents a prototype example of a service–oriented integration architecture dynamically evolving as new services become available to be integrated.

Categories and Subject Descriptors T.26 [Web Technologies and Applications]: Web services, Web searching and crawling, Conceptual Modeling of Web applications, Personalization of Web applications

General Terms Design, Experimentation, Languages

Keywords Web Services personalization, service–oriented programming

1.

INTRODUCTION

The new service–oriented computational paradigm seems to be a promising approach for developing Web–based systems. This paradigm is also widely supported by the new market technology of Web Services that allow to expose to the network hardware and software resources as a new generation of “on demand” components for grid, wireless, mobile and pervasive computing. Web Services are self–contained, self–describing universally accessible software components deployed on the Web [3], that adopt core standards characterized by fairly low complexity, all based on the XML lan-

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SAC’04 , March 14-17, 2004, Nicosia, Cyprus Copyright 2004 ACM 1-58113-812-1/03/04 ...$5.00.

guage [4] specification. Web Services composition and integration enable the development of Web Applications leading to a new view of Internet, where web resources are generic functions, i.e. services, provided by different machines all over the Internet. Interoperability is a key issue in service–oriented architectures for distributed computing where a complex application can be designed by decomposing it in services that may be either new software components to be implemented, or existing ones already available in Internet to be re–used. The Web Services programming paradigm provides a standard approach to address interoperability problems. We propose to exploit these features of Web Services technology to implement a Service–Oriented Digital Library architecture (SODiL) for the development of Digital Library (DL) systems. The service–oriented approach seems well suited to these applications, where several collections of heterogeneous library repositories, bookstore archives, and databases can be put together to provide additional and added–value services to DL users [1]. With SODiL it is possible to build a customizable Digital Library application, whose core functions are Web Services and new functions, provided by other parties, can be added as soon as they become available. SODiL uses the emerging service–oriented approach together with Web Services technologies (WSDL [5], UDDI [7], SOAP [6]) and XML–based metadata description to provide both system interoperability as well as additional features for service adaptability to user profiles and dynamic binding.

2.

THE SODIL APPROACH

In the SODiL framework, services performing different tasks related to a Digital Library application (in particular the Digital Library of the Istituto di Cibernetica “E. Caianiello”) are made available to users through the web. These services are search engines for book and journal repositories. Other services, like search engines on external repositories, or other services not strictly related to the library like e– commerce services, semantic matchers, language translators can be dynamically integrated in the system when available on the Internet. New services coming from the composition of building–block services that implement specific functionalities can be developed within the same environment. The design of the proposed SODiL architecture is based on a modular approach allowing for the development of a flexible DL web application whose functions are represented by interoperable services. The interoperability we refer to concerns the integration of information and functionality

1730

sources that “do not know each other” and that need to cooperate despite differences in programming languages, interface and execution platforms [8]. The integration of sources of data and functions will result in applications providing added–value functionalities that could not be supplied by a single component. The added– value functionalities will be used both to augment the information repositories accessed by users, and to include new functionalities that can also be not directly related to library activities. Once integrated, such extra functionalities will improve the quality of library services offered to users. The workflow of the proposed application is: • interface definition for services by means of XML-based descriptions, that contain metadata information to help finding services by means of keywords–based queries; • service publication in repositories (UDDI) that can be identified on Internet and browsed via the web; • client program development for service invocation; • service customization according to the user profile. This approach avoids re–implementing the software components already available for the Digital Library application, and it allows these components to interoperate with other applications enabling us to build a “Virtual Digital Library” whose functionalities change dynamically in time: existing services can be replaced with new ones, obsolete services can be removed, and new services can be added without the need of re–design and re–implement the whole system. These aspects are related to the library system design flexibility. The Virtual Digital Library design allows to choose services according to their types and to customize them according to the user needs, by means of flexible and customizable client programs to access the Digital Library.

3.

THE IMPLEMENTATION STRATEGY

The SODiL architecture is composed of software modules each one responsible for a system functionality:

Service Discovery (SD). It is responsible for selecting services provided to DL users. All the required information about “how” (interface and protocol) and “where” (provider endpoint) to bind and invoke services is obtained by retrieving and processing the service interface descriptor and the service implementation descriptor.

Service Adaptability (SA). It is responsible for customizing service interface descriptors according to user profiles represented as user–descriptive templates. The filtered interfaces are then processed to generate on–fly HTML forms to provide service inputs and to display service outputs. Service Invocation (SI). It is the service engine of the SODiL system, a fully–parametrized software component accepting as inputs the service endpoint, the operation name, the input data together with their types, and output format; the service engine invokes and executes any service given as input, thus dynamically adding and providing new functionalities in the SODiL framework. During a SODiL session the user interacts with a DL web client application that calls the functions offered by

the SODiL components to perform the actions necessary for service processing: discovery, interface customization, input provision, provider binding, invocation and output display. So the client application offers a DL front–end for services to users over Internet. Nevertheless, DL services can be discovered, personalized and invoked in standalone applications: according to the Web Services methodology, SODiL services can be encapsulated in Web Services and exposed to Internet for remote invocation. In this scenario the DL client application could play the role of a new provider for services customized according to user profiles. When browsing the DL client web interface, the user is first provided with a list of available DL services. This list is the result of a discovery process performed by the SD component that searches the DL private registry (SDR) to select services and gather information according to the searching criteria and the user profile. After service selection, an HTML form to provide service inputs is generated on–fly as the result of processing the service interface descriptor customized according to the user profile template.

4.

CONCLUSIONS

The novelty in SODiL is that it offers local customized interfaces not only for services provided by the Digital Library hosting machine, as it normally happens, but also for different remote service providers distributed over the web. Another aspect of the SODiL framework is its dynamic extensibility: new services can be added in the system by simply storing the URIs corresponding to the service implementation and interface descriptors. All the remaining work is done by the system at runtime. Service customization takes place both at the service orchestration level, and at the single service level by using personalized client programs. We plan to investigate Semantic Web techniques [2] to provide more sophisticated semantic descriptions of Web Services and their operations, as well as of user profiles to make the customization more effective.

5.

ACKNOWLEDGMENTS

The authors want to thank Gianfranco Fedele for his contribution in SODiL implementation during his thesis work for the degree in Computer Science (University of Naples).

6.

REFERENCES

[1] W. Y. Arms. Key concepts in the architecture of the digital library. D-Lib Magazine, 0(7), 1995. [2] T. Berners-Lee, J. Hendler, and O. Lassila. The semantic web. Scientific American, May 2001. [3] M. Champion, C. Ferris, E. Newcomer, and D. Orchard. Web services architecture. http://www.w3.org/TR/ws-arch/. [4] T. Bray et al. Extensible markup language 1.0 (second edition). http://www.w3.org/TR/REC-xml. [5] R. Chinnici et al. Web services description language vers. 1.2 part 1: core language. http://www.w3.org/TR/wsdl12/. [6] M. Gudgin et al. Soap version 1.2 part 0: Primer. http://www.w3.org/TR/soap12-part0/. [7] The Stencil Group, Inc. The evolutioon of uddi. http://www.uddi.org/whitepapers.html. [8] P. Wegner. Interoperability. ACM Computing Surveys, 28(1):285–287, 1996.

1731