AJAX in JBoss portal
AJAX has gained tremendous popularity in the traditional web application
development world due to the richness and agility that it brings to user
interfaces. Portals, such as JBoss portal, can also gain signifi cantly from
AJAX, in terms of implementation of both behavior and functionality.
Refreshing the page content tends to be a time-consuming and resource-intensive
process. Every request that a user makes to the server, either by clicking on
submissions or links, results in the portal calling doView() and a series of
methods for each portlet on the page, one at a time, before aggregating the
results and sending the response back to the browser. Using AJAX allows for
simultaneous submissions of request in their own independent threads of
execution, resulting in an asynchronous and parallel execution. The portal page
refresh overhead is now only as long as the time consumed by the slowest
portlet.
The response times observed by the user improve dramatically, while at the same
time allowing more functionality on pages. Architecturally, vertical
independent stacks of execution facilitate cleaner and more modular designs and
implementations.
AJAX can be implemented in JBoss portal in the following two ways:
-
Using in-built support for asynchronous portal behavior by using confi
gurations.
-
Writing custom behavior in portlets and page content by using AJAX libraries.
The in-built support for asynchronous behavior comprises of support for both
markup and content. The markup support is in layouts and renderers, while the
content is supported through confi gurable drag-drop and partial page refresh
behavior. Almost all of the AJAX behavior supported by JBoss portal relates to
asynchronous communication between the client and the portal servers. The only
exception is the drag-drop behavior, which is largely view functionality.
As far as the custom development within a portlet is concerned, the options are
innumerable. A portlet can be developed using many advanced frameworks that are
available as either commercial or open source products. For example, user
interface features such as drag-and-drops, grids, accordion selects, pull-down
menus, content refresh, and so on can be implemented by using third-party
libraries including Scriptaculous, JQuery, and DOJO, which have gained a strong
following among developers, even on traditional applications and non-portal
platforms.
In the next few sections, we will walk through an example of AJAX-enabled
portlets using one of these libraries, developed on the JBoss portal platform.
However, before we go into the implementation, let's step back and understand
the limitations that the current portlet specifi cation– JSR-286–addresses,
facilitating easy development of AJAX portlets.
Also read
What is a Portlet? Explain its capabilities.
Explain Portal architecture.
What is PortletSession interface?
What is PortletContext interface?
Why portals?...................
|