SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Ajax in Enterprise Portals
            Wesley Hales
       http://wesleyhales.com
Wesley Hales is:


•   JBoss Portal Lead UI Guy
•   Author of InfoQ article series:
    Developing Portlets using JSF, Ajax, and Seam
•   JBoss Portlet Bridge project lead
•   JSR-301 Expert Group member
Introductions


• Your experience with portals?
• What do you want to gain from this
  session?
Portals & Portlets
What is a Portal?
• Windows that provide
  access to web
  applications and other
  information.
• Works across organizational boundaries to
  aggregate content coming from various web
  technologies: JSF, Seam, OpenSocial, Wicket,
  PHP, Struts...
Portals & Portlets
Portlets

•   Are managed by a
    portal/portlet container.

•   Portlet windows are
    aggregated via a portal
    page.

•   A Portlet Application is also a Web Application. The
    Portlet Application may contain servlets and JSPs in
    addition to portlets. Portlets, servlets and JSPs may
    share information through their session.
Portlet Ajax vs. Regular
              (Servlet) Ajax
Pitfalls with 1.0 portlets
•   portlet URL’s point to the portal, not to the portlet
•   You cannot make asynchronous calls to portlets through portlet URLs
•   This results in the replaced markup being all the portal page markup
    not just the portlet window fragment.
How we handle it
•   Because a portlet is a Web application that can contain other
    resources, such as servlets and JSP pages, you can make the
    asynchronous requests to the resources that are bundled with the
    portlet.
Standard Portlet 1.0 Ajax
Ajax gets better with Portlet 2.0

serveResource and resourceUrls
•   With the newer (JSR-286) spec, we now have the
    serveResource() mechanism that makes Ajax easier.

•   Makes it easy to migrate existing JSR 168
    applications

•   Works with existing client-side libraries

•   Partial updates to the portlet’s UI
Portlet 2.0 Ajax
View Portlet 2.0 Ajax Demo on YouTube




         JSR-286 Ajax Demo
Today's Ajax Component Libraries

•    What libraries are available to portlet developers?
•    Do I have to use JSF?
      •  It is only framework (currently) with a spec backing it
         for portlets.
•    Two of the more popular libraries for JSF are:
      •  IceFaces
          •  Uses custom built bridge
      •  RichFaces
          •  Works with a JSR-301 based bridge
What is a Bridge, and why do we
           need one?
•   There are different bridges to handle many different web
    applications.

    •   Wicket
    •   Seam
    •   Spring MVC
    •   JSF
    •   Struts
    •   PHP

•   A bridge is often just a portlet written to handle the web
    application processing and lifecycle.
Portlet
Other component libraries, like IceFaces, provide their own quot;bridgequot; or way to
handle the portlet and JSF lifecycles.
View IceFaces Component Demo on YouTube




         IceFaces Portlet Demo
IceFaces Portlet Markup
RichFaces Portlet
The RichFaces component library runs under the JBoss Portlet Bridge, an
implementation of the JSR-301 specification to support JSF within a portlet.
View RichFaces Component Demo on YouTube




         RichFaces Portlet Demo
RichFaces Portlet Markup
Portlet Bridge Summary

•   Standards make life easier when investing in a
    portlet/Ajax/Component solution

•   Currently the JBoss Portlet Bridge supports any
    combination of JSF, Seam, and RichFaces to run
    inside a portlet.

•   It is currently in Beta 4 and should be approaching
    GA sometime in early '09 wen the spec is finalized.

•   JSR 301 scheduled to be complete early ’09 (168)
Today’s Challenges
The Portal is “the glue” that holds all of the portlet
windows together.
What if each portlet uses it’s own library?
•   YUI, jQuery, Prototype and yajf...
•   Conflicts and collisions
Solutions?
•   Namespaced libraries
•   Today, JBoss Portal limits its usage of Javascript libraries for that
    specific reason
•   ideas?
Mashups and OpenSocial Portlets




• Who is doing it?
• Are there any portlets available that make
  this easy?
View Quickstart Demo on YouTube




   QuickStart Portlet Demo
Questions?

• IceFaces Portlet Setup Info
  http://tinyurl.com/3l2fuz
• JBoss Portlet Bridge
  http://www.jboss.org/portletbridge/
• email: whales@redhat.com

Más contenido relacionado

La actualidad más candente

Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
Codecamp Romania
 
JavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies TodayJavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies Today
Wesley Hales
 
Web Technologies in Java EE 7
Web Technologies in Java EE 7Web Technologies in Java EE 7
Web Technologies in Java EE 7
Lukáš Fryč
 
Advanced liferay architecture clustering and high availability
Advanced liferay architecture clustering and high availabilityAdvanced liferay architecture clustering and high availability
Advanced liferay architecture clustering and high availability
Bordin Kijsirijareonchai
 
JBoss AS7 Overview
JBoss AS7 OverviewJBoss AS7 Overview
JBoss AS7 Overview
JBug Italy
 

La actualidad más candente (20)

Java 7 workshop
Java 7 workshopJava 7 workshop
Java 7 workshop
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
 
JBoss AS 7 from a user perspective
JBoss AS 7 from a user perspectiveJBoss AS 7 from a user perspective
JBoss AS 7 from a user perspective
 
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
 
Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the Cloud
 
JavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies TodayJavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies Today
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
 
Web Technologies in Java EE 7
Web Technologies in Java EE 7Web Technologies in Java EE 7
Web Technologies in Java EE 7
 
Jspx Jdc2010
Jspx Jdc2010Jspx Jdc2010
Jspx Jdc2010
 
Ejb3 1 Overview Glassfish Webinar 100208
Ejb3 1 Overview Glassfish Webinar 100208Ejb3 1 Overview Glassfish Webinar 100208
Ejb3 1 Overview Glassfish Webinar 100208
 
Jboss Tutorial Basics
Jboss Tutorial BasicsJboss Tutorial Basics
Jboss Tutorial Basics
 
Java EE6 Overview
Java EE6 OverviewJava EE6 Overview
Java EE6 Overview
 
GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09
 
Jsp Tutorial
Jsp TutorialJsp Tutorial
Jsp Tutorial
 
Java EE 6
Java EE 6Java EE 6
Java EE 6
 
Advanced liferay architecture clustering and high availability
Advanced liferay architecture clustering and high availabilityAdvanced liferay architecture clustering and high availability
Advanced liferay architecture clustering and high availability
 
JBoss AS7 Overview
JBoss AS7 OverviewJBoss AS7 Overview
JBoss AS7 Overview
 

Similar a Ajax In Enterprise Portals

Ajax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley HalesAjax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley Hales
rajivmordani
 
WebSphere Portal Technical Overview
WebSphere Portal Technical OverviewWebSphere Portal Technical Overview
WebSphere Portal Technical Overview
Vincent Perrin
 
Working with Portlets in ADF and Webcenter
Working with Portlets in ADF and WebcenterWorking with Portlets in ADF and Webcenter
Working with Portlets in ADF and Webcenter
DataNext Solutions
 
Server Side Javascript
Server Side JavascriptServer Side Javascript
Server Side Javascript
rajivmordani
 
Ajax Frameworks in the J(2)EE Environment
Ajax Frameworks in the J(2)EE EnvironmentAjax Frameworks in the J(2)EE Environment
Ajax Frameworks in the J(2)EE Environment
starchaser
 
01 overview-and-setup
01 overview-and-setup01 overview-and-setup
01 overview-and-setup
snopteck
 
Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0
Mayank Srivastava
 

Similar a Ajax In Enterprise Portals (20)

Ajax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley HalesAjax In Enterprise Portals Wesley Hales
Ajax In Enterprise Portals Wesley Hales
 
Portets to composite applications
Portets to composite applicationsPortets to composite applications
Portets to composite applications
 
Webcenter Portlal training...
Webcenter Portlal training...Webcenter Portlal training...
Webcenter Portlal training...
 
WebSphere Portal Technical Overview
WebSphere Portal Technical OverviewWebSphere Portal Technical Overview
WebSphere Portal Technical Overview
 
Implementing portlets using Web Scripts
Implementing portlets using Web ScriptsImplementing portlets using Web Scripts
Implementing portlets using Web Scripts
 
Integrating Alfresco with Portals
Integrating Alfresco with PortalsIntegrating Alfresco with Portals
Integrating Alfresco with Portals
 
Ajax
Ajax Ajax
Ajax
 
Java Portal platforms presentation
Java Portal platforms presentationJava Portal platforms presentation
Java Portal platforms presentation
 
Working with Portlets in ADF and Webcenter
Working with Portlets in ADF and WebcenterWorking with Portlets in ADF and Webcenter
Working with Portlets in ADF and Webcenter
 
Server Side Javascript
Server Side JavascriptServer Side Javascript
Server Side Javascript
 
December 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig PresentationDecember 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig Presentation
 
T2 Web Framework
T2 Web FrameworkT2 Web Framework
T2 Web Framework
 
Ppt for Online music store
Ppt for Online music storePpt for Online music store
Ppt for Online music store
 
JBoss Architect Forum London - October 2013 - Platform as a What?
JBoss Architect Forum London - October 2013 - Platform as a What?JBoss Architect Forum London - October 2013 - Platform as a What?
JBoss Architect Forum London - October 2013 - Platform as a What?
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portal
 
Introduction to Portlets using Liferay Portal (Part 2)
Introduction to Portlets using Liferay Portal (Part 2)Introduction to Portlets using Liferay Portal (Part 2)
Introduction to Portlets using Liferay Portal (Part 2)
 
Sprint Portlet MVC Seminar
Sprint Portlet MVC SeminarSprint Portlet MVC Seminar
Sprint Portlet MVC Seminar
 
Ajax Frameworks in the J(2)EE Environment
Ajax Frameworks in the J(2)EE EnvironmentAjax Frameworks in the J(2)EE Environment
Ajax Frameworks in the J(2)EE Environment
 
01 overview-and-setup
01 overview-and-setup01 overview-and-setup
01 overview-and-setup
 
Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0
 

Más de Wesley Hales

Filling The Gap - Going Mobile With JBoss Technologies Today
Filling The Gap - Going Mobile With JBoss Technologies TodayFilling The Gap - Going Mobile With JBoss Technologies Today
Filling The Gap - Going Mobile With JBoss Technologies Today
Wesley Hales
 

Más de Wesley Hales (6)

Owning Web Performance
Owning Web PerformanceOwning Web Performance
Owning Web Performance
 
Owning Web Performance with PhantomJS 2 - Fluent 2016
Owning Web Performance with PhantomJS 2 - Fluent 2016Owning Web Performance with PhantomJS 2 - Fluent 2016
Owning Web Performance with PhantomJS 2 - Fluent 2016
 
The Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesThe Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devices
 
Filling The Gap - Going Mobile With JBoss Technologies Today
Filling The Gap - Going Mobile With JBoss Technologies TodayFilling The Gap - Going Mobile With JBoss Technologies Today
Filling The Gap - Going Mobile With JBoss Technologies Today
 
GateIn - The Solution for Managing and Building Enterprise Web Apps
GateIn - The Solution for Managing and Building Enterprise Web AppsGateIn - The Solution for Managing and Building Enterprise Web Apps
GateIn - The Solution for Managing and Building Enterprise Web Apps
 
GateIn - Presented at Atlanta JUG on 1/19/2010
GateIn - Presented at Atlanta JUG on 1/19/2010GateIn - Presented at Atlanta JUG on 1/19/2010
GateIn - Presented at Atlanta JUG on 1/19/2010
 

Último

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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?
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
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...
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Ajax In Enterprise Portals

  • 1. Ajax in Enterprise Portals Wesley Hales http://wesleyhales.com
  • 2. Wesley Hales is: • JBoss Portal Lead UI Guy • Author of InfoQ article series: Developing Portlets using JSF, Ajax, and Seam • JBoss Portlet Bridge project lead • JSR-301 Expert Group member
  • 3. Introductions • Your experience with portals? • What do you want to gain from this session?
  • 4. Portals & Portlets What is a Portal? • Windows that provide access to web applications and other information. • Works across organizational boundaries to aggregate content coming from various web technologies: JSF, Seam, OpenSocial, Wicket, PHP, Struts...
  • 5. Portals & Portlets Portlets • Are managed by a portal/portlet container. • Portlet windows are aggregated via a portal page. • A Portlet Application is also a Web Application. The Portlet Application may contain servlets and JSPs in addition to portlets. Portlets, servlets and JSPs may share information through their session.
  • 6. Portlet Ajax vs. Regular (Servlet) Ajax Pitfalls with 1.0 portlets • portlet URL’s point to the portal, not to the portlet • You cannot make asynchronous calls to portlets through portlet URLs • This results in the replaced markup being all the portal page markup not just the portlet window fragment. How we handle it • Because a portlet is a Web application that can contain other resources, such as servlets and JSP pages, you can make the asynchronous requests to the resources that are bundled with the portlet.
  • 8. Ajax gets better with Portlet 2.0 serveResource and resourceUrls • With the newer (JSR-286) spec, we now have the serveResource() mechanism that makes Ajax easier. • Makes it easy to migrate existing JSR 168 applications • Works with existing client-side libraries • Partial updates to the portlet’s UI
  • 10. View Portlet 2.0 Ajax Demo on YouTube JSR-286 Ajax Demo
  • 11. Today's Ajax Component Libraries • What libraries are available to portlet developers? • Do I have to use JSF? • It is only framework (currently) with a spec backing it for portlets. • Two of the more popular libraries for JSF are: • IceFaces • Uses custom built bridge • RichFaces • Works with a JSR-301 based bridge
  • 12. What is a Bridge, and why do we need one? • There are different bridges to handle many different web applications. • Wicket • Seam • Spring MVC • JSF • Struts • PHP • A bridge is often just a portlet written to handle the web application processing and lifecycle.
  • 13. Portlet Other component libraries, like IceFaces, provide their own quot;bridgequot; or way to handle the portlet and JSF lifecycles.
  • 14. View IceFaces Component Demo on YouTube IceFaces Portlet Demo
  • 16. RichFaces Portlet The RichFaces component library runs under the JBoss Portlet Bridge, an implementation of the JSR-301 specification to support JSF within a portlet.
  • 17. View RichFaces Component Demo on YouTube RichFaces Portlet Demo
  • 19. Portlet Bridge Summary • Standards make life easier when investing in a portlet/Ajax/Component solution • Currently the JBoss Portlet Bridge supports any combination of JSF, Seam, and RichFaces to run inside a portlet. • It is currently in Beta 4 and should be approaching GA sometime in early '09 wen the spec is finalized. • JSR 301 scheduled to be complete early ’09 (168)
  • 20. Today’s Challenges The Portal is “the glue” that holds all of the portlet windows together. What if each portlet uses it’s own library? • YUI, jQuery, Prototype and yajf... • Conflicts and collisions Solutions? • Namespaced libraries • Today, JBoss Portal limits its usage of Javascript libraries for that specific reason • ideas?
  • 21. Mashups and OpenSocial Portlets • Who is doing it? • Are there any portlets available that make this easy?
  • 22. View Quickstart Demo on YouTube QuickStart Portlet Demo
  • 23. Questions? • IceFaces Portlet Setup Info http://tinyurl.com/3l2fuz • JBoss Portlet Bridge http://www.jboss.org/portletbridge/ • email: whales@redhat.com