1Monday, May 9, 2011
Making Portals Cool :               The Compelling Advantages of a Portlet Bridge                Wesley Hales             ...
About Wesley       •JBoss Portlet Bridge Lead       •Core GateIn Developer       •JSR-301/329 Red Hat Rep.       •Committe...
Define “Cool”...       - Smooth learning curve       - Easy “Scaffolding” or project setup       - Enterprise Ready:      ...
What is a Portal?       - Portals host the UI layer of many different systems.       - Manages Identity       - Tailored c...
What is a Portlet?       - Portlets can be written natively     Portlet Title          using JSP or vendor specific       ...
Basic Portlet Controls and TerminologyMonday, May 9, 2011
Portlet Development Basics       - No *real* standard for developing portlets       - Usability - Accounting for multiple ...
Portlet Bridges       - In the past, most were homegrown and vendor specific       - Today there are 2.5 specifications co...
The JBoss Portlet Bridge       Supports: JSR-301 & JSR-329               - JSF 1.x - 2.x               - RichFaces 3.x - 4...
The JBoss Portlet Bridge (Features)       - Provides extensions for SSO       - Javascript collision prevention (why you s...
Portlet Container                                                                                                         ...
Why use JSF in portals?       - Component driven framework       - Large OSS/community driven projects       - Reuse of ex...
Reusing JSF Skillsets       - JSF developer == Portal Developer       - Both sides win (Developer/Employer)       - Minor ...
Getting Started / References       Articles, Blogs, Books, etc...       Step-by-step video tutorials       Archetypes     ...
Mapping JSF to the Portlet API       - Sending Events across JSF portlets       - Providing and accessing public render pa...
Demo                      Checking The Request/Response                                                      17Monday, May...
18Monday, May 9, 2011
Monday, May 9, 2011
Public Render Parameters       - BridgePublicRenderParameterHandler       - Simple       - Map them to any BackingBean mem...
Monday, May 9, 2011
Demo                      Handling Public Render Parameters                                                          22Mon...
23Monday, May 9, 2011
Sending and Receiving Portlet Events       - BridgeEventHandler                                          Portlet Container...
Send and Receiving Portlet EventsMonday, May 9, 2011
Navigation (Changing Portlet Modes)       - Seamless integration with JSF       - Easy way to leverage built in featuresMo...
Demo               Navigation Mapping (Changing Portlet Modes)                                                     27Monda...
28Monday, May 9, 2011
Tips & Tricks       - Sharing data via APPLICATION_SCOPE       - Automatic script wrapping       - Working with portlet pr...
Sharing data via APPLICATION_SCOPE     Automatic Javascript NamespacingMonday, May 9, 2011
Demo                      Using Portlet Preferences With EL                                                          31Mon...
Monday, May 9, 2011
Monday, May 9, 2011
Debugging       - Your JSF portlet runs as a servlet in parallel.       - Namespacing (combined portlet+JSF)       - Custo...
Monday, May 9, 2011
Upcoming SlideShare
Loading in …5
×

Making Portals Cool: The Compelling Advantages of a Portlet Bridge

2,212 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,212
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Making Portals Cool: The Compelling Advantages of a Portlet Bridge

  1. 1. 1Monday, May 9, 2011
  2. 2. Making Portals Cool : The Compelling Advantages of a Portlet Bridge Wesley Hales Senior Developer, JBoss by Red Hat 5/6/2011 2Monday, May 9, 2011
  3. 3. About Wesley •JBoss Portlet Bridge Lead •Core GateIn Developer •JSR-301/329 Red Hat Rep. •Committer on Mozilla, Apache, Richfaces.... •Multiple series on InfoQ, Dzone, Refcards, personal blog, etc... •www.wesleyhales.com •@wesleyhalesMonday, May 9, 2011
  4. 4. Define “Cool”... - Smooth learning curve - Easy “Scaffolding” or project setup - Enterprise Ready: Supportable JBoss Enterprise Portal Platform 5 Extensible JBoss Portlet Bridge Clusterable, etc... Identity WSRP OpenSocial JCR JSR-286 Portlet Container SSO Model ObjectsMonday, May 9, 2011
  5. 5. What is a Portal? - Portals host the UI layer of many different systems. - Manages Identity - Tailored content and services - Collaboration via CMS - Social applications - Security, Internationalization, etc...Monday, May 9, 2011
  6. 6. What is a Portlet? - Portlets can be written natively Portlet Title using JSP or vendor specific technology <Markup Fragment> - Majority of the time, a portlet is just a web app.Monday, May 9, 2011
  7. 7. Basic Portlet Controls and TerminologyMonday, May 9, 2011
  8. 8. Portlet Development Basics - No *real* standard for developing portlets - Usability - Accounting for multiple apps on one page - Multiple applications and 1 HTTP Request/ResponseMonday, May 9, 2011
  9. 9. Portlet Bridges - In the past, most were homegrown and vendor specific - Today there are 2.5 specifications covering JSF 1 & 2Monday, May 9, 2011
  10. 10. The JBoss Portlet Bridge Supports: JSR-301 & JSR-329 - JSF 1.x - 2.x - RichFaces 3.x - 4.x - Seam 2.x (Seam 3 in the works along with CDI) Future: - Other web app frameworks like Struts, Spring, wicket, etc...Monday, May 9, 2011
  11. 11. The JBoss Portlet Bridge (Features) - Provides extensions for SSO - Javascript collision prevention (why you should care) - Parallel development which can be combined without issues - WSRP supportMonday, May 9, 2011
  12. 12. Portlet Container How the Portlet Bridge JSF Portlet manages the Faces single request lifecycle *See section 5.1 of the Bridge 2.0 spec for full details Resource Request Event Request Render Request Action Request Faces Engine Apply Bridge Request Restore Process Request Processing View Validation Values Update Invoke Render Model Application ValuesMonday, May 9, 2011
  13. 13. Why use JSF in portals? - Component driven framework - Large OSS/community driven projects - Reuse of existing developer skill sets - Repurpose legacy appsMonday, May 9, 2011
  14. 14. Reusing JSF Skillsets - JSF developer == Portal Developer - Both sides win (Developer/Employer) - Minor learning curveballsMonday, May 9, 2011
  15. 15. Getting Started / References Articles, Blogs, Books, etc... Step-by-step video tutorials Archetypes mvn archetype:generate -DarchetypeCatalog=http://bit.ly/jbossportletbridgeMonday, May 9, 2011
  16. 16. Mapping JSF to the Portlet API - Sending Events across JSF portlets - Providing and accessing public render parameters - Portlet Preferences - WSRP - Portlet navigation controlsMonday, May 9, 2011
  17. 17. Demo Checking The Request/Response 17Monday, May 9, 2011
  18. 18. 18Monday, May 9, 2011
  19. 19. Monday, May 9, 2011
  20. 20. Public Render Parameters - BridgePublicRenderParameterHandler - Simple - Map them to any BackingBean member (via faces-config.xml)Monday, May 9, 2011
  21. 21. Monday, May 9, 2011
  22. 22. Demo Handling Public Render Parameters 22Monday, May 9, 2011
  23. 23. 23Monday, May 9, 2011
  24. 24. Sending and Receiving Portlet Events - BridgeEventHandler Portlet Container Seam Portlet JSF Portlet - Standard config in portlet.xml Event - Send or receive from any portlet (not just JSF)Monday, May 9, 2011
  25. 25. Send and Receiving Portlet EventsMonday, May 9, 2011
  26. 26. Navigation (Changing Portlet Modes) - Seamless integration with JSF - Easy way to leverage built in featuresMonday, May 9, 2011
  27. 27. Demo Navigation Mapping (Changing Portlet Modes) 27Monday, May 9, 2011
  28. 28. 28Monday, May 9, 2011
  29. 29. Tips & Tricks - Sharing data via APPLICATION_SCOPE - Automatic script wrapping - Working with portlet preferences and ELMonday, May 9, 2011
  30. 30. Sharing data via APPLICATION_SCOPE Automatic Javascript NamespacingMonday, May 9, 2011
  31. 31. Demo Using Portlet Preferences With EL 31Monday, May 9, 2011
  32. 32. Monday, May 9, 2011
  33. 33. Monday, May 9, 2011
  34. 34. Debugging - Your JSF portlet runs as a servlet in parallel. - Namespacing (combined portlet+JSF) - Custom JS will require its own namespace - Remember that portlets may be asked to render more than once (interaction or not)Monday, May 9, 2011
  35. 35. Monday, May 9, 2011

×