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.