Throughout the last years, the Service-Oriented Architecture (SOA) paradigm has been promoted as a means to create loosely coupled distributed applications. In theory, SOAs make use of a service
, which can be used by providers to publish their services and by clients to discover these services in order to execute them. However, service registries such as UDDI did not succeed and are rarely used today. In practice, the binding often takes place at design time (for instance by generating client-side stubs), which leads to a tighter coupling between service endpoints. Alternative solutions using dynamic invocations often lack a data abstraction and require developers to construct messages on XML or SOAP level. In this paper we present
Vienna Runtime Environment for Service-oriented Computing
, which addresses several distinct issues that are currently prevalent in Service-Oriented Architecture (SOA) research and practice. VRESCo reemphasizes the importance of registries to support dynamic selection, binding and invocation of services. Service providers publish their services and clients retrieve the data stored in the registry using a specialized query language. The data model distinguishes between abstract
and concrete service implementations, which enables grouping of services according to their functionality. An abstracted message format allows VRESCo to
between services which provide the same feature but use a different message syntax. Furthermore, VRESCo allows for explicit
of services. In addition to functional entities, the VRESCo service metadata model contains QoS (Quality of Service) attributes. Clients can be configured to dynamically rebind to different service instances based on the QoS data. The paper presents an illustrative scenario taken from the telecommunications domain, which serves as the basis for the discussion of the features of VRESCo.