Web Application Development - Agenda Catania

advertisement
Web Application Development
Introduction to application servers, web applications
and portlets
Riccardo Rotondo
riccardo.rotondo@ct.infn.it
Catania, 10/03/2014
Outline
}  Scenario
}  Application
Server
}  Web Application
}  Portlet
2
Scenario
JSR 168/268
JSR 168/268
JSR 168/268
JSR 168/268
Catania Science Gateway Framework
GRID
CLOUD
3
Local Cluster
Web enviroment
} 
} 
} 
Application Server (Glassfish)
Web application working as Portlet Container (Liferay)
Portlet (a custom application designed under users needs)
JSR 168/268
JSR 168/268
4
JSR 168/268
JSR 168/268
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.
} 
5
Most popular application servers
http://plumbr.eu/blog/most-popular-application-servers
6
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
} 
7
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
8
Liferay Plugins
} 
} 
} 
} 
} 
9
Portlets
Themes
Layouts
Hooks
Exts
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.
} 
10
Generic Porlets Life Cycle
YES
NO
End of
Services?
11
Generic Porltlets Interface Method
Class GenericPortlets {!
init (PortletConfig);!
processAction (ActionRequest,
ActionResponse);!
render (RenderRequest, RenderResponse);!
destroy();!
doView (Request, Response);!
doEdit (Reuqest, Response);!
doHelp (Request, Response);!
}!
12
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.
13
Action Request
Action
Request
view.jsp
processAction()
Action
Request
edit.jsp
14
Render
Request
doView()
edit.jsp
doEdit()
view.jsp
Render
Request
processAction()
Render Request
Render
Request
view.jsp
15
doView()
view2.jsp
Portlets
} 
} 
Standard JSR168/286
Interaction between jsp pages and java code
Application Server (Glassfish)
JSP page
<jsp:useBean!
<form … >!
!
<input … />!
</form>!
} 
} 
Java code
Class <you portlet>!
Extends
GenericPortlet …!
!
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!
} 
16
Portlet
files (root)
!
build.xml!
!
docroot/!
WEB_INF/!
css/!
images/!
js/!
!
jsp_page_1.jsp!
…!
jsp_page_n.jsp!
17
Used by ‘ant’ to compile and
deploy the portlet
Define here JSP’s styles
JSP image files
JavaScript files
Portlet JSP pages
Portlet files (docroot)
WEB_INF/
glassfish-web.xml
web.xml
lib/
Job/
liferay-display.xml
liferay-plugin-package.properties
liferay-portlet.xml
portlet.xml
src/
<package_name>/code.java
tld/
18
Used to define database and other
resources settings
Jar Library directory (local scope)
Job files (Custom dir)
Portlet
configuration files
Java source files
XML structure file
19
Building environment
Get Liferay with Glassfish
}  Customising Liferay installation (database
connection)
}  Get Liferay plug-in SDK
}  Configuring Netbeans (optional)
} 
20
Deploying first portlet
} 
} 
} 
} 
} 
} 
Understanding ant scripts
Creating “hello world” portlet
Understanding portlet files
Compiling porltet
Deploying porlet
Understading portlet management on the server
21
References
Liferay: https://www.liferay.com
}  Liferay Bundles:
https://www.liferay.com/downloads/liferay-portal/availablereleases
}  Liferay Plugin SDK:
https://www.liferay.com/downloads/liferay-portal/
additional-files
}  Netbeans: https://netbeans.org
}  Netbeans liferay plugin:
https://contrib.netbeans.org/portalpack/
} 
22
Questions ?
23
Download