B. Benatallah et al. (Eds.): ICWE 2010, LNCS 6189, pp. 50–65, 2010.
© Springer-Verlag Berlin Heidelberg 2010
Designing Service Marts for Engineering Search
Computing Applications
Alessandro Campi, Stefano Ceri, Andrea Maesani, and Stefania Ronchi
Politecnico di Milano, Italy
{campi,ceri,maesani,ronchi}@elet.polimi.it
Abstract. The use of patterns in data management is not new: in data
warehousing, data marts are simple conceptual schemas with exactly one core
entity, describing facts, surrounded by multiple entities, describing data analysis
dimensions; data marts support special analysis operations, such as roll up, drill
down, and cube. Similarly, Service Marts are simple schemas which match
"Web objects" by hiding the underlying data source structures and presenting a
simple interface, consisting of input, output, and rank attributes; attributes may
have multiple values and be clustered within repeating groups. Service Marts
support Search Computing operations, such as ranked access and service
compositions. When objects are accessed through Service Marts, responses are
ranked lists of objects, which are presented subdivided in chunks, so as to avoid
receiving too many irrelevant objects – cutting results and showing only the
best ones is typical of search services. This paper gives a formal definition of
Service Marts and shows how Service Marts can be implemented and used for
building Search Computing applications.
1 Introduction
Search Computing is a new paradigm for composing search services [7]. While state-
of-art search systems answer generic or domain-specific queries, Search Computing
enables answering questions via a constellation of cooperating search services, which
are correlated by means of join operations. Search Computing aims at responding to
queries over multiple semantic fields of interest; thus, Search Computing fills the gap
between generalized search systems, which are unable to find information spanning
multiple topics, and domain-specific search systems, which cannot go beyond their
domain limits. Paradigmatic examples of Search Computing queries are: “Where can
I attend an interesting scientific conference in my field and at the same time relax on a
beautiful beach nearby?”, “Where is the cinema closest to my hotel, offering a high
rank action movie and a near-by pizzeria?”, “Who is the best doctor who can cure
insomnia in a nearby public hospital?”, “Which are the highest risk factors associated
with the most prevalent diseases among the young population?” These queries cannot
be answered without capturing some of their semantics, which at minimum consists in
understanding their underlying domains, in routing appropriate query subsets to each
domain-expert search engine, and in combining answers from each engine to build a
complete answer that is meaningful for the user.