Abstract:
Tbe emergence of Web services represents a sbift from componentbased
architectures that have proved successful in the context of enterprise computing
to service-oriented architectures that are more suited to the highly distributed
Internet-based applications. This trend towards service-oriented computing
necessitates the re-evaluation of software development methodologies that are
used in the construction of distributed applications. With growing acceptance of
service-oriented computing and increasing number of large-scale Web Services
projects there is some evidence that practitioners involved in implementing these
solutions are paying only limited attention to how such applications should be designed.
Frequently, the design of Weh Services applications is driven by performance
and scalability considerations, rather than any sound software engineering
principles. A comprehensive methodological framework is required to guide designers
and developers of service-oriented applications through the various phases
of software development life cycle with specific emphasis on producing stable, reusable
and extendable services.
In this paper we discuss design of service-oriented applications from a software
engineering perspective, and propose a software development framework for
Web Services based on identification of elementary business function using business
function decomposition and mapping these functions to service operations.
We apply interface design principles adapted from object-oriented design as guidelines
for the design of services.