Incorporating Cooperative Portlets in Web Application Development
description
Transcript of Incorporating Cooperative Portlets in Web Application Development
![Page 1: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/1.jpg)
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
![Page 2: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/2.jpg)
Agenda
1. Introduction
2. Reference Models for Portlets
4. Conclusions
3. Designing Portlet-based Web Applications
![Page 3: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/3.jpg)
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
![Page 4: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/4.jpg)
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
![Page 5: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/5.jpg)
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”
![Page 6: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/6.jpg)
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
![Page 7: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/7.jpg)
Agenda
1. Introduction
2. Reference Models for Portlets
4. Conclusions
3. Designing Portlet-based Web Applications
![Page 8: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/8.jpg)
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>>
![Page 9: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/9.jpg)
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,…
![Page 10: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/10.jpg)
Agenda
1. Introduction
2. Reference Models for Portlets
4. Conclusions
3. Designing Portlet-based Web Applications
![Page 11: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/11.jpg)
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)
![Page 12: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/12.jpg)
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
![Page 13: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/13.jpg)
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
![Page 14: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/14.jpg)
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
![Page 15: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/15.jpg)
3.3 The Travel Agency System
![Page 16: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/16.jpg)
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)
![Page 17: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/17.jpg)
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)
![Page 18: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/18.jpg)
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
![Page 19: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/19.jpg)
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)
![Page 20: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/20.jpg)
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)
![Page 21: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/21.jpg)
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
![Page 22: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/22.jpg)
Conceptual ModelConceptual Model11
Step 3.1
Conceptual model
3.5 The User Interface Viewpoint (II)
![Page 23: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/23.jpg)
Presentation ModelPresentation Model33
Step 5
Presentation model
PSM User Interface Viewpoint
Code User Interface Viewpoint
PortletsPortletsPortletsPortlets
![Page 24: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/24.jpg)
Agenda
1. Introduction
2. Reference Models for Portlets
4. Conclusions
3. Designing Portlet-based Web Applications
![Page 25: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/25.jpg)
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
![Page 26: Incorporating Cooperative Portlets in Web Application Development](https://reader030.fdocuments.in/reader030/viewer/2022020308/56814c0d550346895db90b40/html5/thumbnails/26.jpg)
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