Primer: Architecture, Protocols and Standards
Built on top of HTTP and XML, Web Services have emerged as the leading vendor-neutral interoperability technology. Never before has such a large portion of the distributed computing and communications industry agreed on a single way to invoke services running on remote systems. Web Services are, URL-addressable, self-describing, software components that implement a set of functions or service. Web services use open connectivity standards such as the Internet protocol (IP), simple object access protocol (SOAP) and Web services description language (WSDL). Businesses use Web Services for wrapping existing software functionality and make it visible and accessible to other software applications. This talk presents the concept of Web services, and explains how to incorporate Web services into a distributed application. We will present the architecture of the Web services run-time environment and describe the protocols and standards associated with Web services, such as SOAP, WSDL and Universal Description Discovery and Integration (UDDI). We will also review the most popular development tools and run-time middleware available today.
We present an architecture and prototype implementation of a performance management system for cluster-based web services. The system supports multiple classes of web services traffic and allocates server resources dynamically so to maximize the expected value of a given cluster utility function in the face of fluctuating loads. The cluster utility is a function of the performance delivered to the various classes, and this leads to differentiated service. We use the average response time as the performance metric. The management system is transparent: it requires no changes in the client code, the server code, or the network interface between them. The system performs three performance management tasks: resource allocation, load balancing, and server overload protection. We use two nested levels of management mechanism. The inner level centers on queuing and scheduling of request messages. The outer level is a feedback control loop that periodically adjusts the scheduling weights and server allocations of the inner level. The feedback controller is based on an approximate first-principles model of the system, with parameters derived from continuous monitoring. We focus on SOAP-based web services. We report experimental results that show the dynamic behavior of the system.
Alaa Youssef is a Research Staff Member at IBM T.J. Watson Research Center. He joined IBM Research in 1998. He is currently a member of the Service Management Middleware group. He received his BS and MS degrees in computer science and automatic control from Alexandria University, Egypt, in 1991 and 1994, respectively. He received his PhD degree in computer science in 1998 from Old Dominion University, Virginia.
His research interests include distributed systems, service management middleware, network and application level quality of service, multimedia systems, content security, and digital rights management. Dr. Youssef has over 20 refereed journal and conference publications. He has 1 issued patent and 8 more pending with the US Patent and Trademark Office. Dr Youssef is a member of the IEEE. He served on the technical and executive committees of several IEEE conferences, including INFOCOM, CSCW, and MMNS. Dr. Youssef is a member of the IBM team that has recently developed a pioneering quality of service and SLA-based performance management system for Web Services. He is the co-author of a paper based on this work, which acquired the Best Paper Award at the IEEE Integrated Management conference (IM'03). A prototype system is available for download as part of the IBM Web Services Toolkit at www.alphaworks.ibm.com.