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
Web Engineering & MDA
2
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
Web Engineering & MDA
2
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
<<use>>
PRESENTATION
CONCEPTUAL
MODEL
ADAPTATION
CONTEXT
NAVIGATION
<<use>>
<<use>>
<<use>>
<<use>>
Business Logic
PROCESSES
STRUCTURE
INTERNAL
PROCESSES
COMPONENT
+
ARCHITECTURAL STYLE
CHOREOGRAPHY
DISTRIBUTION
Data
INFORMATION
STRUCTURE
INFORMATION
DISTRIBUTION
<<use>>
ICWE 2005
LEVEL
Data
Business
Logic
User
Interface
MODEL
CONCEPTS
Information
Structure
UserInformationUnits, Attributes, Associations, Constraint,
ExternalUserInformationUnit, ExternalRelationship,…
Info. Location
Node, ExternalNode, Link, ExternalLink,…
Structure
BusinessProcessInformation, Attribute, Signature, Association,
ExternalBusinessProcessInformation,…
Internal Processes
Activity, ExternalActivity, ControlStructure, ConditionalStructure,
Flow, ExternalFlow,…
Choreography
PartialCoreography, GlobalCoreography, Activity, Exception,
ControlStructure, ConditionalStructure, …
Architecture
Component, Module, Client, Server, Master, Slave, View, Controller,
Adapter, Interpreter, ….
Distribution
Node, StaticLink, DynamicLink, Device, ComputingNode,
MovileNode, …
Conceptual
UserInformationUnit, Attribute, Association,
ExternalUserInformationUnit, ExternalAssociation,…
Navigation
NavigationUnit, NavigationLink, ExternalNavigationUnit, Index,
Menu, Event, ExternalNavigationLink,…
Presentation
SinglePresentationUnit, Text, Image, InputElement, Transition,
GroupPresentationUnit, Section, Page, Form, ExternalPage,…
Context
Device, Network, Location, Time
User
History, Session, User, Role, UserFeature, Preference, …
Adaptation
Event, Rule, Condition, Action, Entity,…
ICWE 2005
2.2
How the Framework is used
The development of a typical Web application with data,
business process and hypertext involves the definition of at
least three PIMs, each one for a viewpoint
PIM
User Interface Viewpoint
PIM
Business Logic Viewpoint
PIM
Data Viewpoint
PSM
User Interface Viewpoint
PSM
Business Logic Viewpoint
PSM
Data Viewpoint
Code
User Interface Viewpoint
Code
Business Logic Viewpoint
Code
Data Viewpoint
ICWE 2005
2.3
Methodological guidelines
Step 4
Internal process
model
Step 5
Step 6
Component
model
Distribution
model
Step 3
Structure model
Step 4
Choreography
model
Step 1
Identify the
framework
metamodels that
need to be
instantiated
Step 2
Step 3
Information
Structure model
Information
Location model
PIM
Business Logic Viewpoint
PIM
Data Viewpoint
Step 3
Step 4
Conceptual
model
Navigation
model
PIM
User Interface Viewpoint
Step 6
Step 3
Step 4
Step 5
Context model
User model
Adaptation
model
Navigation
model
ICWE 2005
2.4
PIM
Business Logic
The MDA Chain
PIM
Marks
Transf.
Marked
PIM
Annotations
Create class diagram
(PIM) describing
object model
1
Mark PIM elements with
stereotypes
2
Customize the marked
PIM with annotations
3
Specify the target
platform
4
Generate a PSM
5
Transf.
Annotated
PIM
Mappings
Transf.
PSM
Business Logic
PSM
Mappings
Transf.
Code
Business Logic
Code
Generate the Code
ICWE 2005
6
2.4.1
Identifying the system scope and boundaries
PIM
Marks
Transf.
Marked
PIM
ICWE 2005
2.4.2
Specifying particular communication mechanisms
PIM
Marks
Transf.
Marked
PIM
Annotations
Transf.
Annotated
PIM
ICWE 2005
2.4.3
Specifying a particular platform technology (e.g., WS)
PIM
Marks
Transf.
Dt2T
Marked
PIM
P2D
Annotations
Transf.
C2T
P2Part
Annotated
PIM
Mappings
Transf.
I2Pt
PSM
O2O
ICWE 2005
Agenda
1
Web Engineering & MDA
2
Concerns involved in the development of a Web Application
3
Proof of concept: The Travel Agency System
4
Concluding Remarks
ICWE 2005
3.1
The Travel Agency System (TAS)
ICWE 2005
3.2
Applying the methodology
Step 4
Internal process
model
Step 5
Step 6
Component
model
Distribution
model
Step 3
Structure model
Step 4
Choreography
model
Step 1
Identifying
framework
metamodels that
need to be
instantiated.
Step 2
Step 3
Information
Structure model
Information
Location model
PIM
Business Logic Viewpoint
PIM
Data Viewpoint
Step 3
Step 4
Conceptual
model
Navigation
model
PIM
User Interface Viewpoint
Step 6
Step 3
Step 4
Step 5
Context model
User model
Adaptation
model
Presentation
model
ICWE 2005
Step 3
3.3
The PIM of the Business Logic Viewpoint (I)
Structure model
PIM
1
Create class diagram (PIM) describing object model
Marks
Marked
PIM
Annotations
Annotated
PIM
Mappings
PSM
ICWE 2005
Step 3
3.3
The PIM of the Business Logic Viewpoint (II)
Structure model
PIM
2
Mark
elements
with stereotypes
MarkPIM
PIM
elements
with stereotypes
2.1
Marks
Marks
Marked
PIM
Annotations
Annotated
PIM
Mappings
PSM
ICWE 2005
3.3
The PIM of the Business Logic Viewpoint (III)
Step 4.1
Step 4.2
Internal process
model
Choreography
model
PIM
2
Mark
elements
with stereotypes
MarkPIM
PIM
elements
with stereotypes
2.1
Marks
<<ExternalTransition>>
(from Air_Line)
find_flight
<<ExternalTransition>>
[list==null]
ListNull
Marked
PIM
[list!=null]
Annotations
<<ExternalActivity>>
<<ExternalActivity>>
(from CarHire)
find_car
(from Hotel)
find_room
Annotated
PIM
<<ExternalTransition>>
Combine_FlyList_HotelList_CarList
[list==null]
Mappings
ListNull
[list!=null]
ListHolidayPackage
PSM
ICWE 2005
3.3
The PIM of the Business Logic Viewpoint (IV)
PIM
2
Apply transformation rules
Marks
Transf.
Package
P2
C
Component
Class
C2
C
Class
Association
A2P
C
Port
2.2
Marked
PIM
Annotations
Interface
A2
U
UsageDepend.
AssociationEnd
A2I
ImplementationDepend.
Annotated
PIM
Mappings
Rule A2U {
from assoc_end : UML!AssociationEnd
(assoc_end.stereotypes-> includes(InternalSystem))
to port : UML!Port
Maps to
…….
PSM
ICWE 2005
3.3
The PIM of the Business Logic Viewpoint (V)
PIM
2
The marked PIM
Marks
Transf.
Marked
PIM
2.3
Annotations
Annotated
PIM
Mappings
PSM
ICWE 2005
3.3
The PIM of the Business Logic Viewpoint (VI)
PIM
3
Customize the marked PIM with annotations
Marks
Transf.
Summary of the stereotypes used
UML Base Element
Port
Stereotype
Marked
PIM
3.1
<<ServerPort>>
Port
<<ClientPort>>
Port
<<StubClient>>
Port
<<ProxyClient>>
Port
<<DynamicClient>>
Interface
<<InterfaceSignature>>
Interface
<<ProvidedSignature>>
Interface
<<RequiredSignature>>
Assembly Adaptor
<<Interaction>>
Annotations
Annotated
PIM
Mappings
PSM
ICWE 2005
Step 5
3.3
The PIM of the Business Logic Viewpoint (VII)
Component
model
PIM
3
Customize the marked PIM with annotations
Marks
Transf.
Marked
PIM
3.1
Annotations
Annotated
PIM
Mappings
PSM
ICWE 2005
Step 6
3.3
Distribution
model
The PIM of the Business Logic Viewpoint (VIII)
PIM
3
Customize the marked PIM with annotations
Marks
Transf.
Marked
PIM
Annotations
Transf.
Annotated
PIM
3.2
Mappings
PSM
ICWE 2005
3.3
The PIM of the Business Logic Viewpoint (IX)
PIM
4
Specify the target platforms
Marks
Transf.
Marked
PIM
Annotations
Transf.
Annotated
PIM
Mappings
4.1
WSDL
JAVA
CORBA
PSM
ICWE 2005
3.3
The PIM of the Business Logic Viewpoint (X)
PIM
4
Apply the transformation rules
Marks
Transf.
Marked
PIM
P2P
Annotations
G2s
Transf.
Ae2F
C2C
I2I
Annotated
PIM
Mappings
A2F
OM2M
Transf.
4.2
Pr2Pr
Dt2Pt
PSM
ICWE 2005
3.3
The PIM of the Business Logic Viewpoint (XI)
PIM
5
Generate de PSM
Marks
Transf.
Marked
PIM
Annotations
Transf.
Annotated
PIM
Mappings
Transf.
PSM
5
ICWE 2005
3.1
Applying the methodology
Step 4.1
Internal process
model
Step 5
Step 6
Component
model
Distribution
model
Step 3
Structure model
Step 4.2
Choreography
model
Step 1
Identifying
framework
metamodels that
need to be
instantiated.
Step 2
Step 3
Information
Structure model
Information
Location model
Step 3.1
Step 4.1
Conceptual
model
Navigation
model
PIM
Business Logic Viewpoint
PIM
Data Viewpoint
PIM
User Interface Viewpoint
Step 6
Step 3.2
Step 4.2
Step 5.2
Context model
User model
Adaptation
model
Presentation
model
ICWE 2005
Step 3.1
3.4
1
The PIM of the User Interface Viewpoint (I)
Conceptual
model
Conceptual Model
ICWE 2005
Step 4.1
3.4
2
The PIM of the User Interface Viewpoint (II)
Navigation
model
Navigation Model
ICWE 2005
Step 5
3.4
3
The PIM of the User Interface Viewpoint (III)
Presentation
model
Presentation Model
ICWE 2005
Agenda
1
Web Engineering & MDA
2
Concerns involved in the development of a Web Application
3
Proof of concept: The Travel Agency System
4
Concluding Remarks
ICWE 2005
4.1
Concluding Remarks
Web Development methods should address in full the
interactions with third party systems
Model-driven Web Engineering proposals should able to
incorporate these external applications into their models
In this paper we have presented a model-based framework
that covers the aspects that need to be considered for the
high-level integration of Web applications with third party
systems
ICWE 2005
4.2
Future Work
Make use of transformation languages for defining the
model transformations, so they can be easily re-used and
integrated with MDA tools
Improve the description of the behavioural aspects
(suggestions welcome)
Study the (semi-automatic) derivation of adaptors in case
incompatibilities are detected (at the PIM level)
Cover the description of QoS information in the models, in
order to be able to deal with these aspects
ICWE 2005
ICWE 2005
© Copyright 2026 Paperzz