Upload
jaron
View
23
Download
2
Embed Size (px)
DESCRIPTION
MDWE 2005. Incorporating Cooperative Portlets in Web Application Development. Nathalie Moreno, José Raúl Romero, Antonio Vallecillo Universidad de Málaga {vergara,jrromero,av} @ lcc.uma.es. Agenda. 1. Introduction. 2. Reference Models for Portlets. - PowerPoint PPT Presentation
Citation preview
Incorporating Cooperative Portlets in Web Application
Development
Nathalie Moreno, José Raúl Romero, Antonio Vallecillo
Universidad de Málaga
{vergara,jrromero,av} @ lcc.uma.es
MDWE 2005
Agenda
1. Introduction
2. Reference Models for Portlets
4. Conclusions
3. Designing Portlet-based Web Applications
1. Introduction
Web applications = aggregate multiple applications
WEB SERVICES
Functionality
Re-create the presentation layer in each client
Marketing aspects of the service are lost
Users do not interact directly with the service
PORTLETS
Functionality + presentation
Customizable presentation layer
Preserve marketing aspects
Users interact directly with the service
1. Introduction – portlets
A portlet is … “an individual Web-based component that tipically handles requests and generates only a dynamic frament of the total markup that a user sees from his/her browser”
Portlets rarely run in an isolated way, but together with other portlets (within a portal)
However....
when a user navigates within one portlet, the others remain unchanged
to transfer data from one portlet to another, users have to manually copy and paste key data from sources to targets portlets
each portlet has to be searched individually for relevant information
1. Introduction – integrating portlets
In current Web Engineering methods, integration with third party systems has been mostly overlooked (until recently) not addressed, or addressed in a very simplistic way, and
entangled with other design concerns
In particular, there is a lack of guidelines about .. how portlets should be modeled how they should be integrated in a Web application how inter-portlet communication capabilities should be
modeled and achieved
““In a Platform Independent Way”In a Platform Independent Way”““In a Platform Independent Way”In a Platform Independent Way”
1. Introduction – goals of this paper
To identify the main concerns & models
involved in modeling portlets
To propose a strategy formodeling portlets and their
integration into Web application
To introduce mechanisms formodeling inter-portlet
communication & cooperation
GoalsGoals
11
22
33
Agenda
1. Introduction
2. Reference Models for Portlets
4. Conclusions
3. Designing Portlet-based Web Applications
2. Reference Models for Portlets
User Interface
PRESENTATIONPRESENTATION
NAVIGATIONNAVIGATION
ADAPTATIONADAPTATION
USERUSER
CONTEXTCONTEXT
CONCEPTUALMODEL
CONCEPTUALMODEL
Business Logic
COMPONENT+
ARCHITECTURAL STYLE
COMPONENT+
ARCHITECTURAL STYLE
DISTRIBUTIONDISTRIBUTION
PROCESSESPROCESSES
STRUCTURESTRUCTURE
INTERNALPROCESSES
INTERNALPROCESSES
CHOREOGRAPHYCHOREOGRAPHY
Data
INFORMATIONSTRUCTURE
INFORMATIONSTRUCTURE
INFORMATIONDISTRIBUTION
INFORMATIONDISTRIBUTION
<<use>>
<<use>><<use>>
<<use>><<use>>
<<use>>
LEVEL MODEL CONCEPTS
Data
Information Structure
UserInformationUnits, Attributes, Associations, Constraint, ExternalUserInformationUnit, ExternalRelationship,…
Information Location Node, ExternalNode, Link, ExternalLink,…
Business Logic
StructureBusinessProcessInformation, Attribute, Signature, Association, ExternalBusinessProcessInformation,…
Internal Processes
Activity, ExternalActivity, ControlStructure, ConditionalStructure, Flow, ExternalFlow,…
ChoreographyPartialCoreography, GlobalCoreography, Activity, Exception, ControlStructure, ConditionalStructure, …
ArchitectureComponent, Module, Client, Server, Master, Slave, View, Controller, Adapter, Interpreter, ….
DistributionNode, StaticLink, DynamicLink, Device, ComputingNode, MovileNode, …
User Interface
ConceptualUserInformationUnit, Attribute, Association, ExternalUserInformationUnit, ExternalAssociation,…
NavigationNavigationUnit, NavigationLink, ExternalNavigationUnit, Index, Menu, Event, ExternalNavigationLink,…
PresentationSinglePresentationUnit, 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,…
Agenda
1. Introduction
2. Reference Models for Portlets
4. Conclusions
3. Designing Portlet-based Web Applications
3. Designing Portlet-based Web Applications
Options
1
Combine the models of the individual portlets
with the models that describe the additional functionality of our Web
application
2
Delay as much as possible the
implementation decisions, in order to
obtain a set of reusable platform-independent
models
Design process strongly governed
by the (too early) implementation
decision of using portlets
The use of other technologies
forces redefinition of all the Web
application models (need to start
from scratch)
3.1 Integrating Cooperative Portlets using the framework
Integration and cooperation among portlets can be carried out at two levels of abstractions: at the user interface level and at business logic level.
PIM User Interface Viewpoint
PIM Business Logic Viewpoint
PSM User Interface Viewpoint
PSM Business Logic Viewpoint
Code User Interface Viewpoint
Code Business Logic Viewpoint
3.2 Our proposal (Business & UI) PIM
Business Logic
PSM Business Logic
Code Business Logic
Transf.MarksMarks
AnnotationsAnnotations
MappingsMappings
PIM
MarkedPIM
AnnotatedPIM
PSM
MappingsMappings
Transf.
Transf.
Transf.
Code
Create class diagram (PIM) describing
object model
Create class diagram (PIM) describing
object model
Mark PIM elements with stereotypes
Mark PIM elements with stereotypes
Customize the marked PIM with annotations
Customize the marked PIM with annotations
Specify the target platform
Specify the target platform
Generate a PSMGenerate a PSM
Generate the CodeGenerate the Code
11
22
33
44
55
66
Step 1
Identify framework
metamodels that need to be specified
Step 3
Structure model
Step 3.1
Conceptual model
Step 4.1
Navigation model
Step 4.1
Internal process model
Step 4.2
Choreography model
Step 5
Component model
Step 6
Distribution model
Step 3.2
Context model
Step 6
Navigation modelStep 4.2
User model
Step 5.2
Adaptation model
PIM Business Logic Viewpoint
PIM User Interface Viewpoint
3.4 Integration: Methodological guidelines
3.3 The Travel Agency System
Create class diagram (PIM) describing object modelCreate class diagram (PIM) describing object modelPIMPIM
MarkedPIM
MarkedPIM
AnnotatedPIM
AnnotatedPIM
PSMPSM
MarksMarks
AnnotationsAnnotations
MappingsMappings
11
Step 3
Structure model
3.5 The Business Logic Viewpoint (I)
Mark PIM elements with stereotypesMark PIM elements with stereotypesPIMPIM
AnnotatedPIM
AnnotatedPIM
PSMPSM
MarksMarks
AnnotationsAnnotations
MappingsMappings
MarksMarks
2.1
Mark PIM elements with stereotypesMark PIM elements with stereotypes22
MarkedPIM
MarkedPIM
Step 3
Structure model
3.5 The Business Logic Viewpoint (II)
Mark PIM elements with stereotypesMark PIM elements with stereotypesPIMPIM
AnnotatedPIM
AnnotatedPIM
PSMPSM
MarksMarks
AnnotationsAnnotations
MappingsMappings
2.1
Mark PIM elements with stereotypesMark PIM elements with stereotypes22
MarkedPIM
MarkedPIM
Step 4.1
Internal process model
Step 4.2
Choreography model
3.5 The Business Logic Viewpoint (III)
TravelAgency Air_Line Hotel
FindTravel
FindFlight
FindHotel
Validate
flightDetails
flightDetails
hotelDetails
hotelDetails
arrivalDate
arrivalDate
arrivalCity
arrivalCity
PIMPIM
AnnotatedPIM
AnnotatedPIM
PSMPSM
MarksMarks
AnnotationsAnnotations
MappingsMappings
MarkedPIM
MarkedPIM
ComponentComponentPackagePackage
ClassClass
AssociationAssociation
AssociationEndAssociationEnd
ClassClass
PortPort
InterfaceInterface
P2C
A2PC
Rule A2U { from assoc_end : UML!AssociationEnd (assoc_end.stereotypes-> includes(InternalSystem)) to port : UML!Port
Maps to …….
UsageDepend.UsageDepend.
ImplementationDepend.ImplementationDepend.
A2U
A2I
C2C
22Define the transformation rulesDefine the transformation rules
Transf.2.2
3.5 The Business Logic Viewpoint (IV)
22Obtain the marked PIMObtain the marked PIM
PIMPIM
AnnotatedPIM
AnnotatedPIM
PSMPSM
MarksMarks
AnnotationsAnnotations
MappingsMappings
MarkedPIM
MarkedPIM
Transf.
2.3
3.5 The Business Logic Viewpoint (V)
Conceptual ModelConceptual Model11
Step 3.1
Conceptual model
3.5 The User Interface Viewpoint (I)
“Particularize the ability by which specific class instances will match system requirements and will share data with each other”
Composite Structure Diagram
Conceptual ModelConceptual Model11
Step 3.1
Conceptual model
3.5 The User Interface Viewpoint (II)
Presentation ModelPresentation Model33
Step 5
Presentation model
PSM User Interface Viewpoint
Code User Interface Viewpoint
PortletsPortletsPortletsPortlets
Agenda
1. Introduction
2. Reference Models for Portlets
4. Conclusions
3. Designing Portlet-based Web Applications
3. Summary
Portlet-based Web applications Web Engineering proposals do not fully support yet the
integration of third party systems with Web applications Diaz et al. define only a set of platform-independent models,
but their proposal is strongly governed/influenced by the implementation decision of using portlets from the beginning
We have.. identified the main concerns involved in modeling portlets determined the major models required to capture these
concerns proposed a way to address their integration into Web
applications, from a platform independent point of view
3. Conclusions
This work extends our previous work which deals with Web Services integration
As future work, we plan to.. continue working on case studies for validating our proposal develop a plug-in for Eclipse that supports our proposal