SlideShare a Scribd company logo
Web Application Development
Introduction to application
servers, web applications and
portlets
Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Outline

 Scenario

 Use Case
 Portlet Develop
 Hostname porltlet

 Catania Grid Engine API

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Scenario

JSR 168/268
JSR 168/268

JSR 168/268

JSR 168/268

Catania Science Gateway Framework

GRID

CLOUD

Local

Riccardo Rotondo
Tutorial on
Cluster Science Gateways, Roma, 04.06.2013
Web enviroment

 Application Server (Glassfish)
 Web application working as Portlet Container
JSR 168/268
JSR 168/268
(Liferay)
JSR 168/268
JSR 168/268
 Portlet (a custom application designed under
users needs)

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
What is an application server?

 A software framework designed to host
applications running in a web environment
 Most of them contains a service layer model
 A set of API is available for the developers to
access the application server’s functionalities
 As long as the management of the
environment is demanded to the application
server, developers can focus on the business
logic.
Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Most popular application servers

http://plumbr.eu/blog/most-popular-application-servers
Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
What is a web application?






An application accessed over a network
Analogy with “common” applications
User interact with them through a web-browser
A web applications can offer thousands of
services: Liferay is a web-application

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Liferay (www.liferay.com)
 Highly-configurable, scalable, open source
portal framework;
 Compatible with JSR 168/286 standards
and based on modern web 2.0
technologies;
 Liferay services currently used:
 Portal;
 CMS & WCM;
 Collaboration and “social” software

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Liferay Plugins






Portlets
Themes
Layouts
Hooks
Exts

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
What is Porltet ?
 Defined in the Java Specification Request (JSR
168/286)
 A porlet is a web component able to set a
frame portion of a web page.
 Differently from Servlet it needs a Porltlet
Container to allow the user to interact with it.
 Standard Portlet can be deployed in any Porlet
Container in case they will use standard libray.

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Generic Porlets Life Cycle

YES

NO
End of
Services?

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Generic Porltlets Interface Method
Class GenericPortlets {
init (PortletConfig);
processAction (ActionRequest,
ActionResponse);
render (RenderRequest, RenderResponse);
destroy();
doView (Request, Response);
doEdit (Reuqest, Response);
doHelp (Request, Response);
}

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Portlet Mode
 A porltet works in three
different states.
 View Mode: generate a
markup ( a portion of a
web page);
 Edit Mode: allow portlet
customisation and
setting preferences.
 Help Mode: explains
portlet functionalities.
Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Action Request
Action
Request

view.jsp

processAction()

Action
Request

edit.jsp

Render
Request

doView()

edit.jsp

doEdit()

view.jsp

Render
Request

processAction()

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Render Request

Render
Request

view.jsp

doView()

view2.jsp

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Portlets
 Standard JSR168/286
 Interaction between jsp pages and java code
Application Server (Glassfish)

JSP page
<jsp:useBean
<form … >

Java code
Class <you portlet>
Extends
GenericPortlet …

<input … />
</form>

 JSP uses <form… statements to send parameters to Java code
 Java code extends class GenericPortlet overriding methods:




Init, doView, doHelp, doEdit, processAction

Java code uses 2 Classes to exchange data from/to JSPs
Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Portlet files (root)
build.xml

Used by ‘ant’ to compile and
deploy the portlet

docroot/
WEB_INF/
css/
images/
js/

jsp_page_1.jsp
…
jsp_page_n.jsp

Define here JSP’s styles
JSP image files
JavaScript files

Portlet JSP pages

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Portlet files (docroot)
WEB_INF/
Used to define database and other
glassfish-web.xml
resources settings
web.xml
lib/
Jar Library directory (local scope)
Job/
Job files (Custom dir)
liferay-display.xml
liferay-plugin-package.properties
Portlet
liferay-portlet.xml
configuration files
portlet.xml
src/
Java source files

<package_name>/code.java

tld/

XML structure file
Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Building environment

 Get Liferay with Glassfish
 Customising Liferay installation (database
connection)
 Get Liferay plug-in SDK
 Configuring Netbeans (optional)

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Deploying first portlet








Understanding ant scripts
Creating “hello world” portlet
Understanding portlet files
Compiling porltet
Deploying porlet
Understading portlet management on the
server

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
References
 Liferay: https://www.liferay.com
 Liferay Bundles:
https://www.liferay.com/downloads/liferayportal/available-releases
 Liferay Plugin SDK:
https://www.liferay.com/downloads/liferayportal/additional-files
 Netbeans: https://netbeans.org
 Netbeans liferay plugin:
https://contrib.netbeans.org/portalpack/
Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013
Questions ?

Riccardo Rotondo
Tutorial on Science Gateways, Roma, 04.06.2013

More Related Content

Viewers also liked

The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
nobby
 
App and web with Hippo CMS and AngularJS
App and web with Hippo CMS and AngularJS App and web with Hippo CMS and AngularJS
App and web with Hippo CMS and AngularJS
Peter Broekroelofs
 
JCR and ModeShape
JCR and ModeShapeJCR and ModeShape
JCR and ModeShape
Jozef Chocholacek
 
Cms integration of apache solr how we did it.
Cms integration of apache solr   how we did it.Cms integration of apache solr   how we did it.
Cms integration of apache solr how we did it.
lucenerevolution
 
Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2
Hippo
 
JCR - Java Content Repositories
JCR - Java Content RepositoriesJCR - Java Content Repositories
JCR - Java Content Repositories
Carsten Ziegeler
 
Build Your Own CMS with Apache Sling
Build Your Own CMS with Apache SlingBuild Your Own CMS with Apache Sling
Build Your Own CMS with Apache Sling
Bob Paulin
 
Hippo gettogether april 2012 faceted navigation a tale of daemons
Hippo gettogether april 2012 faceted navigation   a tale of daemonsHippo gettogether april 2012 faceted navigation   a tale of daemons
Hippo gettogether april 2012 faceted navigation a tale of daemons
Hippo
 
The Zero Bullshit Architecture
The Zero Bullshit ArchitectureThe Zero Bullshit Architecture
The Zero Bullshit Architecture
Lars Trieloff
 
Hippo get together presentation solr integration
Hippo get together presentation   solr integrationHippo get together presentation   solr integration
Hippo get together presentation solr integration
Hippo
 
Hippo CMS Integration Patterns
Hippo CMS Integration PatternsHippo CMS Integration Patterns
Hippo CMS Integration Patterns
Jeroen Reijn
 
Hippo CMS - A first look
Hippo CMS - A first lookHippo CMS - A first look
Hippo CMS - A first look
Piergiorgio Lucidi
 
Introduction to JCR
Introduction to JCR Introduction to JCR
Introduction to JCR
David Nuescheler
 
Choosing Hippo CMS
Choosing Hippo CMSChoosing Hippo CMS
Choosing Hippo CMS
Anton Udovychenko
 
Life of St. Augustine of Hippo
Life of St. Augustine of HippoLife of St. Augustine of Hippo
Life of St. Augustine of Hippo
Genesis Labana
 
Hippo Nuxeo World 2011
Hippo Nuxeo World 2011Hippo Nuxeo World 2011
Hippo Nuxeo World 2011
Hippo
 
JCR In 10 Minutes
JCR In 10 MinutesJCR In 10 Minutes
JCR In 10 Minutes
Bertrand Delacretaz
 

Viewers also liked (17)

The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
 
App and web with Hippo CMS and AngularJS
App and web with Hippo CMS and AngularJS App and web with Hippo CMS and AngularJS
App and web with Hippo CMS and AngularJS
 
JCR and ModeShape
JCR and ModeShapeJCR and ModeShape
JCR and ModeShape
 
Cms integration of apache solr how we did it.
Cms integration of apache solr   how we did it.Cms integration of apache solr   how we did it.
Cms integration of apache solr how we did it.
 
Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2
 
JCR - Java Content Repositories
JCR - Java Content RepositoriesJCR - Java Content Repositories
JCR - Java Content Repositories
 
Build Your Own CMS with Apache Sling
Build Your Own CMS with Apache SlingBuild Your Own CMS with Apache Sling
Build Your Own CMS with Apache Sling
 
Hippo gettogether april 2012 faceted navigation a tale of daemons
Hippo gettogether april 2012 faceted navigation   a tale of daemonsHippo gettogether april 2012 faceted navigation   a tale of daemons
Hippo gettogether april 2012 faceted navigation a tale of daemons
 
The Zero Bullshit Architecture
The Zero Bullshit ArchitectureThe Zero Bullshit Architecture
The Zero Bullshit Architecture
 
Hippo get together presentation solr integration
Hippo get together presentation   solr integrationHippo get together presentation   solr integration
Hippo get together presentation solr integration
 
Hippo CMS Integration Patterns
Hippo CMS Integration PatternsHippo CMS Integration Patterns
Hippo CMS Integration Patterns
 
Hippo CMS - A first look
Hippo CMS - A first lookHippo CMS - A first look
Hippo CMS - A first look
 
Introduction to JCR
Introduction to JCR Introduction to JCR
Introduction to JCR
 
Choosing Hippo CMS
Choosing Hippo CMSChoosing Hippo CMS
Choosing Hippo CMS
 
Life of St. Augustine of Hippo
Life of St. Augustine of HippoLife of St. Augustine of Hippo
Life of St. Augustine of Hippo
 
Hippo Nuxeo World 2011
Hippo Nuxeo World 2011Hippo Nuxeo World 2011
Hippo Nuxeo World 2011
 
JCR In 10 Minutes
JCR In 10 MinutesJCR In 10 Minutes
JCR In 10 Minutes
 

Similar to Web Applications Development

Portlet Framework: the Liferay way
Portlet Framework: the Liferay wayPortlet Framework: the Liferay way
Portlet Framework: the Liferay way
riround
 
Catania Science Gateway Framework
Catania Science Gateway Framework Catania Science Gateway Framework
Catania Science Gateway Framework
riround
 
Portlets 2.0 Tssjs Prague 2008
Portlets 2.0 Tssjs Prague 2008Portlets 2.0 Tssjs Prague 2008
Portlets 2.0 Tssjs Prague 2008
SteveMillidge
 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - Overview
Vinay Kumar
 
Job Managment Portlet
Job Managment PortletJob Managment Portlet
Job Managment Portlet
riround
 
Portlet
PortletPortlet
Portlet
patinijava
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
Sunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
Sunil Patil
 
Introduction to java standard portlets
Introduction to java standard portletsIntroduction to java standard portlets
Introduction to java standard portlets
Rohan Faye
 
Apache Shindig, from Server Side Portlets to Open Social Gadgets
Apache Shindig, from Server Side Portlets to Open Social GadgetsApache Shindig, from Server Side Portlets to Open Social Gadgets
Apache Shindig, from Server Side Portlets to Open Social Gadgets
Tyrell Perera
 
Portets to composite applications
Portets to composite applicationsPortets to composite applications
Portets to composite applications
Serge Huber
 
Java Portlet 2.0 (JSR 286) Specification
Java Portlet 2.0 (JSR 286) SpecificationJava Portlet 2.0 (JSR 286) Specification
Java Portlet 2.0 (JSR 286) Specification
John Lewis
 
Jsr286 Cmf2007 c2b2 portal portlet
Jsr286   Cmf2007 c2b2 portal portletJsr286   Cmf2007 c2b2 portal portlet
Jsr286 Cmf2007 c2b2 portal portlet
SteveMillidge
 
Portlet applications a multi server deployment perspective by mohit kumar(p...
Portlet applications   a multi server deployment perspective by mohit kumar(p...Portlet applications   a multi server deployment perspective by mohit kumar(p...
Portlet applications a multi server deployment perspective by mohit kumar(p...
Mohit Kumar
 
Annotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVCAnnotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVC
John Lewis
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portal
rivetlogic
 
Liferay
LiferayLiferay
Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)
Logico
 
Java EE7
Java EE7Java EE7
Java EE7
Jay Lee
 
Sprint Portlet MVC Seminar
Sprint Portlet MVC SeminarSprint Portlet MVC Seminar
Sprint Portlet MVC Seminar
John Lewis
 

Similar to Web Applications Development (20)

Portlet Framework: the Liferay way
Portlet Framework: the Liferay wayPortlet Framework: the Liferay way
Portlet Framework: the Liferay way
 
Catania Science Gateway Framework
Catania Science Gateway Framework Catania Science Gateway Framework
Catania Science Gateway Framework
 
Portlets 2.0 Tssjs Prague 2008
Portlets 2.0 Tssjs Prague 2008Portlets 2.0 Tssjs Prague 2008
Portlets 2.0 Tssjs Prague 2008
 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - Overview
 
Job Managment Portlet
Job Managment PortletJob Managment Portlet
Job Managment Portlet
 
Portlet
PortletPortlet
Portlet
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
Introduction to java standard portlets
Introduction to java standard portletsIntroduction to java standard portlets
Introduction to java standard portlets
 
Apache Shindig, from Server Side Portlets to Open Social Gadgets
Apache Shindig, from Server Side Portlets to Open Social GadgetsApache Shindig, from Server Side Portlets to Open Social Gadgets
Apache Shindig, from Server Side Portlets to Open Social Gadgets
 
Portets to composite applications
Portets to composite applicationsPortets to composite applications
Portets to composite applications
 
Java Portlet 2.0 (JSR 286) Specification
Java Portlet 2.0 (JSR 286) SpecificationJava Portlet 2.0 (JSR 286) Specification
Java Portlet 2.0 (JSR 286) Specification
 
Jsr286 Cmf2007 c2b2 portal portlet
Jsr286   Cmf2007 c2b2 portal portletJsr286   Cmf2007 c2b2 portal portlet
Jsr286 Cmf2007 c2b2 portal portlet
 
Portlet applications a multi server deployment perspective by mohit kumar(p...
Portlet applications   a multi server deployment perspective by mohit kumar(p...Portlet applications   a multi server deployment perspective by mohit kumar(p...
Portlet applications a multi server deployment perspective by mohit kumar(p...
 
Annotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVCAnnotation-Based Spring Portlet MVC
Annotation-Based Spring Portlet MVC
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portal
 
Liferay
LiferayLiferay
Liferay
 
Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)
 
Java EE7
Java EE7Java EE7
Java EE7
 
Sprint Portlet MVC Seminar
Sprint Portlet MVC SeminarSprint Portlet MVC Seminar
Sprint Portlet MVC Seminar
 

More from riround

Gromacs on Science Gateway
Gromacs on Science GatewayGromacs on Science Gateway
Gromacs on Science Gateway
riround
 
e-Infrastructure & Data Service
e-Infrastructure & Data Servicee-Infrastructure & Data Service
e-Infrastructure & Data Service
riround
 
Catania Science Gateway Framework
Catania Science Gateway FrameworkCatania Science Gateway Framework
Catania Science Gateway Framework
riround
 
Portlet Framework: the Liferay way
Portlet Framework: the Liferay wayPortlet Framework: the Liferay way
Portlet Framework: the Liferay way
riround
 
Introduction on Science Gateway
Introduction on Science GatewayIntroduction on Science Gateway
Introduction on Science Gateway
riround
 
Introduction on Science Gateway
Introduction on Science GatewayIntroduction on Science Gateway
Introduction on Science Gateway
riround
 
Science Gateways: one portal, many e-Infrastructures and related services
Science Gateways: one portal, many e-Infrastructures and related servicesScience Gateways: one portal, many e-Infrastructures and related services
Science Gateways: one portal, many e-Infrastructures and related services
riround
 

More from riround (7)

Gromacs on Science Gateway
Gromacs on Science GatewayGromacs on Science Gateway
Gromacs on Science Gateway
 
e-Infrastructure & Data Service
e-Infrastructure & Data Servicee-Infrastructure & Data Service
e-Infrastructure & Data Service
 
Catania Science Gateway Framework
Catania Science Gateway FrameworkCatania Science Gateway Framework
Catania Science Gateway Framework
 
Portlet Framework: the Liferay way
Portlet Framework: the Liferay wayPortlet Framework: the Liferay way
Portlet Framework: the Liferay way
 
Introduction on Science Gateway
Introduction on Science GatewayIntroduction on Science Gateway
Introduction on Science Gateway
 
Introduction on Science Gateway
Introduction on Science GatewayIntroduction on Science Gateway
Introduction on Science Gateway
 
Science Gateways: one portal, many e-Infrastructures and related services
Science Gateways: one portal, many e-Infrastructures and related servicesScience Gateways: one portal, many e-Infrastructures and related services
Science Gateways: one portal, many e-Infrastructures and related services
 

Recently uploaded

The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
Jyoti Chand
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
Himanshu Rai
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
heathfieldcps1
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
TechSoup
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
Nguyen Thanh Tu Collection
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
Wahiba Chair Training & Consulting
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
eBook.com.bd (প্রয়োজনীয় বাংলা বই)
 

Recently uploaded (20)

The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
 
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
 

Web Applications Development

  • 1. Web Application Development Introduction to application servers, web applications and portlets Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 2. Outline  Scenario  Use Case  Portlet Develop  Hostname porltlet  Catania Grid Engine API Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 3. Scenario JSR 168/268 JSR 168/268 JSR 168/268 JSR 168/268 Catania Science Gateway Framework GRID CLOUD Local Riccardo Rotondo Tutorial on Cluster Science Gateways, Roma, 04.06.2013
  • 4. Web enviroment  Application Server (Glassfish)  Web application working as Portlet Container JSR 168/268 JSR 168/268 (Liferay) JSR 168/268 JSR 168/268  Portlet (a custom application designed under users needs) Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 5. What is an application server?  A software framework designed to host applications running in a web environment  Most of them contains a service layer model  A set of API is available for the developers to access the application server’s functionalities  As long as the management of the environment is demanded to the application server, developers can focus on the business logic. Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 6. Most popular application servers http://plumbr.eu/blog/most-popular-application-servers Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 7. What is a web application?     An application accessed over a network Analogy with “common” applications User interact with them through a web-browser A web applications can offer thousands of services: Liferay is a web-application Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 8. Liferay (www.liferay.com)  Highly-configurable, scalable, open source portal framework;  Compatible with JSR 168/286 standards and based on modern web 2.0 technologies;  Liferay services currently used:  Portal;  CMS & WCM;  Collaboration and “social” software Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 10. What is Porltet ?  Defined in the Java Specification Request (JSR 168/286)  A porlet is a web component able to set a frame portion of a web page.  Differently from Servlet it needs a Porltlet Container to allow the user to interact with it.  Standard Portlet can be deployed in any Porlet Container in case they will use standard libray. Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 11. Generic Porlets Life Cycle YES NO End of Services? Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 12. Generic Porltlets Interface Method Class GenericPortlets { init (PortletConfig); processAction (ActionRequest, ActionResponse); render (RenderRequest, RenderResponse); destroy(); doView (Request, Response); doEdit (Reuqest, Response); doHelp (Request, Response); } Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 13. Portlet Mode  A porltet works in three different states.  View Mode: generate a markup ( a portion of a web page);  Edit Mode: allow portlet customisation and setting preferences.  Help Mode: explains portlet functionalities. Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 16. Portlets  Standard JSR168/286  Interaction between jsp pages and java code Application Server (Glassfish) JSP page <jsp:useBean <form … > Java code Class <you portlet> Extends GenericPortlet … <input … /> </form>  JSP uses <form… statements to send parameters to Java code  Java code extends class GenericPortlet overriding methods:   Init, doView, doHelp, doEdit, processAction Java code uses 2 Classes to exchange data from/to JSPs Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 17. Portlet files (root) build.xml Used by ‘ant’ to compile and deploy the portlet docroot/ WEB_INF/ css/ images/ js/ jsp_page_1.jsp … jsp_page_n.jsp Define here JSP’s styles JSP image files JavaScript files Portlet JSP pages Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 18. Portlet files (docroot) WEB_INF/ Used to define database and other glassfish-web.xml resources settings web.xml lib/ Jar Library directory (local scope) Job/ Job files (Custom dir) liferay-display.xml liferay-plugin-package.properties Portlet liferay-portlet.xml configuration files portlet.xml src/ Java source files <package_name>/code.java tld/ XML structure file Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 19. Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 20. Building environment  Get Liferay with Glassfish  Customising Liferay installation (database connection)  Get Liferay plug-in SDK  Configuring Netbeans (optional) Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 21. Deploying first portlet       Understanding ant scripts Creating “hello world” portlet Understanding portlet files Compiling porltet Deploying porlet Understading portlet management on the server Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 22. References  Liferay: https://www.liferay.com  Liferay Bundles: https://www.liferay.com/downloads/liferayportal/available-releases  Liferay Plugin SDK: https://www.liferay.com/downloads/liferayportal/additional-files  Netbeans: https://netbeans.org  Netbeans liferay plugin: https://contrib.netbeans.org/portalpack/ Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  • 23. Questions ? Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013