Recruiting & HR

15 pages
8 views

A knowledge-based framework for building web service domains

of 15
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Share
Description
A knowledge-based framework for building web service domains
Transcript
  A Knowledge-based Framework for BuildingWeb Service Domains 1    Nick Bassiliades and Ioannis Vlahavas Department of Informatics, Aristotle University54124 Thessaloniki, Greece Email: {nbassili,vlahavas}@csd.auth.gr Abstract. This paper describes a knowledge-based framework, called SWIM,for building Web Service Domains, which are collections or communities of re-lated Web Services that are mediated and/or aggregated by a single Web Ser-vice, called the Mediator Service that functions as a proxy for them. When a re-questor sends a message to the Mediator Service our system will select one or more of the Web Services to dispatch the message and will fuse the results re-turned by the selected services. The selection of Web services and the algorithmfor fusing the results is defined by the administrator of the Service Domain us-ing a declarative rule language, called X-DEVICE. SWIM system offers ser-vices for registering new Web Services and Service Domains. The main advan-tage of the SWIM system, compared to similar proposed approaches is that itallows the easy definition of arbitrary service selection strategies using a logic- based language. Furthermore, it goes beyond the mere conditional re-routing of Web Service requests by allowing combination of results of multiple Web Ser-vices leading to a simple logic-based form for Web Service composition. 1   Introduction The Web is becoming more than just a collection of documents; applications and ser-vices are coming to the forefront. Web services will play a crucial role in this trans-formation as they will become the basic components of Web-based applications [15].A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered byother software systems. These systems may then interact with the Web service in amanner prescribed by its definition, using XML based messages conveyed by internet protocols [10].The use of the Web services paradigm is expanding rapidly to provide a systematicand extensible framework for application-to-application (A2A) interaction, built ontop of existing Web protocols and based on open XML standards. Web services aimto simplify the process of distributed computing by defining a standardized mecha-nism to describe, locate, and communicate with online software systems. Essentially, 1 Partially supported by the Greek R&D General Secretariat through a bilateral Greek-Ukrainian project (EPAN- Μ .4.3, No. 2013555).   332each application becomes an accessible Web service component that is described us-ing open standards.When individual Web Services are limited in their capabilities, they can be com- posed to create new functionality in the form of Web Processes. Web Service compo-sition is the ability to take existing services (or building blocks) and combine them toform new services [16] and is emerging as a new model for automated interactionsamong distributed and heterogeneous applications. To truly integrate applicationcomponents on the Web across organization and platform boundaries merely support-ing simple interaction using standard messages and protocols is insufficient [1] andWeb services composition languages, such as WSFL [14], XLANG [19] andBPEL4WS [12], are needed to specify the order in which WSDL services and opera-tions [11] are executed.Web Service Domain is a service composition model where a requestor needs acollection of related services that he/she will use in a non-predefined manner [15].Properties beyond the signature level of a concrete service are irrelevant to a re-questor, i.e. individual ports providing the same service are indistinguishable from arequestor's point of view. A service domain aggregates these services by providing asingle service that functions as a proxy for them [18]. When a requestor sends a mes-sage to this proxy the environment will select one of the services and dispatch themessage to it. Another reason for building Service Domains is to increase systemscalability for large Web-based applications [7]. When the number of services to becomposed is large and continuously evolving, the most appropriate approach to fol-low is divide-and-conquer  ; services providing similar capabilities are grouped to-gether, and these groups take over some of the responsibilities of service composition.Existing approaches for building Service Domains [18] or Service Communities[7] just select a single service for re-routing the requestor message that arrives at the proxy service. In this paper we go beyond this simple aggregation model for ServiceDomains and we propose the SWIM system, which is a knowledge-based framework for building Web Service Domains that have the capability of delegating a single re-quest to multiple Web Services and fusing the results into a single response message.The selection of Web services and the algorithm for fusing the results is defined bythe administrator of the Service Domain using a declarative rule language, calledX-DEVICE. SWIM system offers services for registering new Web Services and Ser-vice Domains. The main advantage of the SWIM system, compared to similar pro- posed approaches is that it allows the easy definition of arbitrary service selectionstrategies using a logic-based language. Furthermore, it goes beyond the mere condi-tional re-routing of Web Service requests by allowing combination of results of mul-tiple Web Services leading to a simple logic-based form for Web Service composi-tion.The rest of the paper is organized as follows. Section 2 presents the architectureand main functionality of the SWIM system. Section 2.3 presents an overview of X-DEVICE, a deductive object-oriented XML database system [6] that is used for regis-tering Web Service components and for defining logic-based algorithms for selectingWeb Services to delegate the requestor message and for fusing the results. Section 4gives several examples of how the X-DEVICE rule language is used in SWIM tomanage the Service Domains. Finally, Section 5 concludes this work and poses futureresearch directions.   333In the rest of the paper we will use the WebDisC system [20] as an example of aService Domain under the SWIM system. WebDisC is a knowledge-based Web in-formation system for the fusion of syntactically heterogeneous classifiers induced atgeographically distributed databases. SWIM is actually a generalization of the fea-tures firstly encountered during the development of the WebDisC system. In the paper we show how the WebDisC system could be developed as a Service Domain of theSWIM system. 2   SWIM System SWIM is a knowledge-based framework for building Service Domains i.e. communi-ties of related Web Services. Each Service Domain consists of one or more Mediator Services. Each Mediator Service either fuses (or aggregates) the results of multipleWeb services or just reroutes Web Service requests to the appropriate Web Service(-s). All Web services that are mediated by the same Mediator Service perform thesame functionality, although Web Services are not homogeneous, i.e. their signatures(input and output messages) may structurally differ. The system's main functionalityincludes: i) a declarative rule language for defining Web Service selection strategiesand result aggregation algorithms, ii) Web services for creating new mediators anddomains and for registering Web Services. The rest of this section describes the archi-tecture, functionality, and methodologies of the system. The architecture of SWIMcomprises 5 basic components as depicted in Fig. 1 : i) Clients, ii) Domain administra-tors, iii) Web Service administrators, iv) the SWIM server, and v) the SWIM Nodes.  SWIM server  X-DEVICE    SWIM node  j     SWIM node i    WebService ADMIN  RegisterWebService  Service Domain ADMIN  RegisterMediatorServiceRegisterServiceDomain CLIENT  CallMediatorService 1  CallMediatorService 2  CallMediatorService m   ... CallWebService i1  CallWebService i2  CallWebService in   ... CLIENT  CallWebService  jm  CallWebService  j1   ... CLIENT  Fig. 1. The architecture of SWIM   334 2.1   SWIM Nodes SWIM Nodes are Web sites that host one or more Web services that participate in theService Domain hosted by SWIM. The WSDL descriptions of all SWIM Node Webservices must follow the template (sample) that can be found at [17], along with thecommon structure of the input and output messages. A sample input message thatconforms to this schema is shown in Fig. 4 .Web services need to register to the SWIM server through the RegisterWS ser-vice ([17]). The input message of this service describes the names and types of inputand output attributes of the Web service, as well as additional data that characterizethe service and help the mediator service at selecting Web Services and processing theresults (see sample message in Fig. 2 ). 2.2   SWIM Server The SWIM Server is the coordinating component of the system. It consists of the X-DEVICE deductive XML database system and the RegisterServiceDomain , Reg-isterMediatorService , and RegisterWS services for registering the correspond-ing entities. Furthermore, for each mediator service that has been registered there is acorresponding Web service. WSDL descriptions for the above services as well as for a sample Mediator Service can be found at [17].X-DEVICE's main purpose is the storage of meta-data regarding the Service Do-mains, Mediator Services and Web Services that are registered with SWIM. Thesemeta-data include: service names, descriptions, and addresses, names and types of theinput and output attributes, plus additional data needed for Web service selectionand/or result fusion. The meta-data DTDs define the type of objects that are stored inX-DEVICE for each entity type, according to the XML-to-object mapping scheme of X-DEVICE. Notice that the actual XML Schema data types for  attType and wSAd-dress elements are xs:anyType and xs:anyURI , respectively. Sample metadatafor Service Domain, Mediator Service and Web Service can be found in [17]. 2.3   Clients and Administrators Clients are applications that exploit the functionality of SWIM by directly using theSWIM server's Mediator Services either to combine results from multiple Web ser-vices or to just use Web services without knowing details regarding their name andlocation. In the latter case Mediator Services just re-route the incoming request to theappropriate Web Service.Service Domain administrators are users that register entities in the SWIM server.Service Domain administrators first register a Service Domain and then can register one or more mediator services within that Domain. Web service administrators regis-ter Web services for a specific Mediator Service within SWIM.   335 3   X-DEVICE Rule Language X-DEVICE is an OODB system that stores XML documents by automatically map- ping the DTD to an object schema. Furthermore, X-DEVICE employs a powerfulrule-based query language for intelligently querying stored Web documents and dataand publishing the results. X-DEVICE is an extension of the active object-orientedknowledge base system DEVICE [4]. DEVICE integrates deductive and productionrules into an active OODB with event-driven rules [13], on top of Prolog. This isachieved by translating the condition of each declarative rule into a set of complexevents that is used as a discrimination network to incrementally match the conditionagainst the database.The advantages of using a logic-based query language for XML data come fromthe well-understood mathematical properties and the declarative character of suchlanguages, which both allow the use of advanced optimization techniques, such asmagic-sets. Furthermore, X-DEVICE compared to the XQuery [8] functional querylanguage has a more high-level, declarative syntax that allows users to express every-thing that XQuery can express, in a more compact and comprehensible way, with the powerful addition of general path expressions, which is due to fixpoint recursion andsecond-order variables. 3.1   XML Object Model The X-DEVICE system translates DTD definitions into an object database schemathat includes classes and attributes, while XML data are translated into objects. Gen-erated classes and objects are stored within the underlying object-oriented databaseADAM [13]. The mapping of a DTD element to the object data model depends on thefollowing: •   If an element has PCDATA content (without any attributes), it is represented as astring attribute of the class of its parent element node. The name of the attribute isthe same as the name of the element. •   If an element has either a) children elements, or b) attributes, then it is representedas a class that is an instance of the xml_seq meta-class. The attributes of the classinclude both the attributes of the element and the children elements. The types of the attributes of the class are determined as follows: −   Simple character children elements and element attributes correspond to objectattributes of string type. Attributes are distinguished from children elementsthrough the att_lst meta-attribute. −   Children elements that are represented as objects correspond to object referenceattributes.The order of children elements is handled outside the standard OODB model by providing a meta-attribute ( elem_ord ) for the class of the element that specifies thecorrect ordering of the children elements. This meta-attribute is used when (either whole or a part of) the srcinal XML document is reconstructed and returned to theuser. The query language also uses it.
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x