Top Banner
JSF and Ajax An update on the latest strategies for building Ajax applications with JavaServer Faces Chris Schalk Co-Author of “JSF: The Complete Reference” / Google Developer Advocate
14

JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Mar 09, 2018

Download

Documents

leque
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

JSF and Ajax

An update on the latest strategies for building Ajax applicationswith JavaServer Faces

Chris Schalk

Co-Author of “JSF: The Complete Reference” / Google Developer Advocate

Page 2: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

The Basics - A bit of review for JSF

• JSF’s original goals (from 2001)– Provide an easy to use component based

Web application development framework

– Make it easy to integrate with IDEs

– Encourage OpenSource community tocontribute libraries of components

2

Page 3: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

The Basics - A bit of review for JSF

• So are we there yet?

• Yes…– Numerous IDEs support visual development of JSF

Applications• (Studio Creator/Netbeans, Eclipse, JDeveloper, Exadel ..)

– Many Component libraries now exist..• JSFCentral.com has a good list

3

Page 4: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

JSF and Ajax - do they work together?

• So what about Ajax?

– Is it possible to build Ajax applications with JSF?

– Yes, but there are different approaches..

4

Page 5: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

JSF and Ajax development development approaches

• How JSF and Ajax can work together

1. Just use Ajax JavaScript in your page templates

2. Code your Ajax JavaScript into JSF components

3. Leverage from a growing collection of Ajax-JSF frameworks

5

Page 6: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

1. Placing JS in your template pages

• The most practical/easy way to inject some Web 2.0functionality into your JSF UI

– Can add your own JS, or leverage from existing AjaxJavaScript toolkits/frameworks

• Dojo

• Yahoo UI

• JQuery

• Prototype, Scriptaculous

• …

6

Page 7: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

Placing JS in your template pages - Pros/Cons

• Pros– Technically straight forward

– Easy for simple/small stuff

• Cons– Working with more advanced JavaScript can be challenging

for Java crowd.• i.e. you have to get your hands dirty with client script.

– Can be hard to debug application• Look for errors on both server and client

7

Page 8: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

2. Code your Ajax JavaScript into JSF components

• By using JSF UI component technology it is possible towriting your own components that render JavaScriptinto the client

– This is doable because JSF can render any markup on theclient

• // Render customized Javascript for slider

• writer.write("<script language=\"JavaScript\" src=\"" + contextPath + "/js/JSSlider.js\"></script>");

8

Page 9: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

Doing your own JSF Ajax components - Pros/Cons

• Pros– Architecturally solid

– End user/Application developer can easily use - instead ofdealing with JS.

• Cons– Can be challenging to build from a technical standpoint

• Have to be an Ajax/client expert as well as an serverside/JSFexpert

– Hard to debug when developing components

9

Page 10: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

3. Leverage from existing JSF Ajax Components

• Can now download various JSF component librarieswhich are largely OS

– Can plug and go!

– IDE support is also available for many• Exadel, JDeveloper …

– The most interesting ones are:• JMaki

• RichFaces

• IceFaces

• ADF Faces (Trinidad) Rich Client

10

Page 11: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

Leverage existing JSF Ajax Components - Pros/Cons

• Pros– Easiest approach

– Don’t have to deal with JavaScript complexities

– Can pick from a growing collection of libraries

• Cons– If everything works, great!

– Can still be hard to debug on the client• This is because client code is rendered from client - you have little

or no control over this

11

Page 12: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

Ajax JSF Components Demos…

Checkout these components…

12

Jmaki

JBoss RichFaces (Ajax4JSF)

IceFaces

ADF Faces Rich Client

Page 13: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

What about the future of JSF?

• JSF 2.0 in the works– Being architected to make Ajax programming easier

• Easier to bypass full JSF lifecycle– For Ajax requests/partial component tree traversal– Build tree/render tree

• Bookmarkable JSF pages• Easier to build custom components• Easier configuration• Standard component set will include rich components

(datepicker, tree, tabview etc.)

• Targeted for Java EE 08

13

Page 14: JSF and Ajax - · PDF file• Have to be an Ajax/client expert as well as an serverside/JSF expert – Hard to debug when ... JSF and Ajax Ajax JSF ... •Easier to bypass full JSF

Chris Schalk - JSF and Ajax

More Info…

• JSF The Complete Reference– Chris Schalk/Ed Burns

• Covers Ajax JSF componentDevelopment

• Blog:– http://jroller.com/page/cschalk

14