Presentation is loading. Please wait.

Presentation is loading. Please wait.

Incorporating Cooperative Portlets in Web Application Development Nathalie Moreno, José Raúl Romero, Antonio Vallecillo Universidad de Málaga {vergara,jrromero,av}

Similar presentations


Presentation on theme: "Incorporating Cooperative Portlets in Web Application Development Nathalie Moreno, José Raúl Romero, Antonio Vallecillo Universidad de Málaga {vergara,jrromero,av}"— Presentation transcript:

1 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

2 Agenda 1. Introduction 2. Reference Models for Portlets 4. Conclusions 3. Designing Portlet-based Web Applications

3 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

4 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

5 1. Introduction – open issues with portlets Open Issues How portlets should be modeled How to achieve & model sharing data among cooperative portlets Which concerns are involved In portlet modeling How portlets should be integrated In a Web Application How achieve portability to different servers and development tools How inter-portlet communication capabilities should be achieved Industry standards: JSR-168 WSRP

6 1. Introduction – open issues with portlets Open Issues How portlets should be modeled How to achieve & model sharing data among cooperative portlets Which concerns are involved In portlet modeling. How portlets should be integrated In a Web Application How achieve portability to different servers and development tools How inter-portlet communication capabilities should be achieved Industry standards: JSR-168 WSRP 

7 1. Introduction – open issues with portlets Open Issues How portlets should be modeled How to achieve & model sharing data among cooperative portlets Which concerns are involved in portlet modeling How portlets should be integrated in a Web Application How achieve portability to different servers and development tools How inter-portlet communication capabilities should be achieved Industry standards: JSR-168 WSRP  Industry standards: JSR-168 WSRP

8 1. Introduction – open issues with portlets Open Issues How portlets should be modeled How to achieve & model sharing data among cooperative portlets Which concerns are involved in portlet modeling How portlets should be integrated In a Web Application How achieve portability to different servers and development tools How inter-portlet communication capabilities should be achieved Industry standards: JSR-168 WSRP  Industry standards: JSR-168 WSRP Propietary extensions to Industry standards

9 1. Introduction – open issues with portlets Open Issues How portlets should be modeled How to achieve & model sharing data among cooperative portlets Which concerns are involved In portlet modeling How portlets should be integrated In a Web Application How achieve portability to different servers and development tools How inter-portlet communication capabilities should be achieved Industry standards: JSR-168 WSRP  Industry standards: JSR-168 WSRP Propietary extensions to Industry standards 

10 1. Introduction – open issues with portlets Open Issues How portlets should be modeled How to achieve & model sharing data among cooperative portlets Which concerns are involved in portlet modeling How portlets should be integrated in a Web Application How achieve portability to different servers and development tools How inter-portlet communication capabilities should be achieved Industry standards: JSR-168 WSRP  Industry standards: JSR-168 WSRP Propietary extensions to Industry standards 

11 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”

12 1. Introduction – goals of this paper To identify the main concerns & models involved in modeling portlets To propose a strategy for modeling portlets and their integration into Web application To introduce mechanisms for modeling inter-portlet communication & cooperation Goals 1 2 3

13 Agenda 1. Introduction 2. Reference Models for Portlets 4. Conclusions 3. Designing Portlet-based Web Applications

14 2. Reference Models for Portlets User Interface PRESENTATION NAVIGATION ADAPTATION USER CONTEXT CONCEPTUAL MODEL CONCEPTUAL MODEL Business Logic COMPONENT + ARCHITECTURAL STYLE COMPONENT + ARCHITECTURAL STYLE DISTRIBUTION PROCESSES STRUCTURE INTERNAL PROCESSES INTERNAL PROCESSES CHOREOGRAPHY Data INFORMATION STRUCTURE INFORMATION STRUCTURE INFORMATION DISTRIBUTION INFORMATION DISTRIBUTION >

15 LEVELMODELCONCEPTS Data Information Structure UserInformationUnits, Attributes, Associations, Constraint, ExternalUserInformationUnit, ExternalRelationship,… Information Location Node, ExternalNode, Link, ExternalLink,… Business Logic 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, … User Interface 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,…

16 Agenda 1. Introduction 2. Reference Models for Portlets 4. Conclusions 3. Designing Portlet-based Web Applications

17 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)

18 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

19 3.2 Our proposal (Business & UI) PIM Business Logic PSM Business Logic Code Business Logic Transf. Marks Annotations Mappings PIM Marked PIM Annotated PIM PSM Mappings Transf. Code Create class diagram (PIM) describing object model Create class diagram (PIM) describing object model Mark PIM elements with stereotypes Customize the marked PIM with annotations Specify the target platform Generate a PSM Generate the Code 1 2 3 4 5 6

20 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 model Step 4.2 User model Step 5.2 Adaptation model PIM Business Logic Viewpoint PIM User Interface Viewpoint 3.4 Integration: Methodological guidelines

21 3.3 The Travel Agency System

22 Create class diagram (PIM) describing object model PIM Marked PIM Marked PIM Annotated PIM Annotated PIM PSM Marks Annotations Mappings 1 Step 3 Structure model 3.5 The Business Logic Viewpoint (I)

23 Mark PIM elements with stereotypes PIM Annotated PIM Annotated PIM PSM Marks Annotations Mappings Marks 2.1 Mark PIM elements with stereotypes 2 Marked PIM Marked PIM Step 3 Structure model 3.5 The Business Logic Viewpoint (II)

24 Mark PIM elements with stereotypes PIM Annotated PIM Annotated PIM PSM Marks Annotations Mappings 2.1 Mark PIM elements with stereotypes 2 Marked PIM Marked PIM 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 hotelDetails arrivalDate arrivalCity

25 PIM Annotated PIM Annotated PIM PSM Marks Annotations Mappings Marked PIM Marked PIM Component Package Class Association AssociationEnd Class Port Interface P2 C A2P C Rule A2U { from assoc_end : UML!AssociationEnd (assoc_end.stereotypes-> includes(InternalSystem)) to port : UML!Port Maps to ……. UsageDepend. ImplementationDepend. A2 U A2I C2 C 2 Define the transformation rules Transf. 2.2 3.5 The Business Logic Viewpoint (IV)

26 2 Obtain the marked PIM PIM Annotated PIM Annotated PIM PSM Marks Annotations Mappings Marked PIM Marked PIM Transf. 2.3 3.5 The Business Logic Viewpoint (V)

27 Conceptual Model 1 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

28 Conceptual Model 1 Step 3.1 Conceptual model 3.5 The User Interface Viewpoint (II)

29 Navigation Model 2 Step 4.1 Navigation model 3.5 The User Interface Viewpoint (III)

30 Presentation Model 3 Step 5 Presentation model PSM User Interface Viewpoint Code User Interface Viewpoint Web Services

31 Presentation Model 3 Step 5 Presentation model PSM User Interface Viewpoint Code User Interface Viewpoint PortletsPortlets

32 Agenda 1. Introduction 2. Reference Models for Portlets 4. Conclusions 3. Designing Portlet-based Web Applications

33 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

34 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


Download ppt "Incorporating Cooperative Portlets in Web Application Development Nathalie Moreno, José Raúl Romero, Antonio Vallecillo Universidad de Málaga {vergara,jrromero,av}"

Similar presentations


Ads by Google