Abstract :
Service discovery is one of the corner stones of Service-Oriented Architectures. It aims at finding the set of services which comply with a query in a scalable way with regard to the number of services in the registry. Current approaches to service discovery are based on registries (like UDDI) which provide efficient search algorithms over the interfaces (described in WSDL) and metadata of the services, or are focussed on ontology matching mechanisms over semantic descriptions of the services (e.g., OWL-S). However, these approaches rarely support searching over stateful services (such as those described as Windows Workflows or BPEL processes) based on behavioural queries or, when they do, they perform the behavioural analysis on a second step, due to its computational complexity, and then they discard the services which present deadlocks or live locks. In this work, we introduce a new search tree for the discovery of stateful services which can be adapted to fulfil behavioural queries. The behaviour and adaptability of the services is analysed upfront during the discovery process. Thanks to Software Adaptation, our approach returns both services which perfectly match the query and those which can be adapted to it. This adaptation overcomes incompatibilities in interface and behaviour, which could lead to deadlock or live lock situations, hence our approach returns more services than traditional techniques. Moreover, behavioral adaptation abstracts services into smaller models which enable service discovery in polynomial time.
Keywords :
"Web services","Semantics","Adaptation model","Software","System recovery","Iron","Solids"