Research Issues in Web Services CS 4244 Lecture Zaki Malik Department of Computer Science Virginia Tech zaki@vt.edu Evolution of the Web Document Web - Sharing research documents among scientists Application Web - Proprietary & closed systems - ad hoc interactions Service Web - Emergence of XML-based standards for description, invocation, discovery, … - Ubiquitous protocols (HTTP, …) Web Services time The Web Service Model UDDI Registry Service Registry Web Browser 0.0000 Publish UDDI Publication Find UDDI Inquiry 0.0000 Service message has Web Service Consumer exchange defines 0.0000 SOAP Web Service Service Description WSDL Service Provider Motivation • Exploratory – The process of selecting Web services is non-deterministic – Web services are a priori unknown – Services should be determined dynamically • Volatile – A Web service answering a request at a given time may not be available to answer the same request in the future – Services may become unavailable in the interval between selection and invocation • Dynamic – Web service content provided by the operations may change frequently – Change may affect the overall execution of the request Scenario Issues – Select Web services with appropriate functionality (Querying) – Must be discovered in a reasonable time (Querying) – Multiple services may provide same functionality (Querying, Reputation) – More than one service might have to be selected (Composition) – Web services may change over a period of time (Change) Issues • • • • Web Services Query Optimization Web Services Trust Web Services Composition Web Services Change Management Web Services Query Optimization • Check the Needed Operations • Locate Web Services that Provide the Operations • Potential Hindrance – Large Service Space Web Services Query Optimization • Reduce Web Service Search Space • Filter out “Inefficient” Services • Choose the Best Web Services Web Services Query Optimization • Need: – Organization of the Large Web Service Space – Compare the Service Execution Plans – Select the Needed Web Services, Based on QoS Quality of Service (QoS) – Set of characteristics of a system, necessary to achieve the required functionality • QoS Attributes – – – – Reputation: Objective evaluation of trust Response Time: Delay between request and response Availability: Probability of system accessibility Service Fee: Price demanded for service Web Services Trust • Trust: the belief that a service consumer has about the intention and ability of a service provider to act as expected Incentives for Establishing Trust Provider’s perspective - Establish, - Maintain, - Increase client base Consumer’s perspective - Reduce Risks - Preserve Privacy - Increase quality Web Services Trust • Challenges Non Transparency Transience - Services workflow is opaque - Service consumers have little information to form accurate perceptions about services - Services may be suspended, renamed, redeployed - It is not easy to keep track of services’ history Composition - A composite service may be formed of “good” and “bad” services - Consumers are not aware of how services are composed and how they interact Automation - Automation of processes involving complex, subjective decision making - Agents must be able to reason about whether to trust a service and take decisions on behalf of users Alternatives for Trust Establishment T r u s t Third-Party Certification Security Mechanisms Self regulation Regulations Third-party Certification Security Mechanisms Reputation Regulations Self Regulation - Service providers may or may not implement their commitments - Service providers may change their policy - May be violated - Not globally enforceable - Does not scale to the service Web - May achieve confidentiality, authorization, authentication, … - Not necessarily trust Reputation • Reputation Management – A service’s reputation within a community of consumers is a perception shared by some or all of the members of that community about that service • Approach – Consumers rate Web services – Consumers collaborate to assess services’ reputation – Trust in services derives from their reputation – Reputation-based service selection and composition Reputation • Collection – Automatic Rating of Web Services – Rating Collection – Bootstrapping • Assessment – Metrics and Models • Storage • Dissemination – Push-based – Pull-based • Robustness – Prevention and Detection of Reputation Tampering • Trust-based Selection and Composition Web Services Composition • Two or more services come-together to provide a valueadded functionality • Understanding the semantics of Web services • Composability: Can Web service be composed together? • Generate composite service descriptions Web Services Composition Requirement Impact on Service Composition Dynamics - On the fly business relationships - Adaptability to changes Large Size - Fast composition - Scalability (number of services, etc.) Peer-to-Peer - No central authority to manage interactions among component services Autonomy - Component services interact based on their own terms Heterogeneity - Different component service capabilities (communication, content, and business logic) Web Services Composition • Declarative Composition – Describing the composite service • Composers’ input (component services, operations,…) • Recursive composition – Generating composition plans – Selection of a composition plan • Support of Dynamic Relationships – Specification of dynamic relationships – Selection of candidate services (selection policies) – Mapping to selected services (messages, operations, …) Web Services Change Management • Change Management definition: – Detection • Awareness that a change has occurred • Subsequent identification of its cause – Propagation • Informing all concerned entities in the system that a change has occurred – Reaction • Executing a compensatory process that brings the system back to safe execution mode • Categories of changes: – Internal • Changes that occur inside a Web service • Example: change in the content provided by a Web service – External • Changes that occur outside of a Web service • Example: temporary or permanent unavailability of a service or its operations Change Management Mechanisms • • Detection – Service unavailability - agents send frequent alive messages to participant services – Change to operations - compare service descriptions in the registries with the ones in the system – Change in content - periodic invocation of the an operation and comparing the subsequent results Propagation – Web services participating in a service request are registered with a participant list – Participant list is maintained by agents • Agents initially add Web service descriptions to the list • The Participant list is consulted before a service is invoked • Agents remove the service description from the list if change occurs • Reaction – Selection of alternate Web services to fulfill a request – Request cancellation if no alternate service is available – Reaction to internal change is in the form of reconsolidating the result Conclusion • A complete Web Services Management System is needed – Services treated as first-class objects – Optimization, Trust, Composition, and Change Management seen as major components