Automatically Determining Compatibility of Evolving Services
Karin Becker, Andre Lopes, Dejan Milojicic, Jim Pruyne, Sharad Singhal
HP Laboratories
HPL-2008-49
May 21, 2008*
SOA, service,
backward
compatibility,
version
A major advantage of Service-Oriented Architectures (SOA) is
composition and coordination of loosely coupled services. Because the
development lifecycles of services and clients are de-coupled, multiple
service versions have to be maintained to continue supporting older
clients. Typically versions are managed within the SOA by updating
service descriptions using conventions on version numbers and
namespaces. In all cases, the compatibility among services description
must be evaluated, which can be hard, error-prone and costly if performed
manually, particularly for complex descriptions. In this paper, we describe
a method to automatically determine when two service descriptions are
backward compatible. We then describe a case study to illustrate how we
leveraged version compatibility information in a SOA environment and
present initial performance overheads of doing so. By automatically
exploring compatibility information, a) service developers can assess the
impact of proposed changes; b) proper versioning requirements can be put
in client implementations guaranteeing that incompatibilities will not
occur during run-time; and c) messages exchanged in the SOA can be
validated to ensure that only expected messages or compatible ones are
exchanged.
External Accession Date Only Approved for External Publication
Submitted to the IEEE International Conference one Web Services (ICWS), 2008 China
© Copyright 2008 Hewlett-Packard Development Company, L.P.