SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
What’s 
Next 
for 
JSF? 
BOF4241 
Edward 
Burns 
Manfred 
Riem 
Java 
Community 
Process 
SpecificaGon 
Leads 
Java 
EE 
PlaJorm 
group 
Copyright 
© 
2014, 
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. 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
M
My 
Plan 
for 
Your 
Time 
Investment 
UI 
trends 
What 
does 
this 
mean 
for 
JSF? 
What 
about 
Java 
EE 
8? 
Preserving 
your 
investment 
in 
JSF 
Q&A 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
1 
2 
3 
4 
5 
E
My 
Plan 
for 
Your 
Time 
Investment 
UI 
trends 
What 
does 
this 
mean 
for 
JSF? 
What 
about 
Java 
EE 
8? 
Preserving 
your 
investment 
in 
JSF 
Q&A 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
1 
2 
3 
4 
5 
E
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
E
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Mobile 
First 
Web 
Design 
• Mobile 
is 
now 
more 
important 
than 
desktop 
• What 
kind 
of 
app? 
– Mobile 
Web 
– NaGve 
App 
(Android, 
iOS, 
Windows) 
• Lots 
of 
help 
out 
there 
– twi`er 
bootstrap 
and 
its 
enablers 
E
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
E 
DEPARTMENT 
OF 
STATE
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
E
MEAN 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
E
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
• MongoDB 
• ExpressJS 
• AngularJS 
• Node.js 
E
Oracle’s 
Answer: 
Project 
Avatar 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
E
What 
Does 
All 
This 
Mean 
for 
JSF? 
• Mobile 
– Use 
a 
mobile 
opGmized 
JSF 
component 
library 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
• State 
– Design 
for 
statelessness 
• JavaScript 
– SGll 
held 
at 
arm’s 
length 
– A 
component 
level 
concern 
E
What 
Does 
All 
This 
Mean 
for 
JSF? 
What 
about 
the 
MVC 
JSR? 
UI 
Component 
Oriented 
MVC 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
M
What 
Does 
All 
This 
Mean 
for 
JSF? 
What 
about 
the 
MVC 
JSR? 
AcAon 
Oriented 
MVC 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
M
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
What 
About 
the 
MVC 
JSR? 
Alignment 
between 
JSF 
and 
MVC 
• Facelets 
• Scopes 
– Flow 
– Flash 
– View 
Scope 
M
Copyright 
© 
2014, 
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
JSF 
2.3 
Small 
Scale 
New 
Features 
• End 
of 
the 
line 
for 
non-­‐CDI 
managed 
beans 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
– 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 
• MulG-­‐component 
validaGon 
M
Community 
Corner 
JSF 
Expert 
Group 
Members 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
– Ian 
Hlavats, 
Tarantula 
ConsulGng 
– Kito 
Mann, 
Virtua 
E
Preserving 
Your 
Investment 
In 
JSF 
JSF 
2.2 
New 
Feature 
Recap 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
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
1090 
HTML5 
Friendly 
Markup 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
The 
best 
part 
of 
Wicket 
comes 
to 
JSF 
• This 
is 
a 
JSF 
page 
<!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>! 
!
1090 
HTML5 
Friendly 
Markup 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Let 
the 
elegance 
of 
HTML 
shine 
through 
• 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.
1090 
HTML5 
Friendly 
Markup 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Let 
the 
elegance 
of 
HTML 
shine 
through 
• 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”
1142 
Resource 
Library 
Contracts 
730 
Faces 
Flows 
Modularity and Multi-tenant capability 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
• Allow 
composing 
a 
JSF 
app 
as 
a 
collecGon 
of 
modules 
– Faces 
Flows 
modularize 
behavior 
– Resource 
Library 
Contracts 
modularize 
appearance 
• Well 
defined 
contract 
for 
each
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Resource 
Library 
Contracts 
A 
Contract 
is 
Born 
contractA 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Resource 
Library 
Contracts 
Loading 
ConvenGons 
<web-app-root>/contracts 
contractA 
contractB 
• Declared Templates 
• Declared Insertion contractC 
Points 
• Declared Resources 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources
JAR files in WEB-INF/lib 
contractE 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Resource 
Library 
Contracts 
Loading 
ConvenGons 
<web-app-root>/contracts 
contractA 
contractB 
• Declared Templates 
• Declared Insertion contractC 
Points 
• Declared Resources 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources 
contractD 
• Declared Templates 
• Declared Insertion contractF 
Points 
• Declared Resources 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources
<web-app-root>/contracts 
contractB 
contractC 
JAR files in WEB-INF/lib 
faces-config.xml 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Resource 
Library 
Contracts 
Loading 
ConfiguraGon 
contractA 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources 
contractD 
contractE 
• Declared Templates 
• Declared Insertion contractF 
Points 
• Declared Resources 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources 
• Declared Templates 
• Declared Insertion Points 
• Declared Resources 
Set of available contracts 
Facelet 1 
<f:view contracts="contractA"> 
... 
Facelet 2 Facelet 3
Copyright 
© 
2014, 
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 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Flow 
DefiniGon 
• Name 
of 
the 
flow 
• Where 
does 
the 
flow 
start? 
• Input 
values 
• OpGonal 
iniGalizer 
& 
finalizer
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 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
JavaOne 2014 BOF4241 What's Next for JSF?

Weitere ähnliche Inhalte

Was ist angesagt?

Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with Less
Ed Burns
 

Was ist angesagt? (20)

WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015
 
Web protocols for java developers
Web protocols for java developersWeb protocols for java developers
Web protocols for java developers
 
MVC 1.0 / JSR 371
MVC 1.0 / JSR 371MVC 1.0 / JSR 371
MVC 1.0 / JSR 371
 
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015
 
Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!Reactive Java EE - Let Me Count the Ways!
Reactive Java EE - Let Me Count the Ways!
 
How to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based MicroservicesHow to Thrive on REST/WebSocket-Based Microservices
How to Thrive on REST/WebSocket-Based Microservices
 
EJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyEJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and Strategy
 
Java EE 8: What Servlet 4.0 and HTTP/2 mean to you
Java EE 8: What Servlet 4.0 and HTTP/2 mean to youJava EE 8: What Servlet 4.0 and HTTP/2 mean to you
Java EE 8: What Servlet 4.0 and HTTP/2 mean to you
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
 
HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016
 
What's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and BeyondWhat's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and Beyond
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with Less
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c Developers
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential 
 
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
JavaCro'15 - HTTP2 Comes to Java! - David DelabasseeJavaCro'15 - HTTP2 Comes to Java! - David Delabassee
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
 
Api design and prototype
Api design and prototypeApi design and prototype
Api design and prototype
 

Ähnlich wie JavaOne 2014 BOF4241 What's Next for JSF?

Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaCoding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
JAXLondon_Conference
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352
sflynn073
 

Ähnlich wie JavaOne 2014 BOF4241 What's Next for JSF? (20)

Real-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and SolutionsReal-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and Solutions
 
2015 UJUG, JSF 2.3 portion
2015 UJUG, JSF 2.3 portion2015 UJUG, JSF 2.3 portion
2015 UJUG, JSF 2.3 portion
 
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
 
J-Fall 2014 Community Keynote by Oracle
J-Fall 2014 Community Keynote by OracleJ-Fall 2014 Community Keynote by Oracle
J-Fall 2014 Community Keynote by Oracle
 
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute InfodeckJSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
 
Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?
 
Oracle JET overview
Oracle JET overviewOracle JET overview
Oracle JET overview
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the Cloud
 
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaCoding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
 
Cloud native Microservices using Spring Boot
Cloud native Microservices using Spring BootCloud native Microservices using Spring Boot
Cloud native Microservices using Spring Boot
 
Surviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript EcosystemSurviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript Ecosystem
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
 
[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a Service
[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a Service[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a Service
[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a Service
 
Application Performance Monitoring from end user to Oracle Java Cloud Service...
Application Performance Monitoring from end user to Oracle Java Cloud Service...Application Performance Monitoring from end user to Oracle Java Cloud Service...
Application Performance Monitoring from end user to Oracle Java Cloud Service...
 
Imworld.ro
Imworld.roImworld.ro
Imworld.ro
 
Oracle Warehouse Builder to Oracle Data Integrator 12c Migration Utility
Oracle Warehouse Builder to Oracle Data Integrator 12c Migration UtilityOracle Warehouse Builder to Oracle Data Integrator 12c Migration Utility
Oracle Warehouse Builder to Oracle Data Integrator 12c Migration Utility
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript
 
2015 UJUG, MVC 1.0 portion
2015 UJUG, MVC 1.0 portion2015 UJUG, MVC 1.0 portion
2015 UJUG, MVC 1.0 portion
 

Mehr von Edward Burns

Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEd presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Edward Burns
 
jsf2-composite-components
jsf2-composite-componentsjsf2-composite-components
jsf2-composite-components
Edward Burns
 

Mehr von Edward Burns (20)

Developer Career Masterplan
Developer Career MasterplanDeveloper Career Masterplan
Developer Career Masterplan
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
 
Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!
 
How modernizing enterprise applications gives you a competitive advantage
How modernizing enterprise applications gives you a competitive advantageHow modernizing enterprise applications gives you a competitive advantage
How modernizing enterprise applications gives you a competitive advantage
 
Wie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztWie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE Nutzt
 
Practical lessons from customers performing digital transformation with Azure
Practical lessons from customers performing digital transformation with AzurePractical lessons from customers performing digital transformation with Azure
Practical lessons from customers performing digital transformation with Azure
 
wls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdfwls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdf
 
Jakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu HauseJakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu Hause
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with Azure
 
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
Wars I’ve SeenFrom Java EE to Spring and more, Azure has you coveredWars I’ve SeenFrom Java EE to Spring and more, Azure has you covered
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
 
Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?
 
Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?Programming Language Platform Growth: Table Stakes or Deal Makes?
Programming Language Platform Growth: Table Stakes or Deal Makes?
 
Building a Serverless State Service for the Cloud
Building a Serverless State Service for the CloudBuilding a Serverless State Service for the Cloud
Building a Serverless State Service for the Cloud
 
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckServlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
 
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesJavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth Slides
 
Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013Best Practices for JSF, Gameduell 2013
Best Practices for JSF, Gameduell 2013
 
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEd presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
 
jsf2-composite-components
jsf2-composite-componentsjsf2-composite-components
jsf2-composite-components
 
JSF 2.2
JSF 2.2JSF 2.2
JSF 2.2
 

Kürzlich hochgeladen

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 

Kürzlich hochgeladen (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

JavaOne 2014 BOF4241 What's Next for JSF?

  • 1.
  • 2. What’s Next for JSF? BOF4241 Edward Burns Manfred Riem Java Community Process SpecificaGon Leads Java EE PlaJorm group Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 3. 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. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | M
  • 4. My Plan for Your Time Investment UI trends What does this mean for JSF? What about Java EE 8? Preserving your investment in JSF Q&A Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 1 2 3 4 5 E
  • 5. My Plan for Your Time Investment UI trends What does this mean for JSF? What about Java EE 8? Preserving your investment in JSF Q&A Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 1 2 3 4 5 E
  • 6. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | E
  • 7. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Mobile First Web Design • Mobile is now more important than desktop • What kind of app? – Mobile Web – NaGve App (Android, iOS, Windows) • Lots of help out there – twi`er bootstrap and its enablers E
  • 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | E DEPARTMENT OF STATE
  • 9. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | E
  • 10. MEAN Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | E
  • 11. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • MongoDB • ExpressJS • AngularJS • Node.js E
  • 12. Oracle’s Answer: Project Avatar Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | E
  • 13. What Does All This Mean for JSF? • Mobile – Use a mobile opGmized JSF component library Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • State – Design for statelessness • JavaScript – SGll held at arm’s length – A component level concern E
  • 14. What Does All This Mean for JSF? What about the MVC JSR? UI Component Oriented MVC Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | M
  • 15. What Does All This Mean for JSF? What about the MVC JSR? AcAon Oriented MVC Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | M
  • 16. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | What About the MVC JSR? Alignment between JSF and MVC • Facelets • Scopes – Flow – Flash – View Scope M
  • 17. Copyright © 2014, 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
  • 18. JSF 2.3 Small Scale New Features • End of the line for non-­‐CDI managed beans Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – 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 • MulG-­‐component validaGon M
  • 19. Community Corner JSF Expert Group Members Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – Ian Hlavats, Tarantula ConsulGng – Kito Mann, Virtua E
  • 20. Preserving Your Investment In JSF JSF 2.2 New Feature Recap Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 21. Copyright © 2014, 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. 1090 HTML5 Friendly Markup Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | The best part of Wicket comes to JSF • This is a JSF page <!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>! !
  • 23. 1090 HTML5 Friendly Markup Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Let the elegance of HTML shine through • 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.
  • 24. 1090 HTML5 Friendly Markup Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Let the elegance of HTML shine through • 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”
  • 25. 1142 Resource Library Contracts 730 Faces Flows Modularity and Multi-tenant capability Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Allow composing a JSF app as a collecGon of modules – Faces Flows modularize behavior – Resource Library Contracts modularize appearance • Well defined contract for each
  • 26. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Resource Library Contracts A Contract is Born contractA • Declared Templates • Declared Insertion Points • Declared Resources
  • 27. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Resource Library Contracts Loading ConvenGons <web-app-root>/contracts contractA contractB • Declared Templates • Declared Insertion contractC Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources
  • 28. JAR files in WEB-INF/lib contractE Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Resource Library Contracts Loading ConvenGons <web-app-root>/contracts contractA contractB • Declared Templates • Declared Insertion contractC Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources contractD • Declared Templates • Declared Insertion contractF Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources
  • 29. <web-app-root>/contracts contractB contractC JAR files in WEB-INF/lib faces-config.xml Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Resource Library Contracts Loading ConfiguraGon contractA • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources contractD contractE • Declared Templates • Declared Insertion contractF Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources • Declared Templates • Declared Insertion Points • Declared Resources Set of available contracts Facelet 1 <f:view contracts="contractA"> ... Facelet 2 Facelet 3
  • 30. Copyright © 2014, 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
  • 31. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Flow DefiniGon • Name of the flow • Where does the flow start? • Input values • OpGonal iniGalizer & finalizer
  • 32. 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 © 2014, Oracle and/or its affiliates. All rights reserved. |