Επιστημονικός υπεύθυνος: Καθ. Δημήτρης Πλεξουσάκης
Service-oriented computing (SOC) is the new emerging cross-disciplinary paradigm for distributed computing that is changing the way software applications are designed, architected, delivered and consumed. The advent of service-oriented computing intends to facilitate business collaboration and application integration on a global scale. The expected impact of service-oriented computing is comparable to the impact that the Internet and the World-Wide Web (WWW) have brought to the sharing of documents, information and knowledge.
SOC introduces new commodities for production / consumption: services. Services are autonomous, platform-independent computational elements that can be described, formally specified, published, discovered, orchestrated and programmed using standard protocols for the purpose of developing massively distributed interoperable applications organized in the form of a network of collaborative applications that function within or across organization borders.
Web Services, i.e., services "living" on the WWW, are the current most promising technology that materializes the idea of service-oriented computing. They provide the basis for the development and deployment of business processes that are distributed over the network and made available via standard interfaces and protocols. Combined with recent developments in the area of distributed systems (peer-to-peer and grid computing in particular), web-based information systems, workflow and business process management systems, business protocols and languages, services can provide the automated support needed for e-business collaboration and integration. Semantic Web enabled services are web services that are semantically annotated and are suitable for use with richer, more flexible service-mediation models and on which reasoning mechanisms for determining their composability with other services can be applied.
Service-oriented computing poses numerous research challenges that span the boundaries of more established and traditional research fields. Main research challenges such as the automated composition, discovery, integration, monitoring, of services, their quality and security, methodologies supporting their development, evolution, adaptation, validation and verification, as well as their life-cycle management, are attracting a great interest in the international research community. Diverse communities, such as databases, software engineering, artificial intelligence, distributed and information systems just to name a few, are intrinsically related to service-oriented computing. Cross-fertilization of results from the aforementioned areas is required for achieving the objectives.
The fundamental objective service-oriented computing is to specify and deploy collections of network-resident software services accessible via standardized protocols, whose functionality can be automatically discovered and integrated into applications, or composed to form more complex services. We consider services as an emerging confluence of three distinct technologies: (a) process description formalisms, including automata and workflows; (b) data management (including transformation, mediation, transactions); (c) distributed computing middleware; (d) verification formalisms and tools. SOC is picking up where distributed object computing standards such as CORBA left off, attempting to provide more flexible, and less structured assembly of software components. To this end formalisms are needed to describe the visible behavior of existing e-services and to build up - ideally in an automated manner - new services that can coordinate the activities of other services. In this manner, applications can choose among several providers of services with the required functionality (i.e., the visible behavior) and select the most appropriate using additional non-functional properties of services (quality of service criteria) such as, best price, highest reliability etc. Furthermore, the behavior of services should be verifiable and their properties must be provable. For this purpose, specialized verification mechanisms (based on logic or automata theory) are needed both for proving that a service does fulfill its stated objective and that the composition of services for achieving a complex goal can be performed.
The activities of the Information Systems Laboratory target the following research and development activities:
- Formal description languages providing enriched service behavior specification primitives (pre-/post-conditions, service invariants, quality of service) with the use of ontologies for complex services
- Formal methods for complex service verification building on logic-based and/or state-machine formalisms
- Semantically-enriched service discovery mechanisms employing semantic similarity measures for matching functional goals and non-functional requirements
- Composition languages offering flexible, effective and verifiable integration of service-oriented applications
- Service provisioning methodologies tailored to the distribution model (peer-to-peer and grid-aware service provisioning)
Service-oriented computing is seen as the enabling technology for future applications in different areas, such as e-commerce, (e-) science, telecommunications, and biomedical informatics. The challenges arising in this endeavor comprise both foundational and applied research questions and a synergistic approach involving researchers from the contributing disciplines within Computer Science is required. SOC represents an evolution in computing paradigms, introducing problems with a good balance of basic and applied research dimensions, a broad technological basis, great industrial interest and a high impact. As such, the posed challenges form a fertile ground for research with the potential of yielding results that will highly impact the way business and to some extent science will be conducted in the future.
More specifically, the possibility to perform on-demand selection and composition of services makes them attractive for building E-Business applications with dynamic supply chains or for distributed problem solving where on-demand computational resource allocation is required. At the same time, business transactions supported by services require guarantees of trusted, correct and safe execution. Hence, services are required to have a precise specification and a verifiable behavior. Flexibility and adaptability to different architectural or business contexts is also a requirement for the successful deployment of services implementing business processes over different distributed platforms, serving heterogeneous domains and adhering to a variety of business models.
Service-oriented computing is a research activity on which the Information Systems Laboratory has recently embarked. One of the major achievements todate is the design of the AZTEC brokering platform that supports discrete - typically have short duration, and cannot respond to external asynchronous events - and session-oriented services - typically have longer duration, and typically can respond to asynchronous events- for modern teleconferencing, real-time healthcare tele-consulting, collaborative e-commerce or scientific grid applications.
Furthermore, two current Ph.D students and several M.Sc students supervised by members of the Information Systems Laboratory are working on core topics of SOC research, namely semantically-enriched service description and automated service composition.