SeCSE Integrated Environment view Service Engineering: to address the needs of service developers who require methods to define ... Service Discovery: to address the needs of service consumers by offering mechanisms to locate the 'best' service ... Service Centric System Engineering: to address the needs of service integrators by offering mechanisms to compose services ... Service Delivery: to address the needs of service providers and of service integrators by offering support to management ....

Service-centric Systems Engineering

DESCRIPTION: This activity addresses the needs of service integrators by offering proper mechanisms to compose services so that it is possible to deliver new compound services not available from services in isolation. The notion of service-centric systems marks another step away from rigid, monolithic systems towards highly flexible, dynamic and run-time extensible systems, extending concepts developed in the object-oriented and component-oriented paradigms. Existing service composition approaches focus mainly on static composition based on service description and orchestration standards (e.g., BPEL4WS, WSFL, WSCI, BPML) that lack semantically rich descriptions needed to analysis the consistency of system behaviour and consequences of services to be composed. Several scientific challenges need to be addressed in a coherent manner. Firstly, the design of service-centric software architectures is more challenging than traditional architectural design. Architectures must provide substantially more flexibility while still providing sufficient stability and structure to guarantee predefined levels of quality of service.
The key challenge is to provide methodological support as well as generic and domain specific reference architectures.
We will investigate existing client/server architectures, publish/subscribe architectures supported by several middleware
platforms, peer to peer architectures supported by platforms such as JXTA, and Grid architectures.
The second scientific challenge is the population of a service-centric architecture with services. Key challenges include
the creation and generation of executable systems where some services have been permanently bound; some others have been bound but can be rebound at run-time, and others have not been identified yet and need to be discovered at runtime.
In addition, the effective support of service composition requires capabilities beyond those which are available in existing
service orchestration and deployment platforms and which focus mainly on the assessment of the compatibility of the inputs
and outputs of the services to be composed.
The third challenge concerns the creation of hybrid systems, i.e. systems consisting of services, but also COTS products,
traditional software components and/or legacy applications. Especially in the near- and medium-term future, we expect virtually all service-centric systems to be hybrid. The predominant topics to be addressed are the wrapping of traditional artefacts in order to allow them to be used in conjunction with services, and the integration of component- and service-centric software engineering approaches. Many of the problems of CBSE such as problems of configuration management and maintenance apply equally to services and we anticipate that many solutions to service-centric system development will derive from the partners’ experience in CBSE.
Finally, renegotiation is envisaged as an important step toward service-centric systems. No concrete work has been done so far to support this vision, although work by Dumas, Finnici and Paolocci will provide a sound starting point for this work.
OBJECTIVES:
  • Develop a set of architectural styles for service-centric systems.
  • Develop mechanisms for composing services and other software artefacts such as software components and COTS products based on a proper service-oriented architecture and the definition of the control flow among the various involved services.
  • Develop new middle-ware mechanisms for dynamic binding of services and re-negotiation of service contracts at run-time using functional and QoS indicators, and validation and checking mechanisms to guarantee resulting system behaviour.
  • Support the development of hybrid systems. A hybrid system can be a system where service-based and non service-based subsystems have to coexist.

back to overview