|
|||||
|
|||||
|
MotivationWith the increasing use of software applications for the daily conduct of business, the need to link software applications of business partners with minimal effort and in short timeframes is becoming ever more evident. Concomitant with the development of this need and greatly motivated by it, Service-oriented Computing (SoC) is emerging as a promising paradigm for enabling the flexible interconnection of autonomously developed and operated applications within and across organizational boundaries. SoC is a distributed application integration paradigm in which the functionality of existing applications (the services that they provide) is described in a way that facilitates its use in the development of applications which integrate this functionality. The resulting integrated applications can themselves be exposed as services, leading to networks of interacting services known as service compositions or composite services. At present, SoC is mainly associated with its enabling technology (e.g. SOAP, WSDL, WS-Security, and BPEL4WS). This technology enables businesses to describe the services that they offer (generally in an XML-based form), to publish these descriptions online, to find other services based on their descriptions, and to build applications using these service. In other development paradigms one can observe a trend towards designing complex applications using models, as opposed to approaches where such systems are developed through rapid prototyping cycles. An exponent of this trend is the Model Driven Architecture (MDA) initiative, which focuses on models that allow the definition of a distributed application's functionality and behavior, independent of the technology in which it will be implemented. This trend can be seen as a sign of a maturing discipline. Ideally, models are easy to produce and to change (as opposed to the real thing), and developers feel comfortable to express their ideas using models, because:
This project investigates the different approaches with respect to service-oriented design (SoD) of distributed applications. It aims at contributing to the development of architectural concepts that are necessary to overcome drawbacks and limitations of current approaches. It takes as its foundation a set of basic concepts that have been developed to model open systems interaction, and considers their application, extension and refinement in the context of ongoing international research and standardization activities, in particular those related to OMG's Model Driven Architecture (www.omg.org/mda) and W3C's Semantic Web (www.w3.org/2001/sw). As a consequence, this project also aims at contributing to ongoing standardization work, such as UML semantics, UML profiles, and Web services and ontology description languages. This project takes the view that models (modeling languages) for distributed application design have to satisfy the following requirements:
It is important that such models (modeling languages) are based on a coherent set of architectural concepts, which relate to the key properties of the systems being modeled and which are proper for the purpose of the modeling process. This project adopts the same set of basic concepts as the Interaction System Design Language (ISDL), a design language which has been developed over years at the University of Twente/Centre for Telematics and Information Technology, and applied and evaluated in several domains. Objectives and advancesThe main goal of this project is the development of a conceptual framework, i.e., a coherent set of architectural concepts, for service-oriented design of distributed applications. The conceptual framework should allow for (i) convenient, precise and unambiguous expression of services and service compositions, (ii) refinement of such expressions into specifications of application components and a dedicated connecting architecture, which is independent of any platform technology, (iii) further refinement of the specification of the connecting architecture into a platform specific implementation. It should be possible to use service specifications in the design process as well as in the operational phase of services. The former means that it should be possible, during service design, to validate specifications with respect to certain properties or requirements, such as requirements expressed by a higher level specification or by business requirements. The latter means that it should be possible, during service execution, to utilize the specifications in the process of finding services, evaluating services with respect to certain properties, assessing compositions of services, and performing composed service executions. Different approaches and languages may be used to achieve these objectives. Furthermore, the framework and its usage should be such that (i) separation of application code from infrastructure code is facilitated (portability of applications), (ii) unnecessary implementation choices are avoided, and interoperation requirements are articulated at the right level of abstraction (openness and interoperability), mappings onto different technology platforms is facilitated (capitalizing on investments), (iii) re-use of concepts, specifications and implementations in different application domains is facilitated, either through sharing, specialization or composition (generality, use of meta-levels). This work may also involve the development of some tooling prototypes, in case commercially available toolkits cannot be used or do not suffice. For example, tools may be necessary for:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Top |
|
||||