Web Applications Development

355 views

Published on

Introduction do application servers, web applications and portlets

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
355
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Web Applications Development

  1. 1. Web Application Development Introduction to application servers, web applications and portlets Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  2. 2. Outline  Scenario  Use Case  Portlet Develop  Hostname porltlet  Catania Grid Engine API Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  3. 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. 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. 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. 6. Most popular application servers http://plumbr.eu/blog/most-popular-application-servers Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  7. 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. 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
  9. 9. Liferay Plugins      Portlets Themes Layouts Hooks Exts Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  10. 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. 11. Generic Porlets Life Cycle YES NO End of Services? Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  12. 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. 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
  14. 14. 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
  15. 15. Render Request Render Request view.jsp doView() view2.jsp Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  16. 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. 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. 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. 19. Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013
  20. 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. 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. 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. 23. Questions ? Riccardo Rotondo Tutorial on Science Gateways, Roma, 04.06.2013

×