The Solution for Managing and Building
Enterprise Web Apps
Presented By: Wesley Hales
• (almost) Everything you need to know about a
• Portal and Portlet Concepts
• 3 Things That Will Get You Up and Running Fast
• JBoss Portlet Bridge
• Demos mixed in
What is a Portal?
• Uniﬁed access to web
apps - each window
can be a separate
war or ear containing
a portlet.xml ﬁle.
• Integrates services across organizational
boundaries. (SSO, collaboration, social, etc...)
Do I Really Need One?
• Why not build it in-house? “But, I don’t
really need all those bells and whistles...”
• Learning curve?
• What about speed and performance?
• General Overview
• Performance Dashboard
• Understanding the 2 request cycle is a pita,
but it makes sense once you get it.
• A portlet is not a servlet. However, its
deployment, classloading, web app
lifecycle management, session
management and request
dispatching functionalities are leveraged
from the Servlet spec.
• Extra functionality not provided by servlets:
• Send and receive events from other portlets.
• Store persistent conﬁguration and
• Has access to user proﬁle information
• Store transient data in the portlet session in
two different scopes: application-wide or the
portlet private scope.
The Great Thing Is...
• You really don’t have to worry about
anything I just talked about if...
• You use a bridge, like the JBoss Portlet
Bridge (details later)
• Win the lottery
Gadgets & Mashups Personalization
Extendable - As eXo has WYSIWYG Layout Editor
done with Knowledge Suite
and Content Management WSRP
Merge of two mature
Easy Creation of Virtual projects that have been
(multiple) portals at around for a while, JBoss
runtime Portal and eXo Portal
Personalization and User
• Is a HUGE part of GateIn
• Expensive to build in-house.
• Users can easily change their layout, skin,
add and remove portlets and gadgets, all
with a slick drag-n-drop interface.
• ... That’s great, but how can I easily manage
what’s available to different users and
Users, Groups, and
• Easy user management
• A group can contain roles.
• By default, Manager has the highest rights in a
Extensions and 3rd
• All products in eXo's
open source stack will be
certiﬁed on the GateIn
• Currently only a few of
these are available in
Alpha and Beta stages
3 Things That Will Get You
Up and Running Fast
• Templating and Skins
• Integrating Legacy Apps and existing (or new)
services. For example LDAP or Single Sign On
• Extending GateIn to include additional portals
or 3rd party products
• Can easily setup new or existing Directory
• LDAP will be conﬁgured to store part of
the GateIn group tree.
• Only a few lines of xml to uncomment
Integrating New (and legacy)
• Demo - JSF (RichFaces & Seam), Tapestry,
• trunk/examples/extension and trunk/
examples/portal contain empty projects
that set you up for extending GateIn
• Extension - Is used to bring in 3rd party
suites like KS, CMS, or Social
• Portal - Gives developers a dev
Extension Example -
• Enterprise grade - project based
• Advanced Moderation - lock, close approve
• Answers / QA
• Multi Language, Moderation, RSS
• Publish forged knowledge into FAQs
• Backed by JSR-301 and 329
• Allows you to run any JSF application as a
• Hides the underlying portlet APIs so
developers only need to worry about 1
• The only bridge which supports running
RichFaces and/or Seam applications
• Runs your app as both a portlet and servlet
• Could support other web frameworks like
Wicket, GWT, etc...
• User Forums
• Articles & How Tos
• Jira - Add your enhancement or try to
handle some created issues
• Contests - Skins, etc...