+ All Categories
Home > Documents > Incorporating Cooperative Portlets in Web Application Development

Incorporating Cooperative Portlets in Web Application Development

Date post: 16-Jan-2016
Category:
Upload: jaron
View: 22 times
Download: 2 times
Share this document with a friend
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
26
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
Transcript
Page 1: Incorporating Cooperative Portlets in Web Application Development

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.3 The Travel Agency System

Page 16: Incorporating Cooperative Portlets in Web Application Development

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

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

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

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

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

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

Conceptual ModelConceptual Model11

Step 3.1

Conceptual model

3.5 The User Interface Viewpoint (II)

Page 23: Incorporating Cooperative Portlets in Web Application Development

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

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

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

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


Recommended