Skip to Main Content
As its success has demonstrated, the principles of service-oriented architectures yield significant benefits for the integration, maintenance and administration of complex enterprise computing systems. However, they are primarily oriented towards the needs of server-side system integrators rather than the developers of client applications and business processes. In particular, the absence of the notion of types, in the sense of abstract data types and object-oriented programming, limits the way in which client and process developers can access resources in a service-oriented architecture and leverage reusable assets. This is additionally aggravated by the confusion surrounding the notion of state and the question of whether services should in general be stateful or stateless. In this paper we address these problems by introducing a client-oriented model of Web services in service-oriented development that provides a flexible notion of types and instances, and distinguishes between client-oriented and implementation-oriented notions of service state. We also introduce the concept of congregation as a new role in service-oriented development designed to support the new type model and discuss how it can be implemented in the light of the proposed state model using Web services as the underlying technology.