Improved Backward Compatibility and API Stability with Advanced Continuous Integration
Master thesis
Permanent lenke
http://hdl.handle.net/11250/250468Utgivelsesdato
2007Metadata
Vis full innførselSamlinger
Sammendrag
Services with a stable API and good backward compatibility is important for component-based software development and service-oriented architectures. Despite its importance, little tool support is currently available to ensure that services are backward compatible. To address this problem a new continuous integration technique has been developed. The idea is to build projects that depend on a service with a new version of the service. This ensures that the development version is compatible with projects that depend on the regular version. A continuous integration server is used to initiate builds. This entails that if a build breaks, the developers get feedback right away, and it is easy to determine which change that caused the broken build. We show that an implementation is feasible by implementing a prototype as a proof of concept. The prototype use Continuum as the underlying build engine and utilize metadata from the Maven Project Object Model (POM). The prototype has support for multiple services. Services can thus be checked for compatibility with each other, in addition to backward compatibility with the regular version. Keywords: Continuous integration, Continuum, Maven, Component-based software development (CBSD), Service-Oriented Architecture (SOA), Test-Driven Development (TDD), agile software development