A portal represents a web site that provides a single point of access to applications and information.
A portal is a unified gateway to several dynamic information sources .
End User Perspective:-
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.
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.
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.
The portal is a complete environment for managing and integrating a large number diverse applications.
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.
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.
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
During the architecture phase, you design and plan the configuration of your portal.
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.
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.
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.
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.
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.
Single Sign On:-
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.
Aggregate content generated by various portlet applications
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 .
Portlets similarities and Differences to servlets
Portlets are similar to servlets, in that:
Portlets are managed by a specialized container.
Portlets generate dynamic content.
A portlet's life cycle is managed by the container.
Portlets interact with web client via a request/response paradigm.
Portlets are different from servlets, in that:
Portlets only generate markup fragments, not complete documents.
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.
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.
Additional functionality Of Portlets On Servlets
Persistent storage for preferences
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
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
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
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.