Self-Organizing Service Oriented Architectures (SOSOA)
Service Oriented Architectures (SOAs) offer many compelling opportunities to address pressing problems in large IT infrastructures and enterprise application integration. SOAs promote a new approach for building distributed applications by composing reusable services thanks to well-defined interoperation semantics based on standard protocols. This new approach to software development based on reuse and composition promises many benefits, such as extensibility, ease of maintenance, and reduced development effort and cost. For these reasons, SOAs have recently attracted much attention in both academia and industry. The SOSOA project explores a novel, self-organizing approach to the design of next-generation service-oriented architectures. The main objective of the project is to overcome the following limitations of current SOAs. Due to the success of SOA, the problem of managing large collections of services has become crucial. Also known as the SOA governance problem, the issue reflects that little is known about deploying, invoking, monitoring, and providing load balancing and fault tolerance over a highly dynamic collection of services each one possibly representing a complex application running on a cluster-based infrastructure. Composite services need to be designed by hand, requiring the software designer to manually search repositories of service advertisements for relevant services and explicitly define the logic to glue them together. Existing languages and tools offer little support for the automated evolution, repair, and tuning of composite services. Most SOA middleware implementations rely on centralized services (e.g., centralized repositories of service advertisements) that are single points of failure, easily become performance bottlenecks, and may limit the scalability of the SOA. In addition, the current service abstraction does not consider advanced interaction patterns as it is limited to asynchronous message-based and synchronous request/response interactions. By bringing together the complementary expertise of the partners, the collaborative research within the SOSOA project will address the aforementioned limitations and investigate the design and implementation of self-organizing SOAs. To this end, the SOSOA project will explore scalable, decentralized solutions to the problems of current SOAs and investigate automation of important aspects of the whole lifecycle of a service-oriented application, including resource and service discovery, binding and composition, deployment and monitoring, RESTful and stream-based interaction, as well as fault detection and repair.