Universidad de Cadiz
Integrating Extra-Functional Properties in Model-Driven Web Service Development
Abstract
dc:description.abstractWeb services provide a successful way to let distributed applications communicate, in a platform-independent and loosely coupled manner, providing the systems with great flexibility and easier maintenance. In this sense, academy and industry try to maintain every specific development issue in web service development separate by the use of encapsulation and different WS-* standard specifications. On the other hand, the software engineering community is currently moving on to application development based on models rather than technologies. Model-driven development allows us to focus on essential aspects of the system, delaying the decision of which technology to use in the implementation for a later step. Transformations between models enable the automated development of the system from the models themselves; therefore, model definition and transformation become key parts of the process. Besides, aspect-oriented software development deals with concerns which are tangled and scattered in the systems, modularizing and encapsulating them and therefore improving the decoupleness of software systems and reducing maintenance costs. In this regard, we can say that model-driven engineering, aspect-oriented software development and web service engineering have become widely accepted alternatives in order to tackle the design and building of complex distributed applications. Although these methodologies have the separation of concerns principle and their further integration as key factors to obtain high-quality and evolvable large software systems, they usually address this principle from their own perspective. In particular, model-driven architecture has focused on the explicit separation of platform-independent from platform-specific concerns and the model-driven generation processes, allowing the separation of a system’s business logic, its functionality and the platforms and technologies supporting it. In addition, current software systems also have to deal with other concerns beside platform-specific concerns such as those related to extra-functional properties. These concerns tend to crosscut several components of the software architecture, reducing the maintenance of software systems. Aspect orientation is a software development methodology that just focuses on modeling crosscutting concerns, allowing their separate design and implementation and further integration (weaving) with the system components. Web service development aims to construct high quality, evolvable, large software systems in an efficient and affordable manner. Although web service implementation is properly achieved by development middlewares, there exists a gap in the sphere of extra-functional properties. The functionality which performs added value system objectives is scattered and tangled all over the main functionality code in these systems. As a consequence, concerning service models, the properties may not be considered at all, or, if considered, they are modeled as any other element in the system, despite their being transversal elements which should be tackled at a different modeling level. Regarding property code, it may appear tangled and scattered along the service code, damaging the maintenance and evolution of the system and losing the chance of reusing the properties in different applications. Therefore, there is a lack of tools for earlier stages of web service development in which extra-functional properties and WS-* standards integration are considered. When trying to solve this gap, we arrive at the use of model-driven development and aspect-oriented techniques in conjunction and we assert that the aforementioned methodologies may complement to each other to develop high quality software systems. This thesis provides a methodology that integrates extra-functional properties into web service model-driven development, where services and properties remain separated during all stages of development and property traceability across all these phases is maintained. In this regard, properties are defined as model elements and the possibility of adding them to services during modeling and to automatically generate code at a later stage is given. Furthermore, we provide the possibility for properties to be optional: the client can choose which properties he wants to be applied during his invocation. For this to happen, there needs to be a mechanism that indicates the properties chosen to be applied from the client side, and another one that determines which properties were selected by the client in the service side. The resulting approach increases the modularity and encapsulation of the different system modules, thus reducing and simplifying implementation and maintenance costs and keeping the traceability of the properties during all the stages of development.
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Ortiz Bellot, Guadalupe
- Advisor dc:contributor.advisor
-
- Hernández, Juan
Subjects
dc:subject × 10Rights
dc:rights- Statement dc:rights
-
- Attribution-NonCommercial-NoDerivatives 4.0 International
- info:eu-repo/semantics/openAccess
- Licence dc:rights.uri
- Language dc:language.iso
- eng
Identifiers
dc:identifier.*- Handle dc:identifier.uri
- http://hdl.handle.net/10498/16036
- OAI identifier oai:identifier
- oai:rodin.uca.es:10498/16036