Professional AssociationsProfessional Associations: ACM | ACM SIGPLAN | Computing Research Association | IBM Academy of Technology | IEEE | IEEE Computer Society | NSF Directorate for Computer & Information Science & Engineering (CISE)
more informationMore information: Personal Web Page | Biography (long) | Biography (short) | CS Research Blog | Publications & Patents (full list) | History of Programming Languages (HOPL)
OOPSLA 2002 Workshop on Object-Oriented Web Services
Peri Tarr, Research Staff Member, IBM Research
Anthony Finkelstein, Professor of Software Systems Engineering, University College London
Brent Hailpern, Associate Director of Computer Science, IBM Research
Giacomo Piccinelli, Research Fellow, University College London
Judith Stafford, Senior Member of Technical Staff, Software Engineering Institute (CMU) and Tufts University
|Experiences and Examples|
|Web Service Capabilities and Architectures|
|Correctness of Web Services|
|Software Engineering and Web Services|
Web services are software that provide access to their capabilities across the World Wide Web via XML interfaces. The use of XML enables systems running in different environments and at different locations to exchange information, interoperate, and be combined more readily than ever before. The first generation of web-service infrastructure and applications are already in development, allowing web services to issue requests to others and to register/describe/find a service to use (e.g., SOAP, WSDL, UDDI).
This workshop explored issues in, and new technologies and methodologies to support the engineering, deployment, integration, and evolution of web services in such a way as to get the best software engineering properties of objects into XML-based web services.
Themes and Goals
The emergence of XML has started a revolution on the web-one that changes developer focus from static content with formatting information, to dynamic, self-defining information with real semantics. The addition of semantic descriptions represents an important first step on the way to providing web services, and the first generation of web service support infrastructures is already in development with technology such as SOAP, WSDL and UDDI. These technologies allow one web service to issue a request to another, to register a service so that others can find it, to describe services, and to search for services to use. While these capabilities are necessary for the definition of web services, they clearly are not sufficient to facilitate the engineering and deployment of these critical new applications. Web services present a serious challenge to existing object-oriented development methodologies and tools, and to system management technologies-challenges to which the OO community must step up.
Web services are all about promoting sharing of functionality and information among heterogeneous systems, and about addressing the question, "how do they work together?" Objects, on the other hand, are all about promoting the development and evolution of high-quality software, through mechanisms such as encapsulation, non-invasive adaptation, reuse, patterns, and low-impact evolution-properties that will be needed more than ever in web services. How, then, do we get the best software engineering properties of objects into XML-based web services?
Web services are different in nature from traditional object-oriented and distributed applications. They are similar to more traditional utilities, such as water, gas, telephone, and electricity, in that they are metered services-customers pay for their use of the service. Customers negotiate the terms of the service provided, such as the functionality they require, the performance, reliability, resources, etc. These terms are represented using service level agreements (SLAs). SLAs represent a legal description of a service-not simply in terms of its functional interface, but also in terms of performance, payment, legal consequences of non-compliance, and levels of support and access. Because SLAs are legal agreements, it must be possible to monitor web services to verify that the services being provided conform to those that were negotiated. SLAs therefore represent a complex web of end-user concerns and requirements that must be specified, executed, and monitored in order to provide and reliably consume real services.
Clearly, then, web services must satisfy a number of challenging requirements. They must be built to be manageable, meterable, monitorable, and dynamically configurable. Manageability means that customers must be able to control the terms of service dynamically-from adding new features, to requiring additional resources, to requesting better performance. Since customers pay for their use of the service, it must be possible to identify their precise usage (metering) and bill for it accordingly. Web services must be monitored in whatever way necessary to demonstrate that given customers are receiving the level of service they negotiated. Finally, customers must be able to compose and link services together dynamically. Dynamic linking is only part of the capabilities required to achieve dynamically configurable software, however. Web services must be able to find any services on which they depend, to react to changes in (and be fault tolerant of) the services on which they depend, and to incorporate dynamically new components as necessary to satisfy SLAs (e.g., to replace one component with another that has better performance characteristics). The ability to achieve these goals will, in turn, impose some challenging requirements on the design, development, deployment, and evolution of web services, and on the infrastructure that supports them.
This workshop, part of the week-long OOPSLA Web Services Track, was the second OOPSLA workshop to explore issues in, and new technologies, methodologies, and infrastructure to support the engineering and deployment of, object-oriented web services. Topics included (but were not limited to): lifecycle, development environments, design principles, patterns, real time concerns, security/privacy, fault tolerance, specification, testing, verification, analysis, consistency management, provisioning, and separation of concerns (e.g., aspects).
Related Work from Workshop Attendees
- Web Services: Promises and Compromises, Ali Arsanjani, Brent Hailpern, Joanne Martin, Peri L. Tarr. IBM Research Report RC 22494, June 2002.
- Meta-Data Driven Code Generation Web Service, Ramanathan Sundaram, David H. Lorenz
- Other publications on Web
Services Offering Language (WSOL), by Vladimir Tosic, et al.
Peri Tarr, IBM Research - Peri Tarr is a Research Staff Member at the IBM Thomas J. Watson Research Center. She received her Ph.D. degrees in computer science, from the University of Massachusetts in 1996. Her research interests and expertise span several areas of computer science. Her thesis work produced an approach to software object management that integrated research in the areas of software engineering, programming languages, and databases. Her research experience also includes work in the areas of consistency management and reactive control, language processing, interoperability, integration and heterogeneous systems, software process modeling and programming, database design, software engineering environments, and advanced separation of concerns. She has been a pioneer in the field of aspect-oriented software development (AOSD), in which she co-invented multi-dimensional separation of concerns and the hyperspaces approach to AOSD, and has been exploring issues in multi-dimensional separation of concerns throughout the software lifecycle. She has recently been involved in work on software engineering for (and notably, separation of concerns issues in) electronic services. She has served on program committees for ICDCS, OOPSLA, ICSE, and AOSD, conference committees for OOPSLA, and she has co-organized several very successful workshops on Multi-Dimensional Separation of Concerns, Aspects and Dimensions of Concern, and Advanced Separation of Concerns at OOPSLA, ECOOP, and ICSE.
Anthony Finkelstein, University College London - Anthony Finkelstein is Professor of Software Systems Engineering at University College London, Department of Computer Science. He is the Head of the Software Systems Engineering Group, and been involved in establishing the UCL Centre for Systems Engineering and UCLGrid. His research is in the area of software systems engineering and in particular in requirements engineering. He has contributed to software specification methods, software development processes, tool and environment support for software development. Recent work has included significant contributions to work on specification from multiple viewpoints and to requirements traceability. His current interests are in the area of managing distributed information in software development. He has published more than 150 papers in these areas and held research grants totalling in excess of £6m. Professor Finkelstein is actively involved in the Software Engineering research and practitioner communities. This involvement has included serving on many Programme Committees (more than 60) and acting as Programme Chair, Steering Committee Chair and General Chair for several major meetings. He also serves on the Editorial Boards of Journals including Automated Software Engineering, of which he is a former editor-in-chief. He has given a number of keynote addresses and invited tutorials at international conferences. His professional activities include serving as Founder and Secretary of IFIP WG2.9 Software Requirements Engineering. He was Chair of IEE PG A1 (Software Engineering) and currently serves on the Knowledge Services Planning Committee. He is a member of the EPSRC Computing College.
Brent Hailpern, IBM Research - Brent Hailpern received a Ph.D. degree in computer science from Stanford University in 1980. He then joined the IBM T.J. Watson Research Center as a Research Staff Member. He has worked on and managed various projects relating to issues of concurrency, programming languages, software engineering, Internet technology, and pervasive computing. He was also the client product manager for the IBM NetVista Internet software product for K-12 education. He is currently the Associate Director of Computer Science for IBM Research. Dr. Hailpern is a past Secretary of the ACM, a past Chair of the ACM Special Interest Group on Programming Languages (SIGPLAN) and Conference Chair for OOPSLA 1999. He is currently chair of the OOPSLA Steering Committee and Associate Editor for ACM Transactions on Programming Languages and Systems (TOPLAS).
Giacomo Piccinelli, HP Labs and University College London- Giacomo Piccinelli is a Member of Technical Staff at the European headquarters of HP Labs, in Bristol. He studied at the University of Pisa and Milan, and he will receive his Ph.D. degree from the University College London. His research interests include distributed systems, formal methods, process modelling, and management of requirements. The business context for his work is represented by e-business, with focus on business-to-business interaction. Since 1998, he has been involved in the development of HP's e-service model, as well as different initiatives in the area of web services. Particularly interested in the composition of electronic services, he leads the Dynamic Composition group at HP Labs. Results from his work contributed to HP's Service Composer, and were recently discussed in the context of OMG and W3C workshops.
Judith A. Stafford, Software Engineering Institute, CMU and Tufts University - Judith Stafford received a Ph.D. from the University of Colorado in 2000 and is a Senior Member of the Technical Staff in the Product Line Systems Group at SEI. She is interested in research and development of methodologies to create, document, and analyze software architectures and component-based systems. More specifically, as a member of the Predictable Assembly from Certifiable Components (PACC) team she is exploring the nature of compositional reliability analysis and its use to support creation of reliability prediction enabled component technologies (PECT). Her primary duties for Architecture Tradeoff Analysis Initiative are with the Architecture Representation team. This team is exploring what information about a software system should be considered architectural information and how it should be documented. They have written a book entitled "Documenting Software Architectures: Views and Beyond," which will be available from Addison Wesley in the summer of 2002.