Abstract
Currently, Web-based applications are no longer monolithic and isolated systems but, rather, distributed applications that need to interoperate with third-party systems, such as external Web services, LDAP repositories or legacy applications. When one component provides a service that the Web application requires, it is often not possible to bind the two systems together if they were not programmed to have compatible collaboration specifications. Modeling the adaptation between a Web application and external assets becomes therefore an essential issue in any realistic model-driven development scenario. However, most of the existing Web Engineering proposals do not take this issue into account, or they simply address it at the implementation level (in a platform-specific way). In this work, we discuss the problems involved in dealing with component adaptation within the context of Model-Driven Web Engineering and show how design patterns can help addressing it. We first identify the major interoperability problems that can happen when integrating third-party application or legacy systems into our Web systems, and then propose the mechanisms that need to be put in place at the design level to generate the appropriate specification of adapters that compensate for the possible mismatches and differences. We base our proposal on well-known design patterns as they are established solutions to recurring problems, and the generation of code from them is normally straightforward.
Acknowledgements
The authors like to thank the anonymous referees for their insightful and constructive comments and suggestions. Although the views in this paper are the authors' sole responsibility, they could not have been formulated without many hours of detailed discussions with MDWE experts. In particular, we like to thank Nora Koch and Piero Fraternali for sharing their expertise and knowledge with us. This work has been supported by Spanish Research Project TIN2005-09405-02-01.
Additional information
Notes on contributors
Nathalie Moreno Vergara
Nathalie Moreno Vergara is Assistant Professor at the Department of Computer Science of the University of Málaga where she received the M.Sc. degree in Computer Science. Her current research interest is oriented toward model-driven development of Web applications, conceptual modeling methodologies, model transformation languages and code-generation techniques in the Web context.
José M Troya Linero
José M. Troya Linero is Full Professor at the Department of LCC of the University of Málaga. He received his M.Sc. and Ph.D. degrees in Computer Science from the University Complutense of Madrid in 1975 and 1980, respectively. His research interests include parallel algorithms for optimization problems and software engineering for distributed systems.
Antonio Vallecillo Moreno
Antonio Vallecillo Moreno is Associate Professor at the Department of Computer Science of the University of Málaga where he holds the Ph.D. degree in Computer Science and the B.Sc. and M.Sc. degrees in mathematics. His research interests include model-driven software development, open distributed processing and the industrial use of formal methods.