Portal Presention


Published on

  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Portal Presention

  1. 1. Jaya Prakash M...
  2. 2. Portal Session Agenda <ul><li>What is a Portal </li></ul><ul><li>Goal of Portal </li></ul><ul><li>Properties of portals </li></ul><ul><li>Benefits to the user s and Companies. </li></ul><ul><li>Portal features </li></ul><ul><li>Why the portal so popular </li></ul><ul><li>Portal types </li></ul><ul><li>Various elements of portal page . </li></ul><ul><li>Portal Framework </li></ul><ul><li>Portal Architecture </li></ul><ul><li>Portal Life Cycle </li></ul><ul><li>Portal Server & Portlet Container </li></ul><ul><li>What is Portlet </li></ul><ul><li>Portlet Lifecycle </li></ul><ul><li>Interfaces And Classes Summary </li></ul><ul><li>Portlet Modes & Window States </li></ul><ul><li>Comparison Of Portlet with Servlet. </li></ul><ul><li>JSR(JAVA SPECIFICATION REQUEST) 168 Portlets </li></ul><ul><li>Examples on Weblogic WorkShop </li></ul>
  3. 3. What is Portal <ul><li>A portal represents a web site that provides a single point of access to applications and information. </li></ul><ul><li>A portal is a unified gateway to several dynamic information sources . </li></ul><ul><li>End User Perspective:- </li></ul><ul><li>A portal is a web site with pages that are organized by tabs or some other form of navigation. Users can also customize their view of a portal by adding their own pages, adding portlets of their choosing, and changing the Look And Feel of the interface. </li></ul>
  4. 4. What is Portal <ul><li>Technical Perspective:- </li></ul><ul><li>A portal is a container of resources and functionality that can be made available to end users. A portal presents diverse content and applications to users through a consistent, unified web-based interface. Portal administrators and users can customize portals, and content can be presented based on user preferences or rule-based personalization. Each portal is associated with a web application that contains all of the resources required to run portals on the web. </li></ul><ul><li>Portlet Specification:- </li></ul><ul><li>A portal is a web application that commonly provides personalization, single sign on, content aggregation from different sources, and hosts the presentation layer of information systems. </li></ul>
  5. 5. Goal & Properties Of Portal <ul><li>Goal Of Portal:- </li></ul><ul><ul><li>The ultimate goal of any portal implementation is to provide users with access to the systems and information they need to do their jobs more productively. </li></ul></ul><ul><li>Properties of portals:- </li></ul><ul><ul><li>Look and feel </li></ul></ul><ul><ul><li>Consistent headers and footers, color schemes, icons and logos which gives the user a feel and sense of consistency and uniformity. </li></ul></ul><ul><ul><li>Ease of navigation </li></ul></ul>
  6. 6. Logical View Of Portal
  7. 7. Benefits to users and Companies <ul><ul><li>Benefits to users:- </li></ul></ul><ul><ul><li>Aggregation - The user can go to a single place for all content and applications. </li></ul></ul><ul><ul><li>Customization - The preferences for a user determine how the portal looks and feels. </li></ul></ul><ul><ul><li>Personalization - The user can obtain content that is specific to their interests and needs. </li></ul></ul><ul><ul><li>Organization - The user can arrange the content and applications to make better sense of the information. </li></ul></ul><ul><ul><li>Integration - The user can work with multiple applications and content sources in a unified fashion. </li></ul></ul>
  8. 8. Benefits to users and Companies <ul><li>Benefits to Companies :- </li></ul><ul><li>Modern software is complex and expensive, which has motivated many companies to invest in enterprise portals as a mechanism by which they can manage information in a cohesive and structured fashion. </li></ul><ul><li>Portals provide a single point of entry for employees, partners, and customers. </li></ul><ul><li>Portals are highly flexible; they can exist in the form of intra-nets, inter-nets. </li></ul><ul><li>Rapid, easy modification and maintenance of the website. </li></ul>* Time shown with out day light savings
  9. 9. Features Provided by Portals <ul><li>Features:- </li></ul><ul><li>Search - Enterprise and web-based search facilities </li></ul><ul><li>Content Management - Creation, management, and delivery of content </li></ul><ul><li>Content Repurposing - Including content from multiple disparate data sources </li></ul><ul><li>Portals optionally include the following features and benefits: </li></ul><ul><li>Single Sign-On - Allows users to log on once for all applications within the portal </li></ul>
  10. 10. Why the portals are so hot in the Industry? <ul><li>The portal is a complete environment for managing and integrating a large number diverse applications. </li></ul><ul><li>A single administrative interface makes it possible to manage users, applications, content, look, feel and navigation of an entire website. Centralized administration of a huge web based infrastructure is probably the most compelling reason for adopting the portal. </li></ul><ul><li>A portal on the other hand builds heavily upon the dynamic nature of a normal website. Furthermore, a portal has built in user functions, and the ability for the user to customize their own experience. </li></ul>
  11. 11. Portal Types <ul><li>1)Horizantal Portals </li></ul><ul><li>2)Vertical Portals </li></ul><ul><li>Some Portals </li></ul>Sportal (sports portal ) Voice portals Mini portals Investment portals Environmental portals Entertainment portals Domain specific portals Corporate web portals Government web portals Regional web portals
  12. 12. Example Portal Page
  13. 13. Various elements of portal page
  14. 14. Portal Architecture <ul><li>NO Single “Industry Standard” architectural framework for Portals. </li></ul><ul><li>Following Minimum Functionality Must Include:- </li></ul><ul><li>1)Interface To web. </li></ul><ul><li>2)User Interface Management </li></ul><ul><li>(Presentation Services) </li></ul><ul><li>3)External Data Access Mechanisms </li></ul><ul><li>4)Data Management Services </li></ul><ul><li>5)Security, authentication and Personalization </li></ul><ul><li>6)Portal Development Tools </li></ul><ul><li>7)Portal Administration and Management Tools </li></ul>
  15. 15. Basic Portal Architecture
  16. 16. Architectural Flow
  17. 17. Portal Life Cycle <ul><li>The creation and management of a portal flows through a portal life cycle. The portal life cycle contains four phases: </li></ul><ul><ul><li>Architecture </li></ul></ul><ul><ul><li>Development </li></ul></ul><ul><ul><li>Staging </li></ul></ul><ul><ul><li>Production </li></ul></ul>
  18. 18. Portal Life Cycle <ul><li>Architecture:- </li></ul><ul><ul><li>During the architecture phase, you design and plan the configuration of your portal. </li></ul></ul><ul><ul><li>you can create a detailed specification outlining the requirements for your portal, the specific portlets you require, where those portlets will be hosted, and how they will communicate and interact with one another. You might also consider the deployment strategy for your portal. Security is another consideration for the portal architect. </li></ul></ul>
  19. 19. Portal Lifecycle <ul><li>Development:- </li></ul><ul><li>Developers used to create portals, portlets, pages, and books. During development, you can implement data transfer and interportlet communication strategies and consider the security of the components. </li></ul><ul><li>Staging:- </li></ul><ul><li>staging environment where it can be assembled and tested before going live. You also test your portal in a staging environment before propagating it to a live production system. In the testing aspect of the staging phase, there is tight iteration between staging and development until the application is ready to be released. </li></ul>
  20. 20. Portal Lifecycle <ul><li>Production:- </li></ul><ul><li>A production portal is live and available to end users. A portal in production can be modified by administrators and users. For instance, an administrator might add additional portlets to a portal or reconfigure the contents of a portal. </li></ul>
  21. 21. Portal Server <ul><li>Portal server aggregates portlet Markup for display. </li></ul><ul><li>Features:- </li></ul><ul><li>personalization </li></ul><ul><li>single sign-on </li></ul><ul><li>Content aggregator </li></ul><ul><li>security: users, groups, roles </li></ul><ul><li>portlet admin: deploy, undeploy capabilities </li></ul><ul><li>page layouts </li></ul>
  22. 22. Portal Server <ul><li>Personalization:- </li></ul><ul><li>The basic implementation of personalization service allows a user to customize her page in two ways. First, the user can decide what colors she wants for title bars and what icons she wants for controls. Second, the user can decide which portlets she wants on her page. </li></ul><ul><li>Single Sign On:- </li></ul><ul><li> Allows you to get access to all other applications once you log into the portal server, meaning you don't have to log into every application separately. </li></ul><ul><li>Content aggregator:- </li></ul><ul><li>Aggregate content generated by various portlet applications </li></ul>
  23. 23. Portlet Container <ul><li>A portlet container is very similar to a servlet container , in that every portlet is deployed inside a portlet container that controls the life cycle of the portlet and provides it with necessary resources and information about its environment. A portlet container is responsible for initializing and destroying portlets and also for passing user requests to it and collecting responses . </li></ul>
  24. 24. Portlal Server & Portlet Container
  25. 25. What is Portlet <ul><li>Portlets are web components--like servlets--specifically designed to be aggregated in the context of a composite page. </li></ul><ul><li>The Portlet specification defines a portlet as a &quot;Java-technology-based web component, managed by a portlet container that processes requests and generates dynamic content. </li></ul><ul><li>On the technical side, a portlet is a class that implements the javax.portlet.Portlet interface and is packaged and deployed as a .war file inside of a portlet container. </li></ul>
  26. 26. Portlet interface <ul><li>package javax.portlet; </li></ul><ul><li>Public interface Portlet { </li></ul><ul><ul><li>void init (PortletConfig config); </li></ul></ul><ul><ul><li>void processAction (ActionRequest req, ActionResponse res); </li></ul></ul><ul><ul><li>void render (RenderRequest req, RenderResponse res); </li></ul></ul><ul><ul><li>void destroy (); </li></ul></ul><ul><ul><li>} </li></ul></ul>
  27. 27. Portlet Lifecycle
  28. 28. Portlet Interface Methods :- <ul><li>Request Processing </li></ul><ul><ul><li>processAction() -- Action Requests </li></ul></ul><ul><ul><li>render()------Render Requests </li></ul></ul><ul><li>Lifecycle Management </li></ul><ul><ul><li>init() </li></ul></ul><ul><ul><li>destroy() </li></ul></ul>
  29. 29. Interfaces Summary
  30. 30. Diagramatic Representation Of Portlet,PortletConfig and PortletContext interfaces in PortletContainer
  31. 31. PortletConfig & PortletContext <ul><li>PortletConfig:- </li></ul><ul><li>The configuration holds information about the portlet that is valid for all users.” </li></ul><ul><li>One per portlet definition </li></ul><ul><li>Portlet init parameters </li></ul><ul><li>Title & keywords (ResourceBundle) </li></ul><ul><li>PortletContext:- </li></ul><ul><li>The PortletContext interface defines a portlet’s view of the portlet application within which the portlet is running.” </li></ul><ul><li>One instance per portlet app. </li></ul><ul><li>Context Init Parameters </li></ul><ul><li>Request Dispatching </li></ul><ul><li>Use context attributes to share information between your portlets and servlets/JSPs in the same web application. </li></ul>
  32. 32. Classes Summary
  33. 33. Generic Portlet , PortletMode & WindowState <ul><li>GenericPortlet:- </li></ul><ul><ul><ul><li>doView(...) </li></ul></ul></ul><ul><ul><ul><li>doEdit(...) </li></ul></ul></ul><ul><ul><ul><li>doHelp(...) </li></ul></ul></ul><ul><li>PortletMode :- </li></ul><ul><ul><li>EDIT </li></ul></ul><ul><ul><li>VIEW </li></ul></ul><ul><ul><li>HELP </li></ul></ul><ul><li>WindowState:- </li></ul><ul><ul><li>MAXIMIZED </li></ul></ul><ul><ul><li>MINIMIZED </li></ul></ul><ul><ul><li>NORMAL </li></ul></ul>
  34. 34. Portlets similarities and Differences to servlets <ul><li>Portlets are similar to servlets, in that: </li></ul><ul><li>Portlets are managed by a specialized container. </li></ul><ul><li>Portlets generate dynamic content. </li></ul><ul><li>A portlet's life cycle is managed by the container. </li></ul><ul><li>Portlets interact with web client via a request/response paradigm. </li></ul><ul><li>Portlets are different from servlets, in that: </li></ul><ul><li>Portlets only generate markup fragments, not complete documents. </li></ul><ul><li>Portlets are not directly URL addressable. You cant send somebody URL of a portlet. You can send him the URL of the page containing a portlet. </li></ul><ul><li>Portlets cannot generate arbitrary content, since the content generated by a portlet is going to be part of portal page. If a portal server is asking for html/text, then all portlets should generate text/html content. On the other hand, if the portal server is asking for WML, then each portlet should generate WML content. </li></ul>
  35. 35. Additional functionality Of Portlets On Servlets <ul><ul><li>Persistent storage for preferences </li></ul></ul><ul><ul><li>Request processing </li></ul></ul><ul><ul><li>Portlet modes </li></ul></ul><ul><ul><li>Window state </li></ul></ul><ul><ul><li>User information </li></ul></ul>
  36. 36. Portlet Types Business logic and presentation layer can get combined in JSPs . Not well suited for advanced portlet navigation Simple to implement and deploy . Provides basic functionality without a lot of complexity . JSP or HTML based portlets . Cons Pros Portlet Types
  37. 37. Portlet Types Advanced Pageflow features not necessary for static or simple, one view portlets Allow you to separate t he user interface code from navigation control and other business logic Provides the ability to model both simple and advanced portlet navigation Provides a visual environment to build rich applications based on Struts Java Page Flow based portlets Cons Pros Portlet Types
  38. 38. Portlet Types Does not leverage BEA advanced portlet features i.e. generating our own skins, Automatic export/ import of custom content, dumping registries.. etc. Requires deeper understanding of J2EE programming model Accommodate portability for portlets across platforms Does not require use of portal server specific JSP tags Behavior is similar to a Servlet JSR 168 based portlets Cons Pros Portlet Types
  39. 39. JSR(JAVA SPECIFICATION REQUEST) 168 Portlets <ul><li>JSR 168 defines a standard Java portlet API, </li></ul><ul><li>(i.e JSR 168 Portlet is nothing but the contract between the API and the container .) </li></ul><ul><li>Portal Server Vendors:- </li></ul><ul><li>Sun(IPlanet) </li></ul><ul><li>Oracle , IBM(IBM Portlet) </li></ul><ul><li>Vignette , SAP , Sybase </li></ul><ul><li>TIBCO, Plumtree(Gadgets) and </li></ul><ul><li>BEA </li></ul>
  40. 40. Why JSR 168 Portlets entered in to the market <ul><li>In the pre-JSR 168 days, you had to develop and maintain a separate version of your portlet that complied with the vendor-specific portlet API for each and every vendor portal. </li></ul><ul><li>Disadvantages:- </li></ul><ul><ul><li>Time-consuming </li></ul></ul><ul><ul><li>Cumbersome </li></ul></ul><ul><ul><li>JSR 168 brought a world of a difference: By adhering to the standards , you can build portlets that can run in portals, irrespective of their vendors. </li></ul></ul>
  41. 41. What are the portlet Specifications
  42. 42. What are the portlet Specifications <ul><li>JSR 168 provides three modes for portlet interactions: </li></ul><ul><ul><li>VIEW -- This mode, a mandatory one that's defined by a portlet, renders markup fragments. </li></ul></ul><ul><ul><li>EDIT -- This optional mode enables changes to per-user settings to customize rendering. </li></ul></ul><ul><ul><li>HELP -- This optional mode displays help information. </li></ul></ul>
  43. 43. What are the portlet Specifications <ul><ul><li>Window States:- </li></ul></ul><ul><ul><li>Window state indicates the amount of portal page space that will be assigned to a portlet. The portlet can use this information to decide how much information to render. </li></ul></ul><ul><ul><li>Three window states— </li></ul></ul><ul><ul><li>Normal </li></ul></ul><ul><ul><li>Maximized and </li></ul></ul><ul><ul><li>Minimized. </li></ul></ul>
  44. 44. What are the portlet Specifications <ul><li>Portlet Preferences </li></ul><ul><li>PreferencesValidator </li></ul><ul><li>Security: </li></ul><ul><li>In the portlet deployment descriptor, a flag can be set to restrict the portlet to running only over HTTPS. This appropriate for portlets that contain confidential information that should be encrypted when sent over the network. </li></ul>
  45. 45. Questions