260 likes | 352 Views
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.
E N D
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 3. Designing Portlet-based Web Applications 4. Conclusions
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
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”
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
Agenda 1. Introduction 2. Reference Models for Portlets 3. Designing Portlet-based Web Applications 4. Conclusions
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>>
Agenda 1. Introduction 2. Reference Models for Portlets 3. Designing Portlet-based Web Applications 4. Conclusions
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)
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.
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
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
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
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
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
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
2 Transf. 3.5 The Business Logic Viewpoint (V) PIM Obtain the marked PIM Marks Marked PIM 2.3 Annotations Annotated PIM Mappings PSM
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
Step 3.1 Conceptual model 1 3.5 The User Interface Viewpoint (II) Conceptual Model
3 Code User Interface Viewpoint PSM User Interface Viewpoint Step 5 Presentation Model Presentation model Portlets
Agenda 1. Introduction 2. Reference Models for Portlets 3. Designing Portlet-based Web Applications 4. Conclusions
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