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

Slides:



Advertisements
Similar presentations
Personalized Presentation in Web-Based Information Systems Institute of Informatics and Software Engineering Faculty of Informatics and Information Technologies.
Advertisements

REST Introduction 吴海生 博克软件(杭州)有限公司.
Fast. Forward. Wireless. Recommendations for Improving Device Independent Presentation Authoring Krishna Vedati.
Toward an Agent-Based and Context- Oriented Approach for Web Services Composition IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 17, NO. 5,
A component- and message-based architectural style for GUI software
PROTOCOLS SUBMITTED BY : SUDEEP C D ; BSc(CS) Ist Year Ist Sem. T h i s p r e s e n t a t i o n w i l l p r o b a b l y i n v o l v e a u d i e n c e d.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
IBM WebSphere Portal © 2008 IBM Corporation 1 Deliver an Irresistible User Experience  Provides an interactive user experience  No programming needed,
Nathalie Moreno and Antonio Vallecillo Dept. Lenguajes y Ciencias de la Computación Universidad de Málaga COTS component/ Legacy.
Using Architecture Frameworks
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
1st Project Introduction to HTML.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
UNIT-V The MVC architecture and Struts Framework.
PHASE 3: SYSTEMS DESIGN Chapter 8 System Architecture.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
The Design Discipline.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Using MDA in Web Software Architectures Santiago Meliá Cristina Cachero Jaime Gómez Universidad de Alicante Spain.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
An Introduction to Software Architecture
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Architecting Web Services Unit – II – PART - III.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Cohesive Design of Personalized Web Applications Presented by Yinghua Hu Schwabe, D. Mattos Guimaraes, R. Rossi, G. Pontificia Univ. Catolica do Rio de.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Implementation support z programming tools y levels of services for programmers z windowing systems y core support for separate and simultaneous user-system.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Portals: Architecture & Best Practices Greg Hinkle February 2005.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Multi-Device UI Development for Task-Continuous Cross-Channel Web Applications Enes Yigitbas, Thomas Kern, Patrick Urban, Stefan Sauer
Chapter 2 Database System Concepts and Architecture
Systems Analysis and Design With UML 2
Project 1 Introduction to HTML.
Systems Analysis and Design With UML 2
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Analysis models and design models
An Introduction to Software Architecture
واسط كاربري هوشمند Intelligent User Interface
Implementation support
Implementation support
Presentation transcript:

Incorporating Cooperative Portlets in Web Application Development Nathalie Moreno, José Raúl Romero, Antonio Vallecillo Universidad de Málaga lcc.uma.es MDWE 2005

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

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

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 – 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

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 

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

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

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 

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 

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

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

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 >

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,…

Agenda 1. Introduction 2. Reference Models for Portlets 4. Conclusions 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)

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

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

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

3.3 The Travel Agency System

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)

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)

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

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 The Business Logic Viewpoint (IV)

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

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

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

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

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

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

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

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