• Save
Jsr286   Uor Portlet Workshop
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Jsr286 Uor Portlet Workshop

  • 1,548 views
Uploaded on

Presentation given at a Portal Workshop at the University of Reading

Presentation given at a Portal Workshop at the University of Reading

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,548
On Slideshare
1,546
From Embeds
2
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 2

http://www.linkedin.com 2

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. Portlets 2.0 JSR 286 Steve Millidge Member of the JSR286 Expert Group Architect of the Open Source iPoint Portal [email_address] www.c2b2.co.uk
  • 2. What is a Portlet “ A portlet is an application that provides a specific piece of content (information or service) to be included as part of a portal page.” The JSR 286 Spec
  • 3. The Portlet Container “ A portlet container runs portlets and provides them with the required runtime environment.” The JSR 286 Spec
  • 4. Architecture Portal Local Portlet Container 2 Remote Portlet Container Local Portlet Container 1 Portlet API Portlet API Portlet Portlet Portlet Portlet Portlet
  • 5. JSR 168 Limitations
  • 6. JSR168 Portlets are Islands
    • Can not Communicate with other Portlets
    • Can not Influence the Portal Page
    • Can not generate non markup content
    • Don’t support Web Frameworks well
  • 7. JSR 286 Building Bridges
  • 8. Shared Session Parameters
    • Available in JSR 168
    • Only works for portlets in the same Web Application
    • Limited Use
  • 9. Public Render Parameters
    • Shared Render State Between Portlets
      • Parameter Declared in portlet.xml
      • Portlet Declares Support for it in portlet.xml
    <public-render-parameter> <identifier>zipcode</identifier> <qname xmlns:x=“http://www.foo.com/params”>zipcode</qname> </public-render-parameter> … <portlet> <portlet-name>gazeteer</portlet-name> <supported-public-render-parameter>zipcode</supported-public-render-parameter> </portlet>
  • 10. Portlet Communication
  • 11. Portlet Events
    • Major Feature of 286
    • Coordinates Portlets w.r.t. State Changes
    • Events Raised in processAction
    • New Processing Phase before Render
      • processEvents
      • Events can be raised in processEvents
  • 12. Event Definition
    • Event Names Defined in the portlet.xml
    • Portlet Declares Support in portlet.xml
    • Event Content must have JAXB Binding
    < event-definition> <name>ProductSelectedForPurchase</name> <value-type>com.example.Product</value-type> </event-definition> … <portlet> <portlet-name>Shopping Cart</portlet-name> <supported-processing-event> <name>ProductSelectedForPurchase</name> </supported-processing-event> </portlet>
  • 13. Possible Usage Product Catalogue Portlet 1) processAction Portal 2) setEvent(EventPayload) Shopping Cart Portlet 3) processEvent() 4) render() 5) render()
  • 14. Resource Serving
    • Generate non-markup Content
      • Images
      • PDF
    • Supports Simple AJAX
    • New Lifecycle Method
      • serveResource
    • New URL Type
      • ResourceURL
    • No Interportlet Coordination in serveResource
  • 15. Other “Minor” Improvements
    • Support for Changing Headers
      • Cookies, META tags etc.
    • Better Web Framework Integration
    • Annotations Support in Generic Portlet
    • Portlet Managed Modes
    • Portlet Filters similar to Servlet Filters
    • Access to Portlet Window ID
    • URL Generation Listeners
  • 16. Thank you
  • 17. C2B2 Shameless Plug!
    • Niche Java Consultancy
      • Specialising in Java Infrastructure
    • Experts in Non-functional Requirements
      • Scalability, Availability, Performance etc.
    • Services
      • Consulting, Training
    • Technologies
      • Core JEE, ESB, Portals, ORM
    • Vendors
      • BEA, Red Hat (JBoss), Sun, IBM
      • Terracotta, Hyperic, Liferay, eXo, Mule