GateIn - The Solution for Managing and Building Enterprise Web Apps

29
Presented By: Wesley Hales The Solution for Managing and Building Enterprise Web Apps

description

Slides for my talk at DevNexus 2010

Transcript of GateIn - The Solution for Managing and Building Enterprise Web Apps

Page 1: GateIn - The Solution for Managing and Building Enterprise Web Apps

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

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

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

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

Demo

• General Overview

• Performance Dashboard

Page 6: GateIn - The Solution for Managing and Building Enterprise Web Apps

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

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

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

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

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

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

Demo

• User, Group and Membership Management

Page 13: GateIn - The Solution for Managing and Building Enterprise Web Apps

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

Demo

• Toolbar - Site, Dashboard, and Portlet/Gadget Admin

Page 15: GateIn - The Solution for Managing and Building Enterprise Web Apps

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

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

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

Demo

• Setup GateIn to use OpenDS

Page 19: GateIn - The Solution for Managing and Building Enterprise Web Apps

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

Demo

• Layouts and Page creation

Page 21: GateIn - The Solution for Managing and Building Enterprise Web Apps

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

Demo

• Deploy new skin

Page 23: GateIn - The Solution for Managing and Building Enterprise Web Apps

Integrating New (and legacy) Web Apps

• Demo - JSF (RichFaces & Seam), Tapestry, SpringMVC

Page 24: GateIn - The Solution for Managing and Building Enterprise Web Apps

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

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

• 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

• 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

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

Useful Links

• http://jboss.org/gatein

• http://jboss.org/portletbridge

• http://vimeo.com/wesleyhales/videos

• http://community.jboss.org/wiki/GateIn