Training Description:
Effective information delivery is a vital need of
enterprises. Information needs to be aggregated from disparate
systems within or external to organizations and distributed
via a convenient user interface. Value of the delivery
platform further improves if a user can choose what
information he/she prefers to see, personalize how the
information is presented according to his/her preferences,
and access all the information he/she needs and permitted via a single
point of access.
Modern enterprises select web based portals to achieve the
above needs. Some examples are: news distribution among
general public (like Yahoo or new BBC web site), offering
personalized services to customers, granting mobile
employees access to corporate data, delivering consolidated
information within the enterprise via a single point of
access and in a secured manner with multiple levels of
access control.
Java, which is an ideal information integration platform
defines Portlets in its JSR 168 specification to implement
web based portals. This training on JSR 168 Portlet
development is a comprehensive training covering all the
aspects of Portlet based application development.
Training Objectives:
At the end of the training, participants will be able to
-
Develop JSR 168 standard compliant Portlet applications from
the scratch.
-
Use the full feature set of Portlets as defined in JSR 168
(This training covers 100% of JSR 168 and more; Nothing left
behind to be learned later on). To name a few, features
include personalization, user attributes maintenance,
multi-level access controlling, caching, single-sign-on,
multi-lingual and multi-protocol support.
-
Deploy Portlet applications in award winning Liferay Portal,
a freely available Java Portlet container which also has an
integrated Content Management System (CMS), a collaboration
suite and a number of pre-built Portlets.
-
Describe the common and almost the same steps to be followed
if applications are deployed in other free or commercial
Portlet containers.
- Administrate Liferay based portals.
Target Groups:
- Java Enterprise Edition developers
Prerequisites:
-
Participants should necessarily be familiar with Servlet
based web application development.
Communication Language:
English
Duration:
3 Day (24 hours)
Facilitator:
Kamal Wickramanayake (Profile)
Notes:
-
This training is delivered with hands-on lab exercises where
participants will develop a comprehensive set of
demonstrative Portlet applications.
-
The award winning Liferay Portal will be used as the Portlet
container during lab exercises. Liferay is freely available
and is production ready. It has a built in Content Management System (CMS), a collaboration suite
and a number of pre-built Portlets.
Training Content:
- Introduction to Portals/Portlets
- What is a portal?
- What is a Portlet?
- Example portals
- JSR 168 Portlets and Java Enterprise Edition
- Purpose of a Portlet container
- HTML fragments and content aggregation
- Portlets Vs Servlets
- Portlet containers Vs Servlet containers
- Life Cycle of a Portlet
- Loading and instantiation
- Initialization
- Request handling
- End of service
- Anatomy of Portlet Applications
- Directory structure
- Deployment descriptor
- Resource bundles
- Packaging
- Deployment
- Portlet API
- Portlet
- GenericPortlet
- PortletConfig
- PortletContext
- PortalContext
- PortletRequest
- PortletResponse
- ActionRequest
- ActionResponse
- RenderRequest
- RenderResponse
- Portlet Modes and Window States
- VIEW mode
- EDIT mode
- HELP mode
- Custom modes
- NORMAL state
- MAXIMIZED state
- MINIMIZED state
- Custom states
- Portlet URLs
- Action and render URLs
- Triggering Portlet modes and window states
- Portlet URL restrictions and security
- Multithreading and Exceptions
- Avoiding multithreading pitfalls
- Thread safety (request and response objects)
- Exceptions while initialization
- Exceptions while request handling
- Portlet Preferences
- Using PortletPreferences interface
- Preference attribute scopes
- Preference attribute definition
- Validating attributes
- User Attributes
- Defining user attributes
- Accessing user attributes
- Session Management
- Session scope
- Session management in Portlets Vs Sevlets
- Security
- Security roles
- Programmatic security
- Security constraints
- Security identity propagation
- Portlet Tag Library
- Dispatching to JSPs
- defineObjects Tag
- actionURL Tag
- renderURL Tag
- namespace Tag
- param Tag
- Other Topics
- Using Servlets within Portlet applications
- Portlets using AJAX
- Caching
- Implementing single sign-on
- Different mechanisms used to implement inter-Portlet communication
- Multi-lingual support
- Multi-protocol support (HTML, XHTML, WML,...)
- JSR 168 Portlet limitations
- Non JSR 168 compliant Portlet containers and extensions
- Future evolution of JSR 168 and related standards