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.
Similar content being viewed by others
References
Bastide R, SY O and Palanque P (1999) Formal specification and prototyping of CORBA systems. In Proceedings of the 13th European Conference on Object-Oriented Programming ECOOP'99. Lecture Notes in Computer Science No. 1628. Lisbon, Portugal Springer-Verlag, Heildelberg.
Bracciali A, Brogi A and Canal C (2005) A formal approach to component adaptation. Journal of Systems and Software, Special Issue on Automated Component-Based Software Engineering 74, 45–54.
Brambilla M, Ceri S, Comai S, Fraternali P and Manolescu I (2003) Model-driven development of Web services and hypertext applications. In Proceedings of the Systemics, Cybernetics and Informatics Multiconference (SCI'03). Orlando, Florida.
Canal C, Fuentes L, Pimentel E, Troya JM and Vallecillo A (2003) Adding roles to CORBA objects. IEEE Transactions on Software Engineering 29 (3), 242–260.
Cho IH, Mcgregor JD and Krause L (1998) A protocol based approach to specifying interoperability between objects, In Proceedings of the 26th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS'98). IEEE Computer Society, Washington, USA.
De Castro V, Marcos E and LópezSanz M (2006) A model driven method for service composition modelling: a case study. International Journal of Web Engineering and Technology 2 (4), 335–353.
Dolog P (2004) Model-driven navigation design for semantic Web applications with the UML-guide. In Engineering Advanced Web Applications: Proceedings of Workshops in connection with the Fourth International Conference on Web Engineering (ICWE 2004). Rinton Press, Munich, Germany.
Gamma E, Helm R, Johnson R and Vlissides J (1995) Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, Massachusetts.
Lea D and Marlowe J (1995) Interface – based protocol specification of open systems using PSL. In Proceedings of the Ninth European Conference on Object-Oriented Programming (ECOOP'95). Lecture Notes in Computer Science No. 952 Springer-Verlag, London, UK.
Linthicum DS (2000) Enterprise Application Integration. Addison-Wesley Longman Ltd., Essex, UK.
Mattsson M and Bosch J (1997) Framework composition: problems, causes and solutions. In Proceedings of the TOOLS-23: Technology of Object-Oriented Languages and Systems (TOOLS '97). IEEE Computer Society, Santa Barbara, CA.
McKegney R and Shepard T (2003) Techniques for embedding executable specifications in software component interfaces. In Proceedings of the Second International Conference on COTS-Based Software Systems (ICCBSS'03). Lecture Notes in Computer Science No. 2580 Springer-Verlag, London, UK.
Mellor SJ and Balcer M (2002) Executable UML: A Foundation for Model-Driven Architectures. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
Moreno N and Vallecillo A (2005a) A modelbased approach for integrating third party systems with Web applications. In Proceedings of the Fifth International Conference on Web Engineering (ICWE'05). Lecture Notes in Computer Science No. 3579 Springer-Verlag, Sydney, Australia.
Moreno N and Vallecillo A (2005b) Incorporating cooperative portlets in Web application development. In Proceedings of the First Workshop on Model-driven Web Engineering (MDWE 2005). Sydney, Australia.
Moreno N and Vallecillo A (2005c) Modeling interactions between Web applications and third party systems. In Proceedings of the Fifth International Workshop on Web Oriented Software Technologies (IWWOST'05). Porto, Portugal.
Moreno N and Vallecillo A (2007) Towards Interoperable Web Engineering Methods. Submitted for publication.
Muller PA, Studer P, Fondement F and Bézivin J (2005) Platform independent Web application modeling and development with Netsilon. Software and System Modeling 4 (4), 424–442.
OMG (2001) Model Driven Architecture. A Technical Perspective. Object Management Group. OMG document ab/2001-01-01.
Raistrick C, Francis P, Wright J, Carter C and Wilkie I (2006) Model Driven Architecture with eXecutable UML. Cambridge University Press, New York, USA.
Reck C and Koenig-Ries B (1997) An architecture for transparent access to semantically heterogeneous information sources. In Proceedings of the First International Workshop on Cooperative Information Agents, Kiel, Germany.
Romero JR, Rivera JE, Durán F and Vallecillo A (2007) Formal and tool support for model driven engineering with Maude. Journal of Object Technology (JOT) 6 (9), http://www.jot.fm/.
Schmidt HW and Reussner RH (2002) Generating adapters for concurrent component protocol synchronisation, In Proceedings of the IFIP TC6/WG6.1, Fifth International Conference on Formal Methods for Open Object-Based Distributed Systems V (FMOODS'02). Kluwer, B.V., Deventer, The Netherlands.
Shlaer S and Mellor SJ (1992) Object Lifecycles: Modelling the World in States. Yourdon Press, Englewood Cliffs, New Jersey, USA.
Simons AJH (2002) The theory of classification, object types and subtyping. Journal of Object Technology 1 (5), 27–35.
Spitznagel B and Garlan D (2003) A compositional formalization of connector wrappers. In Proceedings of the 25th International Conference on Software Engineering (ICSE'03). IEEE Computer Society, Washington, USA.
Steel J and JÉzÉquel JM (2005) Model typing for improving reuse in model-driven engineering. In Proceedings of the 8th International Conference, MoDELS 2005. Lecture Notes in Computer Science No. 3713 (BRIAND L and WILLIAMS C, Eds) Springer-Verlag, Montego Bay, Jamaica.
Thiran P and Hainaut JL (2001) Wrapper development for legacy data reuse. In Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01). IEEE Computer Society, Washington, USA.
Wegner P (1996) Interoperability. ACM Computer Survey 28 (1), 285–287.
Yellin D and Strom R (1997) Protocol specification and component adaptor. ACM Transactions on Programming Languages and Systems 19 (2), 292–333.
Zaremski AM and Wing JM (1995) Signature matching: a tool for using software libraries. ACM Transactions on Software Engineering and Methodology 4 (2), 146–170.
Zaremski AM and Wing JM (1997) Specification matching of software components. ACM Transactions on Software Engineering and Methodology 6 (4), 333–369.
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.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Vergara, N., Linero, J. & Moreno, A. Model-driven component adaptation in the context of Web Engineering. Eur J Inf Syst 16, 448–459 (2007). https://doi.org/10.1057/palgrave.ejis.3000691
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1057/palgrave.ejis.3000691