SlideShare a Scribd company logo
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
What's	
  Next	
  For	
  JSF	
  
Ed Burns
JSF Specification co-lead
Oracle America, Inc.
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Safe	
  Harbor	
  Statement	
  
The	
  following	
  is	
  intended	
  to	
  outline	
  our	
  general	
  product	
  direcGon.	
  
It	
  is	
  intended	
  for	
  informaGon	
  purposes	
  only,	
  and	
  may	
  not	
  be	
  
incorporated	
  into	
  any	
  contract.	
  It	
  is	
  not	
  a	
  commitment	
  to	
  deliver	
  
any	
  material,	
  code,	
  or	
  funcGonality,	
  and	
  should	
  not	
  be	
  relied	
  upon	
  
in	
  making	
  purchasing	
  decisions.	
  The	
  development,	
  release,	
  and	
  
Gming	
  of	
  any	
  features	
  or	
  funcGonality	
  described	
  for	
  Oracle’s	
  
products	
  remains	
  at	
  the	
  sole	
  discreGon	
  of	
  Oracle.	
  
M	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
My	
  Plan	
  for	
  Your	
  Time	
  Investment	
  
UI	
  trends	
  
What	
  does	
  this	
  mean	
  for	
  JSF?	
  
What	
  about	
  Java	
  EE	
  8?	
  
Preserving	
  your	
  investment	
  in	
  JSF	
  
JSF	
  2.3	
  New	
  Features	
  Done	
  to	
  Date	
  
Q&A	
  
	
  
1
2
3
4
5
E	
  
6
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
E	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  Mobile	
  is	
  now	
  more	
  
important	
  than	
  desktop	
  
•  What	
  kind	
  of	
  app?	
  
– Mobile	
  Web	
  
– NaGve	
  App	
  (Android,	
  iOS,	
  
Windows)	
  
•  Lots	
  of	
  help	
  out	
  there	
  
– twier	
  bootstrap	
  and	
  its	
  
enablers	
  
Mobile	
  First	
  Web	
  Design	
  
E	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
E	
  
DEPARTMENT	
  
OF	
  STATE	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
E	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
MEAN	
  
E	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
• MongoDB	
  
• ExpressJS	
  
• AngularJS	
  
• Node.js	
  
E	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Trying	
  out	
  MEAN?	
  
JSF	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Wir	
  sind	
  für	
  Sie	
  da	
  
•  Enterprise	
  
•  Stable	
  
•  Trusted	
  vendors	
  with	
  a	
  proven	
  track	
  record	
  of	
  not	
  
abandoning	
  projects	
  
•  Open	
  Standard	
  Process	
  
	
  
Con8nued	
  Relevance	
  of	
  JSF	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
What	
  Does	
  All	
  This	
  Mean	
  for	
  JSF?	
  
•  Mobile	
  
– Use	
  a	
  mobile	
  opGmized	
  JSF	
  component	
  library	
  
•  State	
  
– Design	
  for	
  statelessness	
  
•  JavaScript	
  
– SGll	
  held	
  at	
  arm’s	
  length	
  
– A	
  component	
  level	
  concern	
  
E	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
What	
  Does	
  All	
  This	
  Mean	
  for	
  JSF?	
  
What	
  about	
  the	
  MVC	
  JSR?	
  
UI	
  Component	
  Oriented	
  
MVC	
  
M	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
What	
  Does	
  All	
  This	
  Mean	
  for	
  JSF?	
  
What	
  about	
  the	
  MVC	
  JSR?	
  
Ac8on	
  Oriented	
  
MVC	
  
M	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
What	
  About	
  the	
  MVC	
  JSR?	
  
•  Facelets	
  
•  Scopes	
  
– Flow	
  
– Flash	
  
– View	
  Scope	
  
Alignment	
  between	
  JSF	
  and	
  MVC	
  
M	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  1.0	
  
– Managed	
  Beans	
  
– EL	
  
– Component	
  Model	
  
•  2.0	
  
– Ajax	
  
– Facelets	
  
– Composite	
  Components	
  
•  2.2	
  
– HTML5	
  Friendly	
  Markup	
  
– Resource	
  Library	
  Contracts	
  
– Faces	
  Flows	
  
– File	
  Upload	
  
•  2.3	
  (Planned)	
  
– Beer	
  CDI	
  IntegraGon	
  
– MVC	
  capability	
  
– <f:socket>	
  WebSocket	
  
JSF	
  Greatest	
  Hits	
  Over	
  the	
  Years	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
WebSocket	
  and	
  JSF	
  
DEMO	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  Tie	
  up	
  the	
  loose	
  ends	
  
– SpecificaGon	
  clarificaGons	
  
– CDI	
  alignment	
  
•  Ease	
  of	
  use	
  e.g.	
  @Inject	
  
FacesContext	
  
•  @Inject	
  into	
  Validators,	
  
Converters,	
  etc.	
  
– HtmlInputHidden	
  is	
  
ClientBehaviorHolder	
  
•  Small	
  scale	
  new	
  features	
  
•  Subject	
  to	
  Spec	
  Lead	
  
oversight	
  
– JSON	
  ajax	
  component	
  
rendering	
  
– Stateless	
  enhancements	
  
– GET	
  enhancements	
  
– Adopt-­‐a-­‐JSR	
  support	
  
JSF	
  2.3	
  in	
  Java	
  EE	
  8	
  
Two	
  feature	
  drivers,	
  each	
  with	
  their	
  own	
  agenda	
  
M	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
JSF	
  2.3	
  Small	
  Scale	
  New	
  Features	
  
•  End	
  of	
  the	
  line	
  for	
  non-­‐CDI	
  managed	
  beans	
  
– Redefine	
  meaning	
  of	
  @javax.faces.bean.ManagedBean	
  to	
  be	
  
CDI	
  bean	
  
– Redefine	
  corresponding	
  XML	
  syntax	
  to	
  be	
  CDI	
  bean	
  
•  Ajax	
  method	
  invocaGon	
  
– A	
  Faces	
  request	
  
– Not	
  specific	
  to	
  a	
  view	
  
– Is	
  specific	
  to	
  a	
  ClientWindow	
  
– Returns	
  results	
  in	
  JSON	
  
M	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Preserving	
  Your	
  Investment	
  In	
  JSF	
  
JSF	
  2.2	
  New	
  Feature	
  Recap	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
JSF	
  2.2	
  Big	
  Ticket	
  Features	
  
•  Markup	
  EvoluGon	
  
– 1090	
  HTML5	
  Friendly	
  Markup	
  
•  MulG-­‐tenancy	
  and	
  Modularity	
  
– 730	
  Flows	
  
– 1142	
  Resource	
  Library	
  Contracts	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
•  Just	
  Passing	
  Through	
  
HTML5	
  Friendly	
  Markup	
  
Bullet	
  Through	
  Jack,	
  1964	
  
©	
  Dr	
  Harold	
  Edgerton	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
1090	
  HTML5	
  Friendly	
  Markup	
  
•  This	
  is	
  a	
  JSF	
  page	
  
	
  
The	
  best	
  part	
  of	
  Wicket	
  comes	
  to	
  JSF	
  
<!DOCTYPE html>!
<html xmlns="http://www.w3.org/1999/xhtml"!
xmlns:myNS="http://xmlns.jcp.org/jsf”>!
<form myNS:id="form">!
<input name="textField" type="text"

myNS:value="#{bean.text1}" />!
<input type="submit" myNS:id="submitButton" 

value="submit" /> !
<p>submitted text: #{bean.text1}.</p>!
</form>!
</html>!
!
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
1090	
  HTML5	
  Friendly	
  Markup	
  
•  Before	
  JSF	
  2.2	
  
– JSF	
  tags	
  hide	
  complexity	
  of	
  underlying	
  HTML+script+css
+images	
  
– JSF	
  “Renderer”:	
  	
  
•  encode:	
  markup	
  to	
  browser	
  
•  decode:	
  name=value	
  from	
  browser	
  
<html>…
<my:colorPicker value=“#{colorBean.color2}” />
<my:calendar value=“#{calendarBean.date1}” />
</html>
•  Context:	
  Missing	
  feature	
  in	
  browser?	
  Write	
  a	
  JSF	
  
component.	
  
Let	
  the	
  elegance	
  of	
  HTML	
  shine	
  through	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
1090	
  HTML5	
  Friendly	
  Markup	
  
•  With	
  JSF	
  2.2	
  
– Pure	
  HTML+script+css+images	
  in	
  the	
  JSF	
  page	
  
– JSF	
  Renderer	
  handles	
  decode	
  from	
  browser	
  
•  Leverage	
  the	
  strength	
  of	
  the	
  JSF	
  lifecycle	
  
•  Leverage	
  the	
  expressiveness	
  of	
  HTML5	
  
<html>…
<input type=“color” jsf:value=“#{colorBean.color2}”/>
<input type=“date”
jsf:value=“#{calendarBean.date1}” />
</html>
•  Context:	
  New	
  feature	
  in	
  browser?	
  Use	
  “pass	
  through	
  
elements”	
  
Let	
  the	
  elegance	
  of	
  HTML	
  shine	
  through	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
1142	
  Resource	
  Library	
  Contracts	
  
730	
  Faces	
  Flows	
  	
  
	
  
•  Allow	
  composing	
  a	
  JSF	
  app	
  as	
  a	
  
collecGon	
  of	
  modules	
  
– Faces	
  Flows	
  modularize	
  behavior	
  
– Resource	
  Library	
  Contracts	
  
modularize	
  appearance	
  
•  Well	
  defined	
  contract	
  for	
  each	
  
Modularity and Multi-tenant
capability
	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Resource	
  Library	
  Contracts	
  
Facelets	
  Review	
   The Facelets Gazette
Site
Navigation
●Events
●Docs
●Forums
About Contact Site Map
Template File name
_template.html
Insertion points
Resources
css classes, scripts, images
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Resource	
  Library	
  Contracts	
  
A	
  Contract	
  is	
  Born	
  
• Declared Templates
• Declared Insertion Points
• Declared Resources
contractA
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Resource	
  Library	
  Contracts	
  
Loading	
  ConvenGons	
  
contractA
• Declared Templates
• Declared Insertion Points
• Declared Resources
contractB
• Declared Templates
• Declared Insertion Points
• Declared Resources
contractC
• Declared Templates
• Declared Insertion Points
• Declared Resources
<web-app-root>/contracts
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Resource	
  Library	
  Contracts	
  
Loading	
  ConvenGons	
  
contractA
• Declared Templates
• Declared Insertion Points
• Declared Resources
contractB
• Declared Templates
• Declared Insertion Points
• Declared Resources
contractC
• Declared Templates
• Declared Insertion Points
• Declared Resources
<web-app-root>/contracts
contractD
• Declared Templates
• Declared Insertion Points
• Declared Resources
contractE
• Declared Templates
• Declared Insertion Points
• Declared Resources
contractF
• Declared Templates
• Declared Insertion Points
• Declared Resources
JAR files in WEB-INF/lib
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Resource	
  Library	
  Contracts	
  
Loading	
  ConfiguraGon	
  
contractA
• Declared Templates
• Declared Insertion Points
• Declared Resources
contractB
• Declared Templates
• Declared Insertion Points
• Declared Resources
contractC
• Declared Templates
• Declared Insertion Points
• Declared Resources
<web-app-root>/contracts
contractD
• Declared Templates
• Declared Insertion Points
• Declared Resources
contractE
• Declared Templates
• Declared Insertion Points
• Declared Resources
contractF
• Declared Templates
• Declared Insertion Points
• Declared Resources
JAR files in WEB-INF/lib
Set of available contracts
Facelet 1
<f:view contracts="contractA">
...
Facelet 3Facelet 2
faces-config.xml
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Flow	
  NavigaGon	
  
•  NavigaGon	
  is	
  no	
  longer	
  just	
  between	
  pages	
  
•  NavigaGon	
  is	
  now	
  between	
  flow	
  “nodes”	
  
•  InformaGon	
  Hiding	
  comes	
  to	
  JSF.	
  Welcome	
  to	
  1972!	
  
•  MulGple	
  node	
  types:	
  
– View	
  
– Method	
  Call	
  
– Switch	
  
– Flow	
  Call	
  
– Flow	
  Return	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Flow	
  DefiniGon	
  
•  Name	
  of	
  the	
  flow	
  
•  Where	
  does	
  the	
  flow	
  start?	
  
•  Input	
  values	
  
•  OpGonal	
  iniGalizer	
  &	
  finalizer	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
JSF	
  2.3	
  New	
  Features	
  Done	
  to	
  Date	
  
•  UIRepeat	
  and	
  UIData	
  support	
  Map	
  and	
  Iterable	
  
•  New	
  Event:	
  PostRenderViewEvent	
  
•  @Inject	
  support	
  fort	
  
– RequestCookieMap	
  
– View	
  Map,	
  Session	
  Map	
  
– FacesConverter	
  
– FacesBehavior	
  
– FacesValidator	
  
•  CDI	
  #{viewScoped}	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Thank	
  You!	
  
•  Feedback	
  to	
  @edburns	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Safe	
  Harbor	
  Statement	
  
The	
  preceding	
  is	
  intended	
  to	
  outline	
  our	
  general	
  product	
  direcGon.	
  
It	
  is	
  intended	
  for	
  informaGon	
  purposes	
  only,	
  and	
  may	
  not	
  be	
  
incorporated	
  into	
  any	
  contract.	
  It	
  is	
  not	
  a	
  commitment	
  to	
  deliver	
  
any	
  material,	
  code,	
  or	
  funcGonality,	
  and	
  should	
  not	
  be	
  relied	
  upon	
  
in	
  making	
  purchasing	
  decisions.	
  The	
  development,	
  release,	
  and	
  
Gming	
  of	
  any	
  features	
  or	
  funcGonality	
  described	
  for	
  Oracle’s	
  
products	
  remains	
  at	
  the	
  sole	
  discreGon	
  of	
  Oracle.	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  

More Related Content

PDF
JSF 2.2 Input Output JavaLand 2015
PDF
Java EE 7 from an HTML5 Perspective, JavaLand 2015
PPTX
Ed presents JSF 2.2 and WebSocket to Gameduell.
PDF
MVC 1.0 / JSR 371
PDF
EJB and CDI - Alignment and Strategy
PPTX
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
PDF
Adopt-a-JSR for JSON Processing 1.1, JSR 374
PPTX
Servlet 4.0 at GeekOut 2015
JSF 2.2 Input Output JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Ed presents JSF 2.2 and WebSocket to Gameduell.
MVC 1.0 / JSR 371
EJB and CDI - Alignment and Strategy
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Servlet 4.0 at GeekOut 2015

What's hot (19)

PDF
Java EE 8 - An instant snapshot
PDF
JavaOne 2014 BOF4241 What's Next for JSF?
PDF
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
PPTX
Best Practices for JSF, Gameduell 2013
PPTX
Seven Points for Applying Java EE 7
PPTX
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
PPT
What's New in WebLogic 12.1.3 and Beyond
PDF
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
PPTX
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
PDF
CON5898 What Servlet 4.0 Means To You
PPT
Down-to-Earth Microservices with Java EE
PDF
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
PPTX
Move from J2EE to Java EE
PPT
JavaScript Frameworks and Java EE – A Great Match
PPT
Have You Seen Java EE Lately?
PDF
How to Thrive on REST/WebSocket-Based Microservices
PDF
WebSocket in Enterprise Applications 2015
PDF
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
PDF
Java EE Revisits GoF Design Patterns
Java EE 8 - An instant snapshot
JavaOne 2014 BOF4241 What's Next for JSF?
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Best Practices for JSF, Gameduell 2013
Seven Points for Applying Java EE 7
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
What's New in WebLogic 12.1.3 and Beyond
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
CON5898 What Servlet 4.0 Means To You
Down-to-Earth Microservices with Java EE
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
Move from J2EE to Java EE
JavaScript Frameworks and Java EE – A Great Match
Have You Seen Java EE Lately?
How to Thrive on REST/WebSocket-Based Microservices
WebSocket in Enterprise Applications 2015
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
Java EE Revisits GoF Design Patterns
Ad

Similar to Burns jsf-confess-2015 (20)

PDF
JSF 2.2 Status at DOAG 2011
PPTX
JSF 2.2
PDF
Newfeaturesincontext 130911052709-phpapp01
PPTX
2015 UJUG, JSF 2.3 portion
PDF
AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...
PDF
Ad111
PDF
2015 JavaOne LAD JSF 2.3 & MVC 1.0
PPTX
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
PDF
JavaCro'14 - Consuming Java EE Backends in Desktop, Web, and Mobile Frontends...
PDF
Consuming Java EE in Desktop, Web, and Mobile Frontends
PDF
Jsf2 overview
PDF
Core java server faces
ODP
Web development in JavaEE7 with JSF, does it still matter?
PDF
Java EE7 Demystified
ODP
Development of web apps based on JSF (TU Vienna)
PDF
NLOUG 2018 - Future of JSF and ADF
PDF
Lec5 ecom fall16_modified7_november16
PDF
Java EE 7 - Embracing the Cloud and HTML 5
PDF
Java EE 8 Web Frameworks: A Look at JSF vs MVC
JSF 2.2 Status at DOAG 2011
JSF 2.2
Newfeaturesincontext 130911052709-phpapp01
2015 UJUG, JSF 2.3 portion
AD111 -- Harnessing the Power of Server-Side JavaScript and Other Advanced XP...
Ad111
2015 JavaOne LAD JSF 2.3 & MVC 1.0
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JavaCro'14 - Consuming Java EE Backends in Desktop, Web, and Mobile Frontends...
Consuming Java EE in Desktop, Web, and Mobile Frontends
Jsf2 overview
Core java server faces
Web development in JavaEE7 with JSF, does it still matter?
Java EE7 Demystified
Development of web apps based on JSF (TU Vienna)
NLOUG 2018 - Future of JSF and ADF
Lec5 ecom fall16_modified7_november16
Java EE 7 - Embracing the Cloud and HTML 5
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Ad

More from Edward Burns (20)

PDF
Jakarta EE 11: What's New and Why You Should Care
PDF
Java and AI with LangChain4j: Jakarta EE gets AI
PDF
Java and AI with LangChain4j: Jakarta EE and AI
PDF
20250403-trusted-ai-favorite-ide-javaland.pdf
PDF
A survey of cloud readiness for Jakarta EE 11
PDF
Java and AI with LangChain4j: Jakarta EE and SmallRye LLM
PDF
Java and AI with LangChain4j: Integrating Jakarta EE and LLMs
PDF
How to get trusted AI in your favorite IDE
PDF
How to get trusted AI in your favorite IDE
PDF
How to get trusted AI in your favorite IDE
PDF
How to get trusted AI in your favorite IDE
PPTX
2024-09-10 Jacksonville JUG Java on Azure with AI
PPTX
Deliver AI infused app innovation with Open Liberty on AKS
PPTX
DevTalks Romania: Prepare for Jakarta EE 11
PDF
Developer Career Masterplan
PPTX
Jakarta EE 11 Status Update​
PDF
Sponsored Session: Please touch that dial!
PDF
How modernizing enterprise applications gives you a competitive advantage
PDF
Wie Azure Jakarta EE Nutzt
PDF
Practical lessons from customers performing digital transformation with Azure
Jakarta EE 11: What's New and Why You Should Care
Java and AI with LangChain4j: Jakarta EE gets AI
Java and AI with LangChain4j: Jakarta EE and AI
20250403-trusted-ai-favorite-ide-javaland.pdf
A survey of cloud readiness for Jakarta EE 11
Java and AI with LangChain4j: Jakarta EE and SmallRye LLM
Java and AI with LangChain4j: Integrating Jakarta EE and LLMs
How to get trusted AI in your favorite IDE
How to get trusted AI in your favorite IDE
How to get trusted AI in your favorite IDE
How to get trusted AI in your favorite IDE
2024-09-10 Jacksonville JUG Java on Azure with AI
Deliver AI infused app innovation with Open Liberty on AKS
DevTalks Romania: Prepare for Jakarta EE 11
Developer Career Masterplan
Jakarta EE 11 Status Update​
Sponsored Session: Please touch that dial!
How modernizing enterprise applications gives you a competitive advantage
Wie Azure Jakarta EE Nutzt
Practical lessons from customers performing digital transformation with Azure

Recently uploaded (20)

PPTX
Patient Appointment Booking in Odoo with online payment
PDF
Nekopoi APK 2025 free lastest update
PPTX
Weekly report ppt - harsh dattuprasad patel.pptx
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PDF
Download FL Studio Crack Latest version 2025 ?
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
AutoCAD Professional Crack 2025 With License Key
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Salesforce Agentforce AI Implementation.pdf
Patient Appointment Booking in Odoo with online payment
Nekopoi APK 2025 free lastest update
Weekly report ppt - harsh dattuprasad patel.pptx
17 Powerful Integrations Your Next-Gen MLM Software Needs
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
Download FL Studio Crack Latest version 2025 ?
Monitoring Stack: Grafana, Loki & Promtail
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
AutoCAD Professional Crack 2025 With License Key
Advanced SystemCare Ultimate Crack + Portable (2025)
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Autodesk AutoCAD Crack Free Download 2025
Odoo Companies in India – Driving Business Transformation.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Design an Analysis of Algorithms I-SECS-1021-03
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Complete Guide to Website Development in Malaysia for SMEs
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Salesforce Agentforce AI Implementation.pdf

Burns jsf-confess-2015

  • 1. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   What's  Next  For  JSF   Ed Burns JSF Specification co-lead Oracle America, Inc.
  • 2. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Safe  Harbor  Statement   The  following  is  intended  to  outline  our  general  product  direcGon.   It  is  intended  for  informaGon  purposes  only,  and  may  not  be   incorporated  into  any  contract.  It  is  not  a  commitment  to  deliver   any  material,  code,  or  funcGonality,  and  should  not  be  relied  upon   in  making  purchasing  decisions.  The  development,  release,  and   Gming  of  any  features  or  funcGonality  described  for  Oracle’s   products  remains  at  the  sole  discreGon  of  Oracle.   M  
  • 3. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   My  Plan  for  Your  Time  Investment   UI  trends   What  does  this  mean  for  JSF?   What  about  Java  EE  8?   Preserving  your  investment  in  JSF   JSF  2.3  New  Features  Done  to  Date   Q&A     1 2 3 4 5 E   6
  • 4. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   E  
  • 5. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  Mobile  is  now  more   important  than  desktop   •  What  kind  of  app?   – Mobile  Web   – NaGve  App  (Android,  iOS,   Windows)   •  Lots  of  help  out  there   – twier  bootstrap  and  its   enablers   Mobile  First  Web  Design   E  
  • 6. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   E   DEPARTMENT   OF  STATE  
  • 7. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   E  
  • 8. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   MEAN   E  
  • 9. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   • MongoDB   • ExpressJS   • AngularJS   • Node.js   E  
  • 10. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Trying  out  MEAN?   JSF  
  • 11. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Wir  sind  für  Sie  da   •  Enterprise   •  Stable   •  Trusted  vendors  with  a  proven  track  record  of  not   abandoning  projects   •  Open  Standard  Process     Con8nued  Relevance  of  JSF  
  • 12. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   What  Does  All  This  Mean  for  JSF?   •  Mobile   – Use  a  mobile  opGmized  JSF  component  library   •  State   – Design  for  statelessness   •  JavaScript   – SGll  held  at  arm’s  length   – A  component  level  concern   E  
  • 13. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   What  Does  All  This  Mean  for  JSF?   What  about  the  MVC  JSR?   UI  Component  Oriented   MVC   M  
  • 14. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   What  Does  All  This  Mean  for  JSF?   What  about  the  MVC  JSR?   Ac8on  Oriented   MVC   M  
  • 15. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   What  About  the  MVC  JSR?   •  Facelets   •  Scopes   – Flow   – Flash   – View  Scope   Alignment  between  JSF  and  MVC   M  
  • 16. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  1.0   – Managed  Beans   – EL   – Component  Model   •  2.0   – Ajax   – Facelets   – Composite  Components   •  2.2   – HTML5  Friendly  Markup   – Resource  Library  Contracts   – Faces  Flows   – File  Upload   •  2.3  (Planned)   – Beer  CDI  IntegraGon   – MVC  capability   – <f:socket>  WebSocket   JSF  Greatest  Hits  Over  the  Years  
  • 17. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   WebSocket  and  JSF   DEMO  
  • 18. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  Tie  up  the  loose  ends   – SpecificaGon  clarificaGons   – CDI  alignment   •  Ease  of  use  e.g.  @Inject   FacesContext   •  @Inject  into  Validators,   Converters,  etc.   – HtmlInputHidden  is   ClientBehaviorHolder   •  Small  scale  new  features   •  Subject  to  Spec  Lead   oversight   – JSON  ajax  component   rendering   – Stateless  enhancements   – GET  enhancements   – Adopt-­‐a-­‐JSR  support   JSF  2.3  in  Java  EE  8   Two  feature  drivers,  each  with  their  own  agenda   M  
  • 19. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   JSF  2.3  Small  Scale  New  Features   •  End  of  the  line  for  non-­‐CDI  managed  beans   – Redefine  meaning  of  @javax.faces.bean.ManagedBean  to  be   CDI  bean   – Redefine  corresponding  XML  syntax  to  be  CDI  bean   •  Ajax  method  invocaGon   – A  Faces  request   – Not  specific  to  a  view   – Is  specific  to  a  ClientWindow   – Returns  results  in  JSON   M  
  • 20. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Preserving  Your  Investment  In  JSF   JSF  2.2  New  Feature  Recap  
  • 21. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   JSF  2.2  Big  Ticket  Features   •  Markup  EvoluGon   – 1090  HTML5  Friendly  Markup   •  MulG-­‐tenancy  and  Modularity   – 730  Flows   – 1142  Resource  Library  Contracts  
  • 22. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   •  Just  Passing  Through   HTML5  Friendly  Markup   Bullet  Through  Jack,  1964   ©  Dr  Harold  Edgerton  
  • 23. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   1090  HTML5  Friendly  Markup   •  This  is  a  JSF  page     The  best  part  of  Wicket  comes  to  JSF   <!DOCTYPE html>! <html xmlns="http://www.w3.org/1999/xhtml"! xmlns:myNS="http://xmlns.jcp.org/jsf”>! <form myNS:id="form">! <input name="textField" type="text"
 myNS:value="#{bean.text1}" />! <input type="submit" myNS:id="submitButton" 
 value="submit" /> ! <p>submitted text: #{bean.text1}.</p>! </form>! </html>! !
  • 24. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   1090  HTML5  Friendly  Markup   •  Before  JSF  2.2   – JSF  tags  hide  complexity  of  underlying  HTML+script+css +images   – JSF  “Renderer”:     •  encode:  markup  to  browser   •  decode:  name=value  from  browser   <html>… <my:colorPicker value=“#{colorBean.color2}” /> <my:calendar value=“#{calendarBean.date1}” /> </html> •  Context:  Missing  feature  in  browser?  Write  a  JSF   component.   Let  the  elegance  of  HTML  shine  through  
  • 25. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   1090  HTML5  Friendly  Markup   •  With  JSF  2.2   – Pure  HTML+script+css+images  in  the  JSF  page   – JSF  Renderer  handles  decode  from  browser   •  Leverage  the  strength  of  the  JSF  lifecycle   •  Leverage  the  expressiveness  of  HTML5   <html>… <input type=“color” jsf:value=“#{colorBean.color2}”/> <input type=“date” jsf:value=“#{calendarBean.date1}” /> </html> •  Context:  New  feature  in  browser?  Use  “pass  through   elements”   Let  the  elegance  of  HTML  shine  through  
  • 26. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   1142  Resource  Library  Contracts   730  Faces  Flows       •  Allow  composing  a  JSF  app  as  a   collecGon  of  modules   – Faces  Flows  modularize  behavior   – Resource  Library  Contracts   modularize  appearance   •  Well  defined  contract  for  each   Modularity and Multi-tenant capability  
  • 27. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Resource  Library  Contracts   Facelets  Review   The Facelets Gazette Site Navigation ●Events ●Docs ●Forums About Contact Site Map Template File name _template.html Insertion points Resources css classes, scripts, images
  • 28. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Resource  Library  Contracts   A  Contract  is  Born   • Declared Templates • Declared Insertion Points • Declared Resources contractA
  • 29. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Resource  Library  Contracts   Loading  ConvenGons   contractA • Declared Templates • Declared Insertion Points • Declared Resources contractB • Declared Templates • Declared Insertion Points • Declared Resources contractC • Declared Templates • Declared Insertion Points • Declared Resources <web-app-root>/contracts
  • 30. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Resource  Library  Contracts   Loading  ConvenGons   contractA • Declared Templates • Declared Insertion Points • Declared Resources contractB • Declared Templates • Declared Insertion Points • Declared Resources contractC • Declared Templates • Declared Insertion Points • Declared Resources <web-app-root>/contracts contractD • Declared Templates • Declared Insertion Points • Declared Resources contractE • Declared Templates • Declared Insertion Points • Declared Resources contractF • Declared Templates • Declared Insertion Points • Declared Resources JAR files in WEB-INF/lib
  • 31. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Resource  Library  Contracts   Loading  ConfiguraGon   contractA • Declared Templates • Declared Insertion Points • Declared Resources contractB • Declared Templates • Declared Insertion Points • Declared Resources contractC • Declared Templates • Declared Insertion Points • Declared Resources <web-app-root>/contracts contractD • Declared Templates • Declared Insertion Points • Declared Resources contractE • Declared Templates • Declared Insertion Points • Declared Resources contractF • Declared Templates • Declared Insertion Points • Declared Resources JAR files in WEB-INF/lib Set of available contracts Facelet 1 <f:view contracts="contractA"> ... Facelet 3Facelet 2 faces-config.xml
  • 32. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Flow  NavigaGon   •  NavigaGon  is  no  longer  just  between  pages   •  NavigaGon  is  now  between  flow  “nodes”   •  InformaGon  Hiding  comes  to  JSF.  Welcome  to  1972!   •  MulGple  node  types:   – View   – Method  Call   – Switch   – Flow  Call   – Flow  Return  
  • 33. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Flow  DefiniGon   •  Name  of  the  flow   •  Where  does  the  flow  start?   •  Input  values   •  OpGonal  iniGalizer  &  finalizer  
  • 34. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   JSF  2.3  New  Features  Done  to  Date   •  UIRepeat  and  UIData  support  Map  and  Iterable   •  New  Event:  PostRenderViewEvent   •  @Inject  support  fort   – RequestCookieMap   – View  Map,  Session  Map   – FacesConverter   – FacesBehavior   – FacesValidator   •  CDI  #{viewScoped}  
  • 35. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Thank  You!   •  Feedback  to  @edburns  
  • 36. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Safe  Harbor  Statement   The  preceding  is  intended  to  outline  our  general  product  direcGon.   It  is  intended  for  informaGon  purposes  only,  and  may  not  be   incorporated  into  any  contract.  It  is  not  a  commitment  to  deliver   any  material,  code,  or  funcGonality,  and  should  not  be  relied  upon   in  making  purchasing  decisions.  The  development,  release,  and   Gming  of  any  features  or  funcGonality  described  for  Oracle’s   products  remains  at  the  sole  discreGon  of  Oracle.  
  • 37. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |