2. Wesley Hales is:
• JBoss Portal Lead UI Guy
• Author of InfoQ article series:
Developing Portlets using JSF, Ajax, and Seam
• JBoss Portlet Bridge project lead
• JSR-301 Expert Group member
4. 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, OpenSocial, Wicket,
PHP, Struts...
5. Portals & Portlets
Portlets
• Are managed by a
portal/portlet container.
• Portlet windows are
aggregated via a portal
page.
• 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.
6. Portlet Ajax vs. Regular
(Servlet) Ajax
Pitfalls with 1.0 portlets
• portlet URL’s 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 fragment.
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
portlet.
8. Ajax gets better with Portlet 2.0
serveResource and resourceUrls
• With the newer (JSR-286) spec, we now have the
serveResource() mechanism that makes Ajax easier.
• Makes it easy to migrate existing JSR 168
applications
• Works with existing client-side libraries
• Partial updates to the portlet’s UI
11. 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
for portlets.
• Two of the more popular libraries for JSF are:
• IceFaces
• Uses custom built bridge
• RichFaces
• Works with a JSR-301 based bridge
12. What is a Bridge, and why do we
need one?
• There are different bridges to handle many different web
applications.
• Wicket
• Seam
• Spring MVC
• JSF
• Struts
• PHP
• A bridge is often just a portlet written to handle the web
application processing and lifecycle.
16. RichFaces Portlet
The RichFaces component library runs under the JBoss Portlet Bridge, an
implementation of the JSR-301 specification to support JSF within a portlet.
19. Portlet Bridge Summary
• Standards make life easier when investing in a
portlet/Ajax/Component solution
• 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 finalized.
• JSR 301 scheduled to be complete early ’09 (168)
20. Today’s Challenges
The Portal is “the glue” that holds all of the portlet
windows together.
What if each portlet uses it’s own library?
• YUI, jQuery, Prototype and yajf...
• Conflicts and collisions
Solutions?
• Namespaced libraries
• Today, JBoss Portal limits its usage of Javascript libraries for that
specific reason
• ideas?
21. Mashups and OpenSocial Portlets
• Who is doing it?
• Are there any portlets available that make
this easy?