Pierluigi Plebani
Dipartimento di Elettronica ed Informazione
Via Ponzio 34/5
20133 Milano - Italy
plebani<at>elet<dot>polimi<dot>it

Web service retrieval

Pierluigi Plebani’s research interests are mainly focused on Web service retrieval. He is developing a tool based on UDDI, named URBE (Uddi Registry By Example), which implements matchmaking algoritms based on functional and non functional requirements. The proposed approach has been mainly adopted in frameworks which allow Web service substitutions. In particular, Web services are considered in multi-channel information systems, where the functionalities are provided through several channels and exploiting several deviced (PDA, PC, Smartphone). In this scenario, Web service substitution might occur in case the Web service is no longer available, or is not reachable, or even if data provided does not satisfy a given set of constraints.

In more detail, URBE (Uddi Registry By Example) is a UDDI extension supporting content-based queries. This tool aims at supporting programmers during both the development and the execution of Web service-based applications. Despite the current registry, the user can find a Web service not only browsing pre-defined taxonomies, or by keyword. In fact, with URBE, the user can submit a WSDL specifying the required Web service in terms of supported operations and input and output parameters. As a result, URBE returns the set of published Web service more similar to the submitted one.
This kind of querying results useful at both design-time and run-time. In the former case, for instance, BPEL processes could be defined with a top-down approach. Indeed, usually, the designer firstly identifies the potential partners and then he/she defines the BPEL process starting from the WSDLs previously selected. On the contrary, with URBE, the designer can initially focus on the process definition and then he/she can select the Web services able to perform the required invocations. It is worth noting that the retrieval process returns Web services similar to the desidered one and, only in some rarely cases, it returns service exactly matching the request. This means, that mediatiors able to translate between the two signatures are required. More similar two Web services, simpler the mediator design.

The matchmaker is driven by an algorithm able to state the similarity among Web services based on their descriptions. This algorithm starts with the assumption that two Web services are equal when both they require the same information as input and they produce same data as output. Consistently with the Service Oriented Computing paradigm, Web services are treated as black boxes and the similarity algorithm only works with the Web service signatures expressed by WSDL, regardless of their implementation. In more details, the similarity algorithm takes into account both naming and structural aspects. On the one hand, naming aspects refer to the names adopted for identifying the service, the available operations, and the related exchanged parameters. On the other hand, the structural aspects refer to the number of operations available and the data type of the input/output parameters.

The algorithm assumes that, as usually occurs, the WSDL is (semi-)automatically generated by a tool starting from a software module, such as a Java class. This implies that the resulting description will probably reflects the code convention adopted by developers. In addition, if available, the algorithm can also processes SAWSDL (formerly known as WSDL-S) descriptions where specific semantic annotations on WSDL elements are available as well. In this way, the semantic matching can be improved and, in turns, the precision and recall of our algorithm improves as well.

The approach relies on a domain specific ontology where terms usually adopted in a given scenario are organized according to semantic relationships such as synonym, antonym, homonym, hypernym). Moreover, general purpose ontology, e.g., WordNet, supports the matching between terms that are not included in the domain specific ontology. 

[go to URBE Web site]

 

Web service adaptation

In this field I participate during the design and the implementation of PAWS (Processes with Adaptive Web Services): a framework for flexible and adaptive execution of managed Web service-based business processes. In the framework several modules for service adaptation are integrated in a coherent way. An original characteristic of this framework is to couple design-time and run-time mechanisms for process specification and execution in a global framework. At design-time, flexibility is achieved through a number of mechanisms, i.e., identifying a set candidate services for each process tasks, negotiating quality of service, specifying quality constraints, and identifying mapping rules for invoking services with different interfaces. In turn, the run-time exploits the design-time mechanisms to support adaptation during process execution, in terms of selecting the best set of services to execute the process, reacting to a service failure, or preserving the execution when a context change occurs.

[go to PAWS Web site]

 

Web service quality

Before a service invocation takes place, an agreement between the service provider and the service user might be required. Such an agreement is the result of a negotiation process between the two parties and defines how the service invocation has to occur. Considering the Service Oriented Computing paradigm, the relationship among providers and users is extremely loose. Traditional agreements are likely to concern long term relationships and to be manually performed.
In this scenario, the research is focused on the definition of a quality model that supports both users requirements and providers capabilities definition and on a model to generate service level agreement on-the-fly.

Web service retrieval also considers quality aspects and a matchmaking algorithm is proposed. Quality offered by a Web service provider should actually not correspond to the quality really perceived by final users. Influence of networks and devices about quality of a Web service has been analyzed and a model able to capture such an influence is proposed. In addition, starting from the work at IBM Research Labs, a run-time monitoring mechanism has been defined along with WS-CoL (WS-Constraint Language) and WS-ReL (WS-Recovery Language) as WS-Policy compliant language to express contraints and recovery mechanisms for BPEL processes.

QoSModel is a set of tools supporting the Web service quality description. Such an application reflects the quality model described in the paper:
M.G. Fugini, P. Plebani, F. Ramoni, "A user driven policy selection model", Technical Report 2006.65, Politecnico di Milano, 2006.[pdf] A short version of this technical report has been selected as a short paper for ICSOC 2006 Conference, Chicago, IL, USA.

QoSModel is composed by three main applications:

  • a GUI for the community to create the Quality Tree
  • a GUI for the service providers to define the Web service capabilities
  • a GUI for the user to express the requirements and discovery the most suitable Web service

All these applications are included in this package [.zip]

Just before the invocation commences, the quality of the service is negotiated in order to generate a service level agreement tied to that specific invocation.

 

MAS (Micro Application Server)

The Micro Application Server is a J2ME CLDC/MIDP based application server designed in order to cater to incoming web service requests by invoking the corresponding web services installed within the server and to respond with an appropriate response. The special feature of this application server software is that it can be implemented on the least-capable CLDC (Connected Limited Device Configuration) micro (or mobile) devices increasing efficiency and productivity of such constrained devices. This micro device profile has the least number of classes available which makes it difficult to implement certain server features. However, these shortcomings have been overcome in our implementation.

Web site on MAS is under construction. Now, fell free to download the source code from Sourceforge.net

http://www.elet.polimi.it

Dipartimento di Elettronica ed Informazione
Politecnico di Milano
Via Ponzio 34/5 - 20133 Milano - Italy

http://www.elet.polimi.it

Politecnico di Milano
Piazza Leonardo da Vinci, 32
20133 Milano - Italy

Valid XHTML 1.0 Transitional Valid CSS!