Service-oriented computing aims to make services available and easily accessible through standardized models and protocols without having to worry about the underlying infrastructures, development models or implementation details. This helps achieve interoperability and loose coupling among distributed application components and also among user processes. In addition, this model offers users an on-demand usage model where they only use the services needed for the time needed, which relieves them from having to build and maintain a complete system in house. However, the design and implementation of robust and efficient service-oriented applications are still as complex and demanding as any other type of distributed application. Thus middleware can play an important role in facilitating the design, development and implementation of service-oriented systems. Furthermore, middleware approaches will provision non-functional requirements like performance, scalability, reliability, flexibility and quality of service (QoS) assurance. A lot of work has been done in this area and in this paper we survey some of this work in service-oriented middleware (SOM). As we study the different projects we develop a list of the main requirements that SOM should support. We also discuss the main objectives and characteristics of the surveyed approaches, and then we highlight the challenges to be addressed when designing and developing SOM solutions that satisfy the requirements of different application domains.
- Service provider
- Service-oriented computing
- Service-oriented middleware
ASJC Scopus subject areas
- Hardware and Architecture
- Computer Science Applications
- Computer Networks and Communications