Tutorial on Science Gateways, Roma, 04.06.2013 Riccardo Rotondo Portlet Framework: the Liferay way Liferay Service Builder, Portlet MVC.

Slides:



Advertisements
Similar presentations
Introduction to the Spring Framework
Advertisements

Presented by: AU Assets Evolution of the SIF Common Framework Joerg Huber.
Lecture plan Information retrieval (from week 11)
Apache Struts Technology
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Saul Greenberg Groupware Infrastructures Saul Greenberg Professor Department of Computer Science University of Calgary.
1 IBM SanFrancisco Product Evaluation Negotiated Option Presentation By Les Beckford May 2001.
Indianapolis Java User Group JSR-168 Portal Presentation Introduction: Kurt Desserich.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
Apache Tomcat Server Typical html Request/Response cycle
Apache Struts Technology A MVC Framework for Java Web Applications.
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
Catania Science Gateway Framework Motivations, architecture, features Catania, 09/06/2014Riccardo Rotondo
Session-01. Hibernate Framework ? Why we use Hibernate ?
The Spring Framework A quick overview. The Spring Framework 1. Spring principles: IoC 2. Spring principles: AOP 3. A handful of services 4. A MVC framework.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
UNIT-V The MVC architecture and Struts Framework.
Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing.
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
MVC pattern and implementation in java
Traditional Web Based Application Structure Frameworks define how the application is designed, organised and deployed across various tiers.
Portlet Framework: the Liferay way Liferay Service Builder, Portlet MVC Catania, 10/06/2014Riccardo Rotondo.
Todd Snyder Development Team Lead Infragistics Experience Design Group.
Software Engineering General architecture. Architectural components:  Program organisation overview Major building blocks in a system Definition of each.
Dali JPA Tools. About Dali Dali JPA Tools is an Eclipse Web Tools Platform sub-Project Dali 1.0 is a part of WTP 2.0 Europa coordinated release Goal -
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
1 Another group of Patterns Architectural Patterns.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Case Study + MVC Lec Error Pages By means of the page directive, a JSP can be given the responsibility of an Error page An Error JSP will be called.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
Java Web Development with NetBeans IDE -- Kai Qian Chapter 5 JavaServer Faces (JSF) Technology.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
1 Mapping to Relational Databases Presented by Ramona Su.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
JSF Framework Java Server Faces Presented by Songkran Totiya (6/10/2014)
Struts Framework Anna Paščenko. What is Struts?  An open source framework for building Java web applications.
Model View Controller Architecture of Java Web Applications Dr. M V S Peri Sastry, Ph.D.[BITS-Pilani]
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) The EPIKH Project Riccardo Rotondo
Sakai WebApp Structure
{ Online Dating Popa Adrian Prejbeanu Samir Stefan Andrei Urziceanu Stefanita.
Multithreaded Programing. Outline Overview of threads Threads Multithreaded Models  Many-to-One  One-to-One  Many-to-Many Thread Libraries  Pthread.
Markus Hjort Reaktor Innovations Java Web Development T WWW-palvelun HUT
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Implementation of SCENS Yan Zhao. Current Status Current implementation is web-based –
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Team Members Tyler Lamb Kirk Olson James Woestman IRP Presentation Client Zirous Inc. Faculty Advisor Tien Nguyen 1.
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Overview of the Spring Framework Introducing.
Fundamentals of MyBATIS
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
Ashley Montebello Katie Githens Wayne Rowcliffe. Project Overview Create graduate student review system for ECpE department Review system is used by students.
Tutorial on Science Gateways, Roma, Riccardo Rotondo Introduction on Science Gateway Understanding access and functionalities.
Tutorial on Science Gateways, Roma, Catania Science Gateway Framework Motivations, architecture, features Riccardo Rotondo.
Apache Struts Technology A MVC Framework for Java Web Applications.
Grid Initiatives for e-Science virtual communities in Europe and Latin America Riccardo Rotondo
The EPIKH Project Portlet Develop Introduction Riccardo Rotondo Consortium GARR Tutorial per l’integrazione.
Business Applications– Using Java _____ Presented by Priya Saha.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Tutorial on Science Gateways, Roma, Riccardo Rotondo Web Application Development Introduction to application servers, web applications and portlets.
New Technology: Why, What ,How
(Exchange Programme to advance e-Infrastructure Know-How)
Sri Vatsav Konreddy CIS 764 FALL 2007
POOL persistency framework for LHC
Sakai WebApp Structure
The Model Layer What is Model?
JavaServer Faces: The Fundamentals
Systems integration in general
Developing and testing enterprise Java applications
Presentation transcript:

Tutorial on Science Gateways, Roma, Riccardo Rotondo Portlet Framework: the Liferay way Liferay Service Builder, Portlet MVC

Riccardo Rotondo Tutorial on Science Gateways, Roma, Outline  Motivations  Model View Controller design pattern  Liferay Service Builder

Portlet Framework  GenericPortlet class is not the only way of developing portlet.  Several framework are nowadays available to develop portlet:  Struts  JavaServer Faces  Spring Riccardo Rotondo Tutorial on Science Gateways, Roma,

Liferay MVCPortlet  Make use of a subset of the classical MVC Framework  Easier to use  Faster learning curve  Less configuration files to deal with and to synchronize with java sources  MVC: Model View Controller paradigm helps keeping the code tidy Riccardo Rotondo Tutorial on Science Gateways, Roma,

Model View Controller Riccardo Rotondo Tutorial on Science Gateways, Roma, Controller View Model  Model: layer responsible to hold the data and the business logic to manipulate them. In case you use Liferay Service Builder to manage your data, it works at the model layer level.  View: layer containing the rules to display data to the users (typically the JSP pages)  Controller: layer behaving as traffic director. Determine which action will be executed according users input. Model and View layer shouldn’t communicate each other but interact with the controller

Difference from the GenericPortlet  Unnecessary implementation of doView() and doEdit() and any others porlet API  Class is simpler, it contains just the action methods  In case you really want to use any portlet API they are available, MVCPorlet is a subclass of the GenericPortlet class Riccardo Rotondo Tutorial on Science Gateways, Roma,

Portlet accessing data  Several reasons to use a database behind a portlet  Java Programming offers different approach to deal with data  Object-relation mapping framework allow database access in a robust way. Java offers Persistence API (JPA) for database access  Liferay uses Hibernate to manage all its data Riccardo Rotondo Tutorial on Science Gateways, Roma,

Drawback in Hibernate direct usage  Development of independent portlets using Hibernate/JPA appears to work, but the runtime implications are not immediately recognizable: Stale caches because of multiple writers. Server resource consumption for multiple DB connections, memory usage for runtime copies of Hib/JPA objects. Synchronization issues (two portlets given new Hib/JPA config but one forgotten). Riccardo Rotondo Tutorial on Science Gateways, Roma, Source:

The Service Builder Solution Service Builder provides a single point to share code (DB access and business logic) to independent portlets, resolving the caching, resource, and synchronization issues. Riccardo Rotondo Tutorial on Science Gateways, Roma, Source:

Service Builder Architecture Overview Riccardo Rotondo Tutorial on Science Gateways, Roma, Source:

References  Liferay in Action:  Liferay Service Builder:  /wiki/Main/Service+Builder /wiki/Main/Service+Builder  d= &fileEntryId= d= &fileEntryId= Riccardo Rotondo Tutorial on Science Gateways, Roma,

Questions ? Riccardo Rotondo Tutorial on Science Gateways, Roma,