Ajax In Enterprise Portals Wesley HalesPresentation Transcript
Ajax in Enterprise Portals
• Your experience with portals?
• Have you used new Portlet 2.0
• What do you want to gain from this
Who is Wesley Hales
• JBoss Portal Lead UI Architect
• Author of InfoQ article series:
Developing Portlets using JSF, Ajax, and Seam
• JBoss Portlet Bridge project lead
• JSR-301 Expert Group member
Portals & Portlets
What is a Portal?
• Windows that provide access to web
applications and other information.
• Works across organizational boundaries to
aggregate content coming from various web
technologies: JSF, Seam, Struts, Wicket, PHP...
Portals & Portlets
• Are managed by a portal.
• Displayed via a Portal Page
which is an aggregator
of the portlet windows.
• A Portlet Application is also a Web Application. The
Portlet Application may contain servlets and JSPs in
addition to portlets. Portlets, servlets and JSPs may
share information through their session.
Portlet Ajax vs. Regular
Pitfalls with 1.0 portlet
• Action and render URLs point to the portal, not to the portlet
• you cannot make asynchronous calls to portlets through portlet URLs
• This results in the replaced markup being all the portal page markup
not just the portlet window
How we handle it
• Because a portlet is a Web application that can contain other
resources, such as servlets and JSP pages, you can make the
asynchronous requests to the resources that are bundled with the
Standard Portlet 1.0 Ajax
Ajax gets better with Portlet 2.0
serveResource and Resource Urls
• With the newer (JSR-286) spec, we now have the
serveResource() mechanism that makes Ajax easier.
• Makes it easy to migrate existing JSR 168
• Works with existing client-side libraries
• Partial updates to the portlet’s UI
Portlet 2.0 Ajax
Portlet 2.0 Ajax Demo
Today's Ajax Component Libraries
• What libraries are available to portlet developers?
• Do I have to use JSF?
• It is only framework (currently) with a spec backing it
• Two of the more popular libraries for JSF are:
• Uses custom built bridge
• Works with a JSR-301 based bridge
What is a Bridge, and why do we
• There are different bridges to handle many different web
• Spring MVC
• A bridge is often just a portlet.
• Recently the JSR-301 speciﬁcation was formed to handle JSF
in portlets which is much more than a simple portlet ;-)
Other component libraries, like IceFaces, provide their own quot;bridgequot; or way to
handle the portlet and JSF lifecycles.
IceFaces Portlet Demo
IceFaces Portlet Markup
The RichFaces component library runs under the JBoss Portlet Bridge, an
implementation of the JSR-301 speciﬁcation to support JSF within a portlet.
RichFaces Portlet Demo
RichFaces Portlet Markup
Portlet Bridge Summary
• Standards make life easier when investing in a
• Currently the JBoss Portlet Bridge supports any
combination of JSF, Seam, and RichFaces to run
inside a portlet.
• It is currently in Beta 4 and should be approaching
GA sometime in early '09 wen the spec is ﬁnalized.
• JSR 301 scheduled to be complete early ’09 (168)
Mashups and OpenSocial Portlets
• Who is doing it?
• Are there any portlets available that make