1 / 26

Incorporating Cooperative Portlets in Web Application Development

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.

jaron
Download Presentation

Incorporating Cooperative Portlets in Web Application Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

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

  3. PORTLETS Functionality + presentation Customizable presentation layer Preserve marketing aspects Users interact directly with the service WEB SERVICES 1. Introduction • Web applications = aggregate multiple applications Functionality Re-create the presentation layer in each client Marketing aspects of the service are lost Users do not 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 – 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”

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

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

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

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

  10. 1 2 Combine the models of the individual portlets with the models that describe the additional functionality of our Web application Delay as much as possible the implementation decisions, in order to obtain a set of reusable platform-independent models 3. Designing Portlet-based Web Applications Options  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)

  11. Code User Interface Viewpoint Code Business Logic Viewpoint PIM User Interface Viewpoint PIM Business Logic Viewpoint PSM User Interface Viewpoint PSM Business Logic Viewpoint 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.

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

  13. Step 3 Step 6 Step 5 Step 4.1 Step 4.2 PIM Business Logic Viewpoint PIM User Interface Viewpoint Component model Distribution model Structure model Choreography model Internal process model Step 1 Identify framework metamodels that need to be specified Step 3.1 Step 4.1 Step 3.2 Step 4.2 Step 5.2 Step 6 Conceptual model Context model Navigation model User model Adaptation model Navigation model 3.4 Integration: Methodological guidelines

  14. 3.3 The Travel Agency System

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

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

  17. 2 Step 4.2 Step 4.1 Choreography model Internal process model 3.5 The Business Logic Viewpoint (III) PIM 2.1 Mark PIM elements with stereotypes Mark PIM elements with stereotypes Marks TravelAgency Air_Line Hotel Marked PIM FindTravel Annotations arrivalCity flightDetails FindFlight Annotated PIM arrivalDate arrivalCity FindHotel Mappings arrivalDate hotelDetails flightDetails Validate hotelDetails PSM

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

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

  20. Step 3.1 Conceptual model 1 Composite Structure Diagram “Particularize the ability by which specific class instances will match system requirements and will share data with each other” 3.5 The User Interface Viewpoint (I) Conceptual Model

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

  22. 3 Code User Interface Viewpoint PSM User Interface Viewpoint Step 5 Presentation Model Presentation model Portlets

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

  24. 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

  25. 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

More Related