• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Portlets 2.0 JSR286

Portlets 2.0 JSR286



Presentation by:

Presentation by:
Steve Millidge
Member of the JSR286 Expert Group
Architect of the Open Source iPoint Portal



Total Views
Views on SlideShare
Embed Views



2 Embeds 17

http://www.c2b2.co.uk 15 2



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.


12 of 2 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Subscribe to our middleware blog to receive great industry content delivered right to your inbox http://blog.c2b2.co.uk/
    Are you sure you want to
    Your message goes here
  • a
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Portlets 2.0 JSR286 Portlets 2.0 JSR286 Presentation Transcript

    • 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
    • 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
    • The Portlet Container “ A portlet container runs portlets and provides them with the required runtime environment.” The JSR 286 Spec
    • Architecture Portal Local Portlet Container 2 Remote Portlet Container Local Portlet Container 1 Portlet API Portlet API Portlet Portlet Portlet Portlet Portlet
    • JSR 168 Limitations
    • 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
    • JSR 286 Building Bridges
    • Shared Session Parameters
      • Available in JSR 168
      • Only works for portlets in the same Web Application
      • Limited Use
    • 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>
    • Portlet Communication
    • 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
    • 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>
    • Possible Usage Product Catalogue Portlet 1) processAction Portal 2) setEvent(EventPayload) Shopping Cart Portlet 3) processEvent() 4) render() 5) render()
    • Resource Serving
      • Generate non-markup Content
        • Images
        • PDF
      • Supports Simple AJAX
      • New Lifecycle Method
        • serveResource
      • New URL Type
        • ResourceURL
      • No Interportlet Coordination in serveResource
    • 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
    • Thank you
    • 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