SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
WICKET PORTLET
         PRIMER
     Ate Douma

     Portal Architect @ Hippo

     JSR-286 Portlet API 2.0 Expert Group Member
     JSR-301 Portlet Bridge Specification for JSF Expert Group Member

     Apache Software Foundation Member

     Apache Portals Committer and PMC Member
     Apache Wicket Committer and PMC Member

     a.douma@hippo.nl / ate@apache.org




                                                                        WICKET MEETUP AMSTERDAM NOV 2007
WICKET PORTLET PRIMER
Wicket Portlet Support History

   • Started (by me) in 2005 but failed to finish
   • Restarted by Janne 2006 -> Wicket 1.2
   • Taken out again from Wicket core March 2007
   • 3rd attempt (by me) May 2007 -> Wicket 1.3




WICKET PORTLET PRIMER                WICKET MEETUP AMSTERDAM NOV 2007
Portlets vs Servlets

   JSR-168 Portlet API 1.0
   • Only generate content fragments
            no control over the response type
        •

            no “page” scope access
        •

            coexistence with other portlets or servlets in the same page/session
        •
   • Delegated URL creation and handling
   • 2 phase request processing (Action, Render)
   • Render state / parameters maintained by the container
   • No cookie support
   • No servlet dispatching during Action phase

WICKET PORTLET PRIMER                           WICKET MEETUP AMSTERDAM NOV 2007
JSR-286: Portlet API 2.0

   • Portlet coordination: events & public render parameters
   • Portlet Filters
   • New type of URL: ResourceURL
            direct access to the portlet
        •

            full control over the response
        •
   • Servlet dispatching from action and event phase
   • Contributing to page <head>
   • Cookies supported




WICKET PORTLET PRIMER                        WICKET MEETUP AMSTERDAM NOV 2007
3 Ways of providing Portlet Support

   • Transparent
           Servlet / Portlet differences abstracted away in the framework
       •

           JSF
       •
   • Native
           requires “parallel” API hierarchies
       •
           (PortletPaqe vs WebPage, PortletRequestCycle vs WebRequestCycle)

           Cannot be (transparently) used as web applications and visa versa
       •

           Struts/WebWorks 2.0, Spring PortletMVC, Wicket 1.2.x
       •
   • Bridged
           Dispatching to the “servlet world” from one generic portlet
       •

           Wrapping and translating the “servlet” handling
       •

           Wicket 1.3
       •

WICKET PORTLET PRIMER                           WICKET MEETUP AMSTERDAM NOV 2007
Limitations of the current Portlet Support

   • Requires JSR-286 features (not formally available yet)
            servlet dispatching during Action request phase
        •

            serving Resources / AJAX requests (requires full response control)
        •

            solved through custom Portals Bridges Interfaces
        •
                require portal specific implementation and support
            ●


                most portals already *can* support this, but need to be provided
            ●


                currently (known to be) working on Jetspeed-2 and Liferay (more or less)
            ●




   • Wicket (core) API and implementation needs to stick to
     certain rules (turned out to be rather easy so far)
            no direct usage / manipulation of the url both on the server and client
        •




WICKET PORTLET PRIMER                                 WICKET MEETUP AMSTERDAM NOV 2007
Roadmap

   • waiting for JSR-286 (just a few more weeks...)
   • providing JSR-286 based WicketPortlet2
            requires Java5 => Wicket 1.4.x
        •
   • Adding support for real JSR-286 features
            events
        •

            public render parameters
        •

            => Communication / coordination between Wicket “applications”
        •
   • Going to be (or already) used for
            Jetspeed-2 admin portlets
        •

            Hippo CMS 7
        •

            ...
        •


WICKET PORTLET PRIMER                         WICKET MEETUP AMSTERDAM NOV 2007
Demo




                 Wicket Examples in Jetspeed-2




WICKET PORTLET PRIMER                 WICKET MEETUP AMSTERDAM NOV 2007

Weitere ähnliche Inhalte

Was ist angesagt?

Gestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ciGestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ciCarles San Agustin
 
Universal JS Applications with React
Universal JS Applications with ReactUniversal JS Applications with React
Universal JS Applications with ReactThanh Trần Trọng
 
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)WSO2
 
Glass Fish V3 University Amers May2009
Glass Fish V3  University Amers May2009Glass Fish V3  University Amers May2009
Glass Fish V3 University Amers May2009Eugene Bogaart
 
Reference CNF development journey and outcomes
Reference CNF development journey and outcomesReference CNF development journey and outcomes
Reference CNF development journey and outcomesVictor Morales
 
Vert.x introduction
Vert.x introductionVert.x introduction
Vert.x introductionGR8Conf
 
Systems management - UltraESB
Systems management - UltraESBSystems management - UltraESB
Systems management - UltraESBAdroitLogic
 
JCConf 2021 Access Kubernetes API in Java
 JCConf 2021 Access Kubernetes API in Java JCConf 2021 Access Kubernetes API in Java
JCConf 2021 Access Kubernetes API in JavaMatt Ho
 
Programming WebSockets - April 20 2010
Programming WebSockets - April 20 2010Programming WebSockets - April 20 2010
Programming WebSockets - April 20 2010sullis
 
WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1Edgar Silva
 
Workshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services ServerWorkshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services ServerEdgar Silva
 
Java App On Digital Ocean: Deploying With Gitlab CI/CD
Java App On Digital Ocean: Deploying With Gitlab CI/CDJava App On Digital Ocean: Deploying With Gitlab CI/CD
Java App On Digital Ocean: Deploying With Gitlab CI/CDSeun Matt
 
JAMstack your Angular Applications with Scully
JAMstack your Angular Applications with ScullyJAMstack your Angular Applications with Scully
JAMstack your Angular Applications with ScullySteffi Keran Rani J
 
Workshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaWorkshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaEdgar Silva
 
An Introduction to the Vert.x framework
An Introduction to the Vert.x frameworkAn Introduction to the Vert.x framework
An Introduction to the Vert.x frameworkzznate
 

Was ist angesagt? (20)

Deep dive networking
Deep dive networkingDeep dive networking
Deep dive networking
 
Pune Ruby Meetup - November 2015
Pune Ruby Meetup - November 2015Pune Ruby Meetup - November 2015
Pune Ruby Meetup - November 2015
 
Gestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ciGestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ci
 
Vagrant presentation
Vagrant presentationVagrant presentation
Vagrant presentation
 
Universal JS Applications with React
Universal JS Applications with ReactUniversal JS Applications with React
Universal JS Applications with React
 
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
Integrating MQ Protocols with WSO2 ESB 4.9.0 (RabbitMQ, MQTT, Kafka)
 
Glass Fish V3 University Amers May2009
Glass Fish V3  University Amers May2009Glass Fish V3  University Amers May2009
Glass Fish V3 University Amers May2009
 
Reference CNF development journey and outcomes
Reference CNF development journey and outcomesReference CNF development journey and outcomes
Reference CNF development journey and outcomes
 
Vert.x introduction
Vert.x introductionVert.x introduction
Vert.x introduction
 
Systems management - UltraESB
Systems management - UltraESBSystems management - UltraESB
Systems management - UltraESB
 
JCConf 2021 Access Kubernetes API in Java
 JCConf 2021 Access Kubernetes API in Java JCConf 2021 Access Kubernetes API in Java
JCConf 2021 Access Kubernetes API in Java
 
Programming WebSockets - April 20 2010
Programming WebSockets - April 20 2010Programming WebSockets - April 20 2010
Programming WebSockets - April 20 2010
 
WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1WSO2 Micro Services Server - Basic Workshop Part 1
WSO2 Micro Services Server - Basic Workshop Part 1
 
Workshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services ServerWorkshop/Tutorial WSO2 Micro Services Server
Workshop/Tutorial WSO2 Micro Services Server
 
Java App On Digital Ocean: Deploying With Gitlab CI/CD
Java App On Digital Ocean: Deploying With Gitlab CI/CDJava App On Digital Ocean: Deploying With Gitlab CI/CD
Java App On Digital Ocean: Deploying With Gitlab CI/CD
 
JAMstack your Angular Applications with Scully
JAMstack your Angular Applications with ScullyJAMstack your Angular Applications with Scully
JAMstack your Angular Applications with Scully
 
Workshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and JavaWorkshop MSF4J - Getting Started with Microservices and Java
Workshop MSF4J - Getting Started with Microservices and Java
 
Nodejs on 02/22/2012
Nodejs on 02/22/2012Nodejs on 02/22/2012
Nodejs on 02/22/2012
 
Vertx in production
Vertx in productionVertx in production
Vertx in production
 
An Introduction to the Vert.x framework
An Introduction to the Vert.x frameworkAn Introduction to the Vert.x framework
An Introduction to the Vert.x framework
 

Andere mochten auch

Firefox 3.1 in 3.1 minutes
Firefox 3.1 in 3.1 minutesFirefox 3.1 in 3.1 minutes
Firefox 3.1 in 3.1 minutesThomas Bassetto
 
Web Components & Shadow DOM
Web Components & Shadow DOMWeb Components & Shadow DOM
Web Components & Shadow DOMThomas Bassetto
 
Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...
Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...
Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...ate.douma
 
Athletic Comparisons
Athletic  ComparisonsAthletic  Comparisons
Athletic Comparisonsrlracette
 
[FR] Capture vidéo avec HTML5
[FR] Capture vidéo avec HTML5[FR] Capture vidéo avec HTML5
[FR] Capture vidéo avec HTML5Thomas Bassetto
 
Porting Flashblock to Jetpack Platform (draft)
Porting Flashblock to Jetpack Platform (draft)Porting Flashblock to Jetpack Platform (draft)
Porting Flashblock to Jetpack Platform (draft)Thomas Bassetto
 
Claritas B A S E S Restaurant Audit Report
Claritas  B A S E S  Restaurant  Audit  ReportClaritas  B A S E S  Restaurant  Audit  Report
Claritas B A S E S Restaurant Audit Reportguest1f8179
 
NHTSA informational powerpoint
NHTSA informational powerpointNHTSA informational powerpoint
NHTSA informational powerpointkmfox
 
Premio World Press Photo 2.008
Premio World Press Photo 2.008Premio World Press Photo 2.008
Premio World Press Photo 2.008Roberto Cernuda
 
Web 2.0 e Social networking: cosa sono, chi li utilizza e chi ci guadagna die...
Web 2.0 e Social networking: cosa sono, chi li utilizza e chi ci guadagna die...Web 2.0 e Social networking: cosa sono, chi li utilizza e chi ci guadagna die...
Web 2.0 e Social networking: cosa sono, chi li utilizza e chi ci guadagna die...madero
 
IRUDIEN TXOKOA
IRUDIEN TXOKOAIRUDIEN TXOKOA
IRUDIEN TXOKOAeukene
 
poetry analysis
poetry analysispoetry analysis
poetry analysislsmith7
 
Powerpoint Comp Skills Final One
Powerpoint Comp Skills Final OnePowerpoint Comp Skills Final One
Powerpoint Comp Skills Final Onelsmith7
 
Calendario Asturias 2009
Calendario Asturias 2009Calendario Asturias 2009
Calendario Asturias 2009Roberto Cernuda
 
STORYTELLING 2010
STORYTELLING 2010STORYTELLING 2010
STORYTELLING 2010mtejederas1
 
Energia Alternativa e Utopie Energetiche
Energia Alternativa e Utopie EnergeticheEnergia Alternativa e Utopie Energetiche
Energia Alternativa e Utopie Energetichemadero
 

Andere mochten auch (20)

Firefox 3.1 in 3.1 minutes
Firefox 3.1 in 3.1 minutesFirefox 3.1 in 3.1 minutes
Firefox 3.1 in 3.1 minutes
 
Web Components & Shadow DOM
Web Components & Shadow DOMWeb Components & Shadow DOM
Web Components & Shadow DOM
 
Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...
Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...
Integrating Social Apps with Content Driven Sites using Apache Rave and Sprin...
 
Athletic Comparisons
Athletic  ComparisonsAthletic  Comparisons
Athletic Comparisons
 
[FR] Capture vidéo avec HTML5
[FR] Capture vidéo avec HTML5[FR] Capture vidéo avec HTML5
[FR] Capture vidéo avec HTML5
 
Porting Flashblock to Jetpack Platform (draft)
Porting Flashblock to Jetpack Platform (draft)Porting Flashblock to Jetpack Platform (draft)
Porting Flashblock to Jetpack Platform (draft)
 
Ad
AdAd
Ad
 
Claritas B A S E S Restaurant Audit Report
Claritas  B A S E S  Restaurant  Audit  ReportClaritas  B A S E S  Restaurant  Audit  Report
Claritas B A S E S Restaurant Audit Report
 
NHTSA informational powerpoint
NHTSA informational powerpointNHTSA informational powerpoint
NHTSA informational powerpoint
 
Ppt Netvibes
Ppt NetvibesPpt Netvibes
Ppt Netvibes
 
Premio World Press Photo 2.008
Premio World Press Photo 2.008Premio World Press Photo 2.008
Premio World Press Photo 2.008
 
Web 2.0 e Social networking: cosa sono, chi li utilizza e chi ci guadagna die...
Web 2.0 e Social networking: cosa sono, chi li utilizza e chi ci guadagna die...Web 2.0 e Social networking: cosa sono, chi li utilizza e chi ci guadagna die...
Web 2.0 e Social networking: cosa sono, chi li utilizza e chi ci guadagna die...
 
IRUDIEN TXOKOA
IRUDIEN TXOKOAIRUDIEN TXOKOA
IRUDIEN TXOKOA
 
Crystal Pole
Crystal PoleCrystal Pole
Crystal Pole
 
poetry analysis
poetry analysispoetry analysis
poetry analysis
 
Powerpoint Comp Skills Final One
Powerpoint Comp Skills Final OnePowerpoint Comp Skills Final One
Powerpoint Comp Skills Final One
 
Ottieni più risultati dal tuo sito web - Joomlday 2014
Ottieni più risultati dal tuo sito web - Joomlday 2014Ottieni più risultati dal tuo sito web - Joomlday 2014
Ottieni più risultati dal tuo sito web - Joomlday 2014
 
Calendario Asturias 2009
Calendario Asturias 2009Calendario Asturias 2009
Calendario Asturias 2009
 
STORYTELLING 2010
STORYTELLING 2010STORYTELLING 2010
STORYTELLING 2010
 
Energia Alternativa e Utopie Energetiche
Energia Alternativa e Utopie EnergeticheEnergia Alternativa e Utopie Energetiche
Energia Alternativa e Utopie Energetiche
 

Ähnlich wie Wicket Portlet Primer

[20180226] I understand webpacker perfectly
[20180226] I understand webpacker perfectly[20180226] I understand webpacker perfectly
[20180226] I understand webpacker perfectlyYuta Suzuki
 
NetDevOps Developer Environments with Vagrant @ SCALE16x
NetDevOps Developer Environments with Vagrant @ SCALE16xNetDevOps Developer Environments with Vagrant @ SCALE16x
NetDevOps Developer Environments with Vagrant @ SCALE16xHank Preston
 
Deploying And Monitoring Rails
Deploying And Monitoring RailsDeploying And Monitoring Rails
Deploying And Monitoring RailsJonathan Weiss
 
Server-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyattaServer-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyattaNaoto MATSUMOTO
 
NGINX Unit: Rebooting our Universal Web App Server
NGINX Unit: Rebooting our Universal Web App ServerNGINX Unit: Rebooting our Universal Web App Server
NGINX Unit: Rebooting our Universal Web App ServerNGINX, Inc.
 
Kubernetes Basic Operation
Kubernetes Basic OperationKubernetes Basic Operation
Kubernetes Basic OperationSimon Su
 
RIA front-ends: Flex, GWT integration in Nuxeo
RIA front-ends: Flex, GWT integration in NuxeoRIA front-ends: Flex, GWT integration in Nuxeo
RIA front-ends: Flex, GWT integration in NuxeoNuxeo
 
Vsc 71-se-presentation-training
Vsc 71-se-presentation-trainingVsc 71-se-presentation-training
Vsc 71-se-presentation-trainingnarit_ton
 
Web sockets in Angular
Web sockets in AngularWeb sockets in Angular
Web sockets in AngularYakov Fain
 
Web Development with Apache Struts 2
Web Development with  Apache Struts 2Web Development with  Apache Struts 2
Web Development with Apache Struts 2Fabrizio Giudici
 
A Simple Plugin Architecture for Wicket
A Simple Plugin Architecture for WicketA Simple Plugin Architecture for Wicket
A Simple Plugin Architecture for Wicketnielsvk
 
DPDK Summit 2015 - RIFT.io - Tim Mortsolf
DPDK Summit 2015 - RIFT.io - Tim MortsolfDPDK Summit 2015 - RIFT.io - Tim Mortsolf
DPDK Summit 2015 - RIFT.io - Tim MortsolfJim St. Leger
 
See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...LinuxCon ContainerCon CloudOpen China
 
Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)Igalia
 
Google IO extended 2017 - Caching Entities using Actors in Distributed Systems
Google IO extended 2017 - Caching Entities using Actors in Distributed SystemsGoogle IO extended 2017 - Caching Entities using Actors in Distributed Systems
Google IO extended 2017 - Caching Entities using Actors in Distributed SystemsAldrin Seychell
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersViktor Gamov
 
Data power v7 update - Ravi Katikala
Data power v7 update - Ravi KatikalaData power v7 update - Ravi Katikala
Data power v7 update - Ravi Katikalafloridawusergroup
 

Ähnlich wie Wicket Portlet Primer (20)

Grizzly 20080925 V2
Grizzly 20080925 V2Grizzly 20080925 V2
Grizzly 20080925 V2
 
GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6
 
[20180226] I understand webpacker perfectly
[20180226] I understand webpacker perfectly[20180226] I understand webpacker perfectly
[20180226] I understand webpacker perfectly
 
NetDevOps Developer Environments with Vagrant @ SCALE16x
NetDevOps Developer Environments with Vagrant @ SCALE16xNetDevOps Developer Environments with Vagrant @ SCALE16x
NetDevOps Developer Environments with Vagrant @ SCALE16x
 
Deploying And Monitoring Rails
Deploying And Monitoring RailsDeploying And Monitoring Rails
Deploying And Monitoring Rails
 
Server-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyattaServer-side Intelligent Switching using vyatta
Server-side Intelligent Switching using vyatta
 
OpenSolaris Web Stack MySQL BOF
OpenSolaris Web Stack MySQL BOFOpenSolaris Web Stack MySQL BOF
OpenSolaris Web Stack MySQL BOF
 
NGINX Unit: Rebooting our Universal Web App Server
NGINX Unit: Rebooting our Universal Web App ServerNGINX Unit: Rebooting our Universal Web App Server
NGINX Unit: Rebooting our Universal Web App Server
 
Kubernetes Basic Operation
Kubernetes Basic OperationKubernetes Basic Operation
Kubernetes Basic Operation
 
RIA front-ends: Flex, GWT integration in Nuxeo
RIA front-ends: Flex, GWT integration in NuxeoRIA front-ends: Flex, GWT integration in Nuxeo
RIA front-ends: Flex, GWT integration in Nuxeo
 
Vsc 71-se-presentation-training
Vsc 71-se-presentation-trainingVsc 71-se-presentation-training
Vsc 71-se-presentation-training
 
Web sockets in Angular
Web sockets in AngularWeb sockets in Angular
Web sockets in Angular
 
Web Development with Apache Struts 2
Web Development with  Apache Struts 2Web Development with  Apache Struts 2
Web Development with Apache Struts 2
 
A Simple Plugin Architecture for Wicket
A Simple Plugin Architecture for WicketA Simple Plugin Architecture for Wicket
A Simple Plugin Architecture for Wicket
 
DPDK Summit 2015 - RIFT.io - Tim Mortsolf
DPDK Summit 2015 - RIFT.io - Tim MortsolfDPDK Summit 2015 - RIFT.io - Tim Mortsolf
DPDK Summit 2015 - RIFT.io - Tim Mortsolf
 
See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...
 
Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)
 
Google IO extended 2017 - Caching Entities using Actors in Distributed Systems
Google IO extended 2017 - Caching Entities using Actors in Distributed SystemsGoogle IO extended 2017 - Caching Entities using Actors in Distributed Systems
Google IO extended 2017 - Caching Entities using Actors in Distributed Systems
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
 
Data power v7 update - Ravi Katikala
Data power v7 update - Ravi KatikalaData power v7 update - Ravi Katikala
Data power v7 update - Ravi Katikala
 

Kürzlich hochgeladen

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Kürzlich hochgeladen (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Wicket Portlet Primer

  • 1. WICKET PORTLET PRIMER Ate Douma Portal Architect @ Hippo JSR-286 Portlet API 2.0 Expert Group Member JSR-301 Portlet Bridge Specification for JSF Expert Group Member Apache Software Foundation Member Apache Portals Committer and PMC Member Apache Wicket Committer and PMC Member a.douma@hippo.nl / ate@apache.org WICKET MEETUP AMSTERDAM NOV 2007 WICKET PORTLET PRIMER
  • 2. Wicket Portlet Support History • Started (by me) in 2005 but failed to finish • Restarted by Janne 2006 -> Wicket 1.2 • Taken out again from Wicket core March 2007 • 3rd attempt (by me) May 2007 -> Wicket 1.3 WICKET PORTLET PRIMER WICKET MEETUP AMSTERDAM NOV 2007
  • 3. Portlets vs Servlets JSR-168 Portlet API 1.0 • Only generate content fragments no control over the response type • no “page” scope access • coexistence with other portlets or servlets in the same page/session • • Delegated URL creation and handling • 2 phase request processing (Action, Render) • Render state / parameters maintained by the container • No cookie support • No servlet dispatching during Action phase WICKET PORTLET PRIMER WICKET MEETUP AMSTERDAM NOV 2007
  • 4. JSR-286: Portlet API 2.0 • Portlet coordination: events & public render parameters • Portlet Filters • New type of URL: ResourceURL direct access to the portlet • full control over the response • • Servlet dispatching from action and event phase • Contributing to page <head> • Cookies supported WICKET PORTLET PRIMER WICKET MEETUP AMSTERDAM NOV 2007
  • 5. 3 Ways of providing Portlet Support • Transparent Servlet / Portlet differences abstracted away in the framework • JSF • • Native requires “parallel” API hierarchies • (PortletPaqe vs WebPage, PortletRequestCycle vs WebRequestCycle) Cannot be (transparently) used as web applications and visa versa • Struts/WebWorks 2.0, Spring PortletMVC, Wicket 1.2.x • • Bridged Dispatching to the “servlet world” from one generic portlet • Wrapping and translating the “servlet” handling • Wicket 1.3 • WICKET PORTLET PRIMER WICKET MEETUP AMSTERDAM NOV 2007
  • 6. Limitations of the current Portlet Support • Requires JSR-286 features (not formally available yet) servlet dispatching during Action request phase • serving Resources / AJAX requests (requires full response control) • solved through custom Portals Bridges Interfaces • require portal specific implementation and support ● most portals already *can* support this, but need to be provided ● currently (known to be) working on Jetspeed-2 and Liferay (more or less) ● • Wicket (core) API and implementation needs to stick to certain rules (turned out to be rather easy so far) no direct usage / manipulation of the url both on the server and client • WICKET PORTLET PRIMER WICKET MEETUP AMSTERDAM NOV 2007
  • 7. Roadmap • waiting for JSR-286 (just a few more weeks...) • providing JSR-286 based WicketPortlet2 requires Java5 => Wicket 1.4.x • • Adding support for real JSR-286 features events • public render parameters • => Communication / coordination between Wicket “applications” • • Going to be (or already) used for Jetspeed-2 admin portlets • Hippo CMS 7 • ... • WICKET PORTLET PRIMER WICKET MEETUP AMSTERDAM NOV 2007
  • 8. Demo Wicket Examples in Jetspeed-2 WICKET PORTLET PRIMER WICKET MEETUP AMSTERDAM NOV 2007