gatein - the solution for managing and building enterprise web apps
DESCRIPTION
Slides for my talk at DevNexus 2010TRANSCRIPT
![Page 1: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/1.jpg)
Presented By: Wesley Hales
The Solution for Managing and Building Enterprise Web Apps
![Page 2: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/2.jpg)
Agenda
• (almost) Everything you need to know about a portal environment
• Portal and Portlet Concepts
• 3 Things That Will Get You Up and Running Fast
• JBoss Portlet Bridge
• Demos mixed in
![Page 3: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/3.jpg)
What is a Portal?
• Unified access to webapps - each window can be a separate war or ear containing a portlet.xml file.
• Integrates services across organizational boundaries. (SSO, collaboration, social, etc...)
![Page 4: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/4.jpg)
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?
![Page 5: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/5.jpg)
Demo
• General Overview
• Performance Dashboard
![Page 6: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/6.jpg)
Portlets Defined
• 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.
![Page 7: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/7.jpg)
Portlets Defined• Extra functionality not provided by servlets:
• Send and receive events from other portlets.
• Store persistent configuration and customization data
• Has access to user profile information
• Store transient data in the portlet session in two different scopes: application-wide or the portlet private scope.
![Page 8: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/8.jpg)
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
![Page 9: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/9.jpg)
Features
WSRP
Extendable - As eXo has done with Knowledge Suite and Content Management
WYSIWYG Layout Editor
Gadgets & Mashups
Customizability and Personalization
Merge of two mature projects that have been around for a while, JBoss
Portal and eXo Portal
Easy Creation of Virtual (multiple) portals at
runtime
![Page 10: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/10.jpg)
Personalization and User Management
• 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 groups?
![Page 11: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/11.jpg)
Users, Groups, and Memberships
• Easy user management
• A group can contain roles.
• Manager
• Member
• Validator
• By default, Manager has the highest rights in a group.
![Page 12: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/12.jpg)
Demo
• User, Group and Membership Management
![Page 13: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/13.jpg)
Managing GateIn
• The Toolbar offers a convenient way for users and administrators to undertake portal actions quickly and easily.
![Page 14: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/14.jpg)
Demo
• Toolbar - Site, Dashboard, and Portlet/Gadget Admin
![Page 15: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/15.jpg)
Extensions and 3rd Party Plug-Ins
• All products in eXo's open source stack will be certified on the GateIn portal.
• Currently only a few of these are available in Alpha and Beta stages
![Page 16: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/16.jpg)
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
![Page 17: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/17.jpg)
LDAP • Can easily setup new or existing Directory
Server
• LDAP will be configured to store part of the GateIn group tree.
• Only a few lines of xml to uncomment
http://bit.ly/9p2w0J
![Page 18: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/18.jpg)
Demo
• Setup GateIn to use OpenDS
![Page 19: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/19.jpg)
Templating• Instead of using JSP includes to template
markup, GateIn uses portlets themselves to form a composite layout
• Tested in all major browsers
![Page 20: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/20.jpg)
Demo
• Layouts and Page creation
![Page 21: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/21.jpg)
Skins
• New skins are deployed using a war containing css
• Common skin changes will happen in the Banner, Logo, and Navigation portlets, or you can use your own.
![Page 22: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/22.jpg)
Demo
• Deploy new skin
![Page 23: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/23.jpg)
Integrating New (and legacy) Web Apps
• Demo - JSF (RichFaces & Seam), Tapestry, SpringMVC
![Page 24: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/24.jpg)
Extending GateIn
• 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 environment
http://bit.ly/bmCBdD
![Page 25: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/25.jpg)
Extension Example - Knowledge Suite
• Forums
• Enterprise grade - project based
• Advanced Moderation - lock, close approve
• Answers / QA
• Multi Language, Moderation, RSS
• FAQs
• Publish forged knowledge into FAQs
![Page 26: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/26.jpg)
• Backed by JSR-301 and 329
• Allows you to run any JSF application as a portlet
• Hides the underlying portlet APIs so developers only need to worry about 1 application
![Page 27: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/27.jpg)
• 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...
![Page 28: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/28.jpg)
Getting Involved
• User Forums
• Articles & How Tos
• Jira - Add your enhancement or try to handle some created issues
• Contests - Skins, etc...
![Page 29: GateIn - The Solution for Managing and Building Enterprise Web Apps](https://reader033.vdocuments.net/reader033/viewer/2022052904/557da85fd8b42a642d8b518d/html5/thumbnails/29.jpg)
Useful Links
• http://jboss.org/gatein
• http://jboss.org/portletbridge
• http://vimeo.com/wesleyhales/videos
• http://community.jboss.org/wiki/GateIn