Portlet Framework: the Liferay way Liferay Service Builder, Portlet MVC Catania, 10/06/2014Riccardo Rotondo.

Slides:



Advertisements
Similar presentations
Presented by: AU Assets Evolution of the SIF Common Framework Joerg Huber.
Advertisements

Web Development with Karsten Schulz Terp-Nielsen Master Principal Sales Consultant Oracle Denmark.
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.
Model-View-Controller ("MVC") This is a architectural design pattern for interactive applications. This design pattern organizes an interactive application.
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
Structure of a web application1 Dr Jim Briggs. MVC Structure of a web application2.
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.
George Mason Air Flight Reservation Service November 29, 2010 Jean Pierre Antonio Goncalves Alex Nazari Tom Essig Jessica Urquiola.
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
Struts. Agenda Preface Struts and its components An example The architecture required for Struts Applications.
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.
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.
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.
Spring Data Access By, Srinivas Reddy.S
Java Web Development with NetBeans IDE -- Kai Qian Chapter 5 JavaServer Faces (JSF) Technology.
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.
© 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.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Team Members Tyler Lamb Kirk Olson James Woestman IRP Presentation Client Zirous Inc. Faculty Advisor Tien Nguyen 1.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Overview of the Spring Framework Introducing.
Fundamentals of MyBATIS
ASP.NET MVC An Introduction. What is MVC The Model-View-Controller (MVC) is an architectural pattern separates an application into three main components:
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, 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.
Hibernate Java Persistence API. What is Persistence Persistence: The continued or prolonged existence of something. Most Applications Achieve Persistence.
Tutorial on Science Gateways, Roma, Riccardo Rotondo Portlet Framework: the Liferay way Liferay Service Builder, Portlet MVC.
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.
Introduction to portlet development Carla Carrubba INFN Dpt. Of Catania Giuseppina Inserra
New Technology: Why, What ,How
(Exchange Programme to advance e-Infrastructure Know-How)
Structure of a web application
Sri Vatsav Konreddy CIS 764 FALL 2007
POOL persistency framework for LHC
Sakai WebApp Structure
The Model Layer What is Model?
Systems integration in general
Developing and testing enterprise Java applications
Presentation transcript:

Portlet Framework: the Liferay way Liferay Service Builder, Portlet MVC Catania, 10/06/2014Riccardo Rotondo

Outline  Motivations  Model View Controller design pattern  Liferay Service Builder 2

Portlet Framework  GenericPortlet class is not the only way of developing portlet.  Several framework are nowadays available to develop portlet:  Struts  JavaServer Faces  Spring 3

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 4

Model View Controller Controller View Model 5  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 6

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 7

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). Source: 8

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. Source: 9

Service Builder Architecture Overview Source: 10

References  Liferay in Action:  Liferay Service Builder:  /wiki/Main/Service+Builder /wiki/Main/Service+Builder  633&fileEntryId= &fileEntryId=

Questions ? 12