Making Portals Cool: The Compelling Advantages of a Portlet Bridge

  • 1,574 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,574
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 1Monday, May 9, 2011
  • 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. 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. 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. 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. 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. Basic Portlet Controls and TerminologyMonday, May 9, 2011
  • 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. 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. 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. 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. 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. 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. Reusing JSF Skillsets - JSF developer == Portal Developer - Both sides win (Developer/Employer) - Minor learning curveballsMonday, May 9, 2011
  • 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. 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. Demo Checking The Request/Response 17Monday, May 9, 2011
  • 18. 18Monday, May 9, 2011
  • 19. Monday, May 9, 2011
  • 20. Public Render Parameters - BridgePublicRenderParameterHandler - Simple - Map them to any BackingBean member (via faces-config.xml)Monday, May 9, 2011
  • 21. Monday, May 9, 2011
  • 22. Demo Handling Public Render Parameters 22Monday, May 9, 2011
  • 23. 23Monday, May 9, 2011
  • 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. Send and Receiving Portlet EventsMonday, May 9, 2011
  • 26. Navigation (Changing Portlet Modes) - Seamless integration with JSF - Easy way to leverage built in featuresMonday, May 9, 2011
  • 27. Demo Navigation Mapping (Changing Portlet Modes) 27Monday, May 9, 2011
  • 28. 28Monday, May 9, 2011
  • 29. Tips & Tricks - Sharing data via APPLICATION_SCOPE - Automatic script wrapping - Working with portlet preferences and ELMonday, May 9, 2011
  • 30. Sharing data via APPLICATION_SCOPE Automatic Javascript NamespacingMonday, May 9, 2011
  • 31. Demo Using Portlet Preferences With EL 31Monday, May 9, 2011
  • 32. Monday, May 9, 2011
  • 33. Monday, May 9, 2011
  • 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. Monday, May 9, 2011