ICWE 2005
A Model-based Approach for Integrating Third Party Systems with Web Applications
Nathalie Moreno, Antonio vallecillo Universidad de Málaga {vergara,av} @ lcc.uma.es
Agenda
1 2
Web Engineering & MDA
Concerns involved in the development of a Web Application
3
Proof of concept: The Travel Agency System
4
Concluding Remarks
ICWE 2005
1
Background
Web applications are moving from stand-alone systems to distributed applications
They need to interoperate with third party systems, such as external Web services, portlets or legacy applications in order to properly exchange information and services with them
Currently, integration of pre-developed systems is mostly achieved at implementation level (not at model level)
Integration needs to be considered at all phases of the development process
ICWE 2005
1
Requirements for a proper integration
A proper integration approach requires:
the provision of mechanisms for making explicit provided and required interfaces of external systems, data, process, choreography or presentation models, etc. the identification of the main concerns involved in modeling Web applications that interact third party systems…
• ….using separate models (so portability, interoperability and reusability can be obtained through architectural separation of concerns) • ….in a platform-independent fashion
ICWE 2005
1
“MDA to the rescue”
“MDA is suitable for developing distributed systems that are made up of components running on different platforms/tiers. For example, there may be web tier implemented on ASP.Net, but which talks to a middle-tier using EJBs, with a back-end being a Sybase RDBMS. MDA can generate the software for the tiers, plus the code to glue it all together.”
[Haywood, 2004]
ICWE 2005
Agenda
1 2
Web Engineering & MDA
Concerns involved in the development of a Web Application
3
Proof of concept: The Travel Agency System
4
Concluding Remarks
ICWE 2005
2
Concerns involved in the development of a Web Application
A framework specifically designed to integrate third party applications and legacy systems into Web systems by separating independent concerns into a set of views on the system, each one focusing on one particular viewpoint A viewpoint is an abstraction of a system focusing on one concern. Viewpoints are expressed using a selected set of concepts and structuring rules
USER INTERFACE VIEWPOINT BUSINESS LOGIC VIEWPOINT
DATA VIEWPOINT
ICWE 2005
2.1
The Framework
User Interface
USER
<