SlideShare a Scribd company logo
1

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Markup Changes Push
Technologies and Resource
Library Contracts
Edward Burns
@edburns
http://slideshare.net/edburns/
Consulting Member of Staff, Oracle
Markup Changes Push
Technologies and Resource
Library Contracts
Edward Burns
@edburns
http://slideshare.net/edburns/
Consulting Member of Staff, Oracle
My plan for your time investment
 HTML5: Why all the fuss?
 What we tried to do with HTML5 in JSF 2.2

 Non HTML5 Interlude: Resource Library Contracts
 Push Technologies: EventSource and WebSocket

4

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Speaker Qualifications – Ed Burns
And non-qualifications
 Involved with JSF since 2002
 Spec lead since 2003
– Most fun part of the job: cleanly integrating other people’s great ideas into

JSF (and hopefully improving on the in the process)
– Not an expert in applying JSF in practice

 Author of four books for McGraw-Hill

5

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Speaker Qualifications – Ed Burns
Gaming credentials
 Classic Game Fan
 Collection
– Atari 2600 VCS, Intellivision, NES, Sega Master System, TI-99/4A

 Had David Crane autograph my Pitfall! and Pitfall II manuals
 Ran into Warren Robinett at SFO airport

 Maintain fan site for TI-99/4A Game Tunnels of Doom

http://ridingthecrest.com/edburns/classic-gaming/tunnels/

6

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
The following is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and should
not be relied upon in making purchasing decisions. The
development, release, and timing of any features or functionality described for
Oracle’s products remains at the sole discretion of Oracle.

7

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5
Why all the fuss?

More cute logos at
http://www.w3.org/html/logo/
8

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5
Why all the fuss?

PAST AND PRESENT
SERVER

9

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
10

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Classification
A Web App is a Distributed App
 Why?
– Multiple Computers
– Interconnections Between Them
– Shared State Among Them

 Today's production Web apps are extremely complex distributed

applications.

11

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Yeah, So What?

 Why does this classification matter?
– Because History Matters

 To understand the current state of web applications, we must go back

to the history of distributed applications, and of the Internet itself.

12

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
What Makes a Distributed App

 Finding the best allocation of processing tasks to processing nodes
– User Interface
– Domain Logic
– Application Logic
– Data Persistence
– Communication
– Reliability, Security

13

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
What Makes a Distributed App

 Finding the best allocation of processing tasks to processing nodes
– User Interface
– Domain Logic
– Application Logic
– Data Persistence
– Communication
– Reliability, Security

14

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
UI Considerations

 The UI is the hardest part to get right
 The technology for building the UI is changing very rapidly, and will

continue to change for the forseeable future
 The technology for the other aspects of application development is less
volatile, more mature.
 The major software stack and device vendors are competing on the
basis of their UI technology, as the gateway to the rest of their stack

15

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
16

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5
What’s in a name?
 Remember all the fuss about Ajax in 2006?
– Asynchronous
– JavaScript
– And
– XMLHttpRequest

17

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5
What’s in a name?
 Remember all the fuss about Ajax in 2006?
– Asynchronous
– JavaScript
– And
– XMLHttpRequest

 Ajax is a programming technique, not a single technology

18

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML4
What’s in a name?
 What do people mean when they say HTML4?
– IE6
– Not very high performance JavaScript
– Lots of browser tricks
– Use of native plugins is common

 HTML4 is seen as a single technology

19

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5
What’s in a name?
 What do people mean when they say HTML5?
– “Modern” browsers
– A gigantic collection of related technologies
 Canvas
 Markup
 Input controls
 Offline storage
 Web components
 EventSource
 Application Cache
 DOM
 WebSocket
 JavaScript
 JSON
 CSS3
20

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

 Geolocation
 XMLHttpRequest Level 2
HTML5
Is it really a big deal?
 The rise of Chrome and the end of polyfill
 Standards have finally won
– How good is your standards body?
 W3C, ECMA, IETF

– HTML5: Microsoft, Google, Apple, what about Mozilla?

 Aside:
– Is HTML5 a bloated specification?

– Is JavaEE a bloated specification?
– What is bloat? A indicator of how old something is.
– http://mir.aculo.us/2010/10/19/standards-bloat-and-html5/
21

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5
Is it really a big deal?
 The death of the browser plugin: April 2010

http://www.apple.com/hotnews/thoughts-on-flash/
 Where does the tension remain?
– Take advantage of the power in the client
– Minimize the complexity of distributing and maintaining the software

22

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5
Putting it in context
 HTML5 is a marketing term that describes a way of building the UI for a

distributed system.
– UI processing task resides entirely in the browser

23

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5
Putting it in context
 For JSF 2.2, HTML5 means just the markup piece
 For JavaEE7 it means WebSocket and JSON

24

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
JSF 2.2 HTML 5 Friendly
Markup

25

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
New to JSF?
This is only a small part of JSF
 It’s even just a small part of what’s new in JSF 2.2.
 If you’re new to JSF, start by looking at JSF 2.0.
 That’s the most recent big blockbuster release.

26

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
JCP is an open process

JSF is an Open
Standard
27

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
What we tried to do with HTML5 in JSF 2.2
Same thing we do with every other new thing that comes along
 Integrate the new thing while staying true to our core strengths.
 Two high level areas of integration
– DOCTYPE: html5 doctype is the default
– Markup changes
 “get your hands off my markup”
 Page developer vs. Web Developer

28

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
DOCTYPE
 <facelets-processing> element

<faces-config-extension>
<facelets-processing>
<file-extension>.xhtml</file-extension>
<process-as>html5</process-as>
</facelets-processing>
</faces-config-extension>

29

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
DOCTYPE

30

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
Just Passing Through

Bullet Through Jack, 1964
© Dr Harold Edgerton
31

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
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>

32

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
Let’s get back to basics
 JSF Views are written in a View Declaration Language (VDL).
 The standard Facelet VDL is an XML application with two kinds of

elements
– HTML Markup
– JSF Components

 HTML Markup is passed through straight to the browser
 JSF Components take some action on the server, during the lifecycle

33

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
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.
34

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
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”
35

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
Pass Through Attributes
 HTML5 users need data-* attributes (and other non-standard

attributes)
 Two styles
– nested attribute
– namespaced attribute

36

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
Pass Through Attributes: nested attribute
<h:outputText value="Simple outputText">
<f:passThroughAttributes value="#{bean.passThroughAttrs}" />

</h:outputText>

 #{bean.passThroughAttrs} is assumed to be a map
 Each entry in the map is output as a name=“value” pair on the

enclosing element.

37

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
Pass Through Attributes: nested attribute
<h:outputText value="Simple outputText">
<f:passThroughAttribute name=“data-required”
value=”true" />
</h:outputText>

 Attribute data-required=“true” rendered on markup of enclosing

component.

38

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
Pass Through Attributes: namespaced attribute
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough">
<h:form>
<h:inputText id="email" value="#{personPage.selectedPerson.email}"

pt:type="email" pt:placeholder="Enter email">
</h:inputText>
</h:form>
</html>

39

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
Pass Through Attributes: nested attribute
 Attributes type=“email” placeholder=“Enter email” rendered on markup

of enclosing component

40

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
HTML5 Friendly Markup
Let the elegance of HTML shine through
 DEMO

41

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Non-HTML5 Interlude
Resource Library Contracts

42

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Resource Library Contracts
Facelets Review

T e Facelets Gazet e
<ui:define name="headline">
Today's News
</ui:define>

_template.html
Sit

N avigat on
●

Events

●

D ocs

●

Forums

<ui:define name="story">
Facelets is now a part
of JSF 2.0...
</ui:define>

About Contact Sit M ap

43

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

template client
greeting.html
Resource Library Contracts
Facelets Review

T e Facelets Gazet e

Insertion points

Template File name

Sit

_template.html

N avigat on
●

Events

●

D ocs

●

Forums

About Contact Sit M ap

Resources
css classes, scripts, images

44

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Resource Library Contracts
A Contract is Born

contractA
• Declared Templates
• Declared Insertion Points
• Declared Resources

45

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Resource Library Contracts
Loading Conventions

<web-app-root>/contracts
contractA
contractB
• Declared Templates
• Declared Insertion Points
contractC
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Resources

46

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Resource Library Contracts
Loading Conventions

<web-app-root>/contracts
contractA
contractB
• Declared Templates
• Declared Insertion Points
contractC
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Resources

47

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

JAR files in WEB-INF/lib
contractD
contractE
• Declared Templates
• Declared Insertion Points
contractF
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Resources
Resource Library Contracts
Loading Conventions

<web-app-root>/contracts
contractA

JAR files in WEB-INF/lib
contractD

contractB
• Declared Templates
• Declared Insertion Points
contractC
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Resources

contractE
• Declared Templates
• Declared Insertion Points
contractF
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Resources

Set of available contracts

48

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Resource Library Contracts
Loading Conventions

<web-app-root>/contracts

JAR files in WEB-INF/lib

contractA

contractD

contractB
• Declared Templates
• Declared Insertion Points
contractC
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Resources

contractE
• Declared Templates
• Declared Insertion Points
contractF
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Resources

Set of available contracts

Facelet 1

49

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Facelet 2

Facelet 3
Resource Library Contracts
Loading Configuration

JAR files in WEB-INF/lib

<web-app-root>/contracts
contractA

contractD

contractB
• Declared Templates
• Declared Insertion Points
contractC
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Resources

contractE
• Declared Templates
• Declared Insertion Points
contractF
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Resources

Set of available contracts

faces-config.xml

Facelet 1

50

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Facelet 2

Facelet 3
Resource Library Contracts
Loading Configuration

JAR files in WEB-INF/lib

<web-app-root>/contracts
contractA

contractD

contractB
• Declared Templates
• Declared Insertion Points
contractC
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Resources

contractE
• Declared Templates
• Declared Insertion Points
contractF
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Templates
• Declared Resources
• Declared Insertion Points
• Declared Resources

Set of available contracts

faces-config.xml

Facelet 1
<f:view contracts="contractA">
...

51

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Facelet 2

Facelet 3
HTML5 Push Technologies
EventSource and WebSocket

52

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
EventSource (aka SSE) vs. WebSocket
Keep in touch
 What’s the difference between SSE and WebSockets?
– WebSocket allows full duplex, SSE does not
– WebSocket has an IETF protocol in the middle, SSE does not
– Both interact with JavaScript via a W3C Standard API
– Both allow the server to update the client
– Both run over HTTP(s) proxy really well
– EventSource not supported on IE at all (there is a polyfill)

53

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
EventSource and JSF
Stock Ticker
 DEMO

54

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
WebSocket and JSF
CANVAS matrix
 DEMO

55

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Questions?

Ed Burns
@edburns

56

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
The preceding is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and should
not be relied upon in making purchasing decisions. The development, release,
and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.

57

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
58

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

More Related Content

What's hot

JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
Wolfgang Weigend
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11
Wolfgang Weigend
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
Mert Çalışkan
 
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Hirofumi Iwasaki
 
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
Rakuten Group, Inc.
 
2015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.02015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.0
mnriem
 
JSF 2.2 Status at DOAG 2011
JSF 2.2 Status at DOAG 2011JSF 2.2 Status at DOAG 2011
JSF 2.2 Status at DOAG 2011Edward Burns
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
Wolfgang Weigend
 
MySQL Connector/J Feature Review and How to Upgrade from Connector/J 5.1
MySQL Connector/J Feature Review and How to Upgrade from Connector/J 5.1MySQL Connector/J Feature Review and How to Upgrade from Connector/J 5.1
MySQL Connector/J Feature Review and How to Upgrade from Connector/J 5.1
Filipe Silva
 
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
Chris Muir
 
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)
Stephen Chin
 
Jetspeed-2 Overview
Jetspeed-2 OverviewJetspeed-2 Overview
Jetspeed-2 Overview
bettlebrox
 
GlassFish BOF
GlassFish BOFGlassFish BOF
GlassFish BOF
glassfish
 
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
Fred Rowe
 
JavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkJavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring Framework
Stephen Chin
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module System
Wolfgang Weigend
 
Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...
Hirofumi Iwasaki
 
Designing JEE Application Structure
Designing JEE Application StructureDesigning JEE Application Structure
Designing JEE Application Structure
odedns
 
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
 

What's hot (20)

JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
 
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
 
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
 
2015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.02015 JavaOne LAD JSF 2.3 & MVC 1.0
2015 JavaOne LAD JSF 2.3 & MVC 1.0
 
JSF 2.2 Status at DOAG 2011
JSF 2.2 Status at DOAG 2011JSF 2.2 Status at DOAG 2011
JSF 2.2 Status at DOAG 2011
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
 
MySQL Connector/J Feature Review and How to Upgrade from Connector/J 5.1
MySQL Connector/J Feature Review and How to Upgrade from Connector/J 5.1MySQL Connector/J Feature Review and How to Upgrade from Connector/J 5.1
MySQL Connector/J Feature Review and How to Upgrade from Connector/J 5.1
 
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
 
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)
JavaFX 2 - A Java Developer's Guide (San Antonio JUG Version)
 
Jetspeed-2 Overview
Jetspeed-2 OverviewJetspeed-2 Overview
Jetspeed-2 Overview
 
GlassFish BOF
GlassFish BOFGlassFish BOF
GlassFish BOF
 
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
JSR 236 Concurrency Utils for EE presentation for JavaOne 2013 (CON7948)
 
JavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring FrameworkJavaFX 2 Using the Spring Framework
JavaFX 2 Using the Spring Framework
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module System
 
Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Designing JEE Application Structure
Designing JEE Application StructureDesigning JEE Application Structure
Designing JEE Application Structure
 
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
 

Similar to Ed presents JSF 2.2 at a 2013 Gameduell Tech talk

Oracle Management Cloud - HybridCloud Café - May 2016
Oracle Management Cloud - HybridCloud Café - May 2016Oracle Management Cloud - HybridCloud Café - May 2016
Oracle Management Cloud - HybridCloud Café - May 2016
Bastien Leblanc
 
Oracle Cloud Café hybrid Cloud 19 mai 2016
Oracle Cloud Café hybrid Cloud 19 mai 2016Oracle Cloud Café hybrid Cloud 19 mai 2016
Oracle Cloud Café hybrid Cloud 19 mai 2016
Sorathaya Sirimanotham
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript
Geertjan Wielenga
 
Best Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXBBest Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXB
Martin Grebac
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
masuland
 
GlassFish in Production Environments
GlassFish in Production EnvironmentsGlassFish in Production Environments
GlassFish in Production Environments
Bruno Borges
 
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 201310 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013Martin Fousek
 
Imworld.ro
Imworld.roImworld.ro
Imworld.ro
Geertjan Wielenga
 
Session at Oredev 2016.
Session at Oredev 2016.Session at Oredev 2016.
Session at Oredev 2016.
Geertjan Wielenga
 
Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013
Chris Muir
 
Slovenian Oracle User Group
Slovenian Oracle User GroupSlovenian Oracle User Group
Slovenian Oracle User Group
Geertjan Wielenga
 
O Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no JavaO Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no Java
Bruno Borges
 
Sewtz apex ui
Sewtz apex uiSewtz apex ui
Sewtz apex ui
Mohamedcpcbma
 
The New Database Frontier: Harnessing the Cloud
The New Database Frontier: Harnessing the CloudThe New Database Frontier: Harnessing the Cloud
The New Database Frontier: Harnessing the Cloud
Inside Analysis
 
Oracle Plug-in For Open ModelSphere
Oracle Plug-in For Open ModelSphereOracle Plug-in For Open ModelSphere
Oracle Plug-in For Open ModelSphere
modelspherepro
 
206590 mobilizing your primavera workforce
206590 mobilizing your primavera workforce206590 mobilizing your primavera workforce
206590 mobilizing your primavera workforce
p6academy
 
JavaScript: Why Should I Care?
JavaScript: Why Should I Care?JavaScript: Why Should I Care?
JavaScript: Why Should I Care?
Daniel McGhan
 
Presentation oracle exalogic elastic cloud
Presentation   oracle exalogic elastic cloudPresentation   oracle exalogic elastic cloud
Presentation oracle exalogic elastic cloud
solarisyougood
 
Foundation for optimized data center & private cloud
Foundation for optimized data center & private cloudFoundation for optimized data center & private cloud
Foundation for optimized data center & private cloud
JS Park
 

Similar to Ed presents JSF 2.2 at a 2013 Gameduell Tech talk (20)

Oracle Management Cloud - HybridCloud Café - May 2016
Oracle Management Cloud - HybridCloud Café - May 2016Oracle Management Cloud - HybridCloud Café - May 2016
Oracle Management Cloud - HybridCloud Café - May 2016
 
Oracle Cloud Café hybrid Cloud 19 mai 2016
Oracle Cloud Café hybrid Cloud 19 mai 2016Oracle Cloud Café hybrid Cloud 19 mai 2016
Oracle Cloud Café hybrid Cloud 19 mai 2016
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript
 
Best Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXBBest Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXB
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
GlassFish in Production Environments
GlassFish in Production EnvironmentsGlassFish in Production Environments
GlassFish in Production Environments
 
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 201310 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
 
Imworld.ro
Imworld.roImworld.ro
Imworld.ro
 
Session at Oredev 2016.
Session at Oredev 2016.Session at Oredev 2016.
Session at Oredev 2016.
 
Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013
 
Slovenian Oracle User Group
Slovenian Oracle User GroupSlovenian Oracle User Group
Slovenian Oracle User Group
 
Oracle 360
Oracle 360Oracle 360
Oracle 360
 
O Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no JavaO Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no Java
 
Sewtz apex ui
Sewtz apex uiSewtz apex ui
Sewtz apex ui
 
The New Database Frontier: Harnessing the Cloud
The New Database Frontier: Harnessing the CloudThe New Database Frontier: Harnessing the Cloud
The New Database Frontier: Harnessing the Cloud
 
Oracle Plug-in For Open ModelSphere
Oracle Plug-in For Open ModelSphereOracle Plug-in For Open ModelSphere
Oracle Plug-in For Open ModelSphere
 
206590 mobilizing your primavera workforce
206590 mobilizing your primavera workforce206590 mobilizing your primavera workforce
206590 mobilizing your primavera workforce
 
JavaScript: Why Should I Care?
JavaScript: Why Should I Care?JavaScript: Why Should I Care?
JavaScript: Why Should I Care?
 
Presentation oracle exalogic elastic cloud
Presentation   oracle exalogic elastic cloudPresentation   oracle exalogic elastic cloud
Presentation oracle exalogic elastic cloud
 
Foundation for optimized data center & private cloud
Foundation for optimized data center & private cloudFoundation for optimized data center & private cloud
Foundation for optimized data center & private cloud
 

More from Edward Burns

DevTalks Romania: Prepare for Jakarta EE 11
DevTalks Romania: Prepare for Jakarta EE 11DevTalks Romania: Prepare for Jakarta EE 11
DevTalks Romania: Prepare for Jakarta EE 11
Edward Burns
 
Developer Career Masterplan
Developer Career MasterplanDeveloper Career Masterplan
Developer Career Masterplan
Edward Burns
 
Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​Jakarta EE 11 Status Update​
Jakarta EE 11 Status Update​
Edward Burns
 
Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!Sponsored Session: Please touch that dial!
Sponsored Session: Please touch that dial!
Edward Burns
 
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
Edward Burns
 
Wie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztWie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE Nutzt
Edward Burns
 
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
Edward Burns
 
wls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdfwls-azure-devnexus-2022.pdf
wls-azure-devnexus-2022.pdf
Edward Burns
 
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
Edward Burns
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with Azure
Edward Burns
 
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
Edward Burns
 
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...
Edward Burns
 
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?
Edward Burns
 
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?
Edward Burns
 
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
Edward Burns
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
Edward Burns
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
Edward Burns
 
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
Edward Burns
 
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
Edward Burns
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?
Edward Burns
 

More from Edward Burns (20)

DevTalks Romania: Prepare for Jakarta EE 11
DevTalks Romania: Prepare for Jakarta EE 11DevTalks Romania: Prepare for Jakarta EE 11
DevTalks Romania: Prepare for Jakarta EE 11
 
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 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
 
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
 
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 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?
 

Recently uploaded

SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 

Recently uploaded (20)

SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 

Ed presents JSF 2.2 at a 2013 Gameduell Tech talk

  • 1. 1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 2. Markup Changes Push Technologies and Resource Library Contracts Edward Burns @edburns http://slideshare.net/edburns/ Consulting Member of Staff, Oracle
  • 3. Markup Changes Push Technologies and Resource Library Contracts Edward Burns @edburns http://slideshare.net/edburns/ Consulting Member of Staff, Oracle
  • 4. My plan for your time investment  HTML5: Why all the fuss?  What we tried to do with HTML5 in JSF 2.2  Non HTML5 Interlude: Resource Library Contracts  Push Technologies: EventSource and WebSocket 4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 5. Speaker Qualifications – Ed Burns And non-qualifications  Involved with JSF since 2002  Spec lead since 2003 – Most fun part of the job: cleanly integrating other people’s great ideas into JSF (and hopefully improving on the in the process) – Not an expert in applying JSF in practice  Author of four books for McGraw-Hill 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 6. Speaker Qualifications – Ed Burns Gaming credentials  Classic Game Fan  Collection – Atari 2600 VCS, Intellivision, NES, Sega Master System, TI-99/4A  Had David Crane autograph my Pitfall! and Pitfall II manuals  Ran into Warren Robinett at SFO airport  Maintain fan site for TI-99/4A Game Tunnels of Doom http://ridingthecrest.com/edburns/classic-gaming/tunnels/ 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 7. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 8. HTML5 Why all the fuss? More cute logos at http://www.w3.org/html/logo/ 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 9. HTML5 Why all the fuss? PAST AND PRESENT SERVER 9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 10. 10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 11. Classification A Web App is a Distributed App  Why? – Multiple Computers – Interconnections Between Them – Shared State Among Them  Today's production Web apps are extremely complex distributed applications. 11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 12. Yeah, So What?  Why does this classification matter? – Because History Matters  To understand the current state of web applications, we must go back to the history of distributed applications, and of the Internet itself. 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 13. What Makes a Distributed App  Finding the best allocation of processing tasks to processing nodes – User Interface – Domain Logic – Application Logic – Data Persistence – Communication – Reliability, Security 13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 14. What Makes a Distributed App  Finding the best allocation of processing tasks to processing nodes – User Interface – Domain Logic – Application Logic – Data Persistence – Communication – Reliability, Security 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 15. UI Considerations  The UI is the hardest part to get right  The technology for building the UI is changing very rapidly, and will continue to change for the forseeable future  The technology for the other aspects of application development is less volatile, more mature.  The major software stack and device vendors are competing on the basis of their UI technology, as the gateway to the rest of their stack 15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 16. 16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 17. HTML5 What’s in a name?  Remember all the fuss about Ajax in 2006? – Asynchronous – JavaScript – And – XMLHttpRequest 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 18. HTML5 What’s in a name?  Remember all the fuss about Ajax in 2006? – Asynchronous – JavaScript – And – XMLHttpRequest  Ajax is a programming technique, not a single technology 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 19. HTML4 What’s in a name?  What do people mean when they say HTML4? – IE6 – Not very high performance JavaScript – Lots of browser tricks – Use of native plugins is common  HTML4 is seen as a single technology 19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 20. HTML5 What’s in a name?  What do people mean when they say HTML5? – “Modern” browsers – A gigantic collection of related technologies  Canvas  Markup  Input controls  Offline storage  Web components  EventSource  Application Cache  DOM  WebSocket  JavaScript  JSON  CSS3 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.  Geolocation  XMLHttpRequest Level 2
  • 21. HTML5 Is it really a big deal?  The rise of Chrome and the end of polyfill  Standards have finally won – How good is your standards body?  W3C, ECMA, IETF – HTML5: Microsoft, Google, Apple, what about Mozilla?  Aside: – Is HTML5 a bloated specification? – Is JavaEE a bloated specification? – What is bloat? A indicator of how old something is. – http://mir.aculo.us/2010/10/19/standards-bloat-and-html5/ 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 22. HTML5 Is it really a big deal?  The death of the browser plugin: April 2010 http://www.apple.com/hotnews/thoughts-on-flash/  Where does the tension remain? – Take advantage of the power in the client – Minimize the complexity of distributing and maintaining the software 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 23. HTML5 Putting it in context  HTML5 is a marketing term that describes a way of building the UI for a distributed system. – UI processing task resides entirely in the browser 23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 24. HTML5 Putting it in context  For JSF 2.2, HTML5 means just the markup piece  For JavaEE7 it means WebSocket and JSON 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 25. JSF 2.2 HTML 5 Friendly Markup 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 26. New to JSF? This is only a small part of JSF  It’s even just a small part of what’s new in JSF 2.2.  If you’re new to JSF, start by looking at JSF 2.0.  That’s the most recent big blockbuster release. 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 27. JCP is an open process JSF is an Open Standard 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 28. What we tried to do with HTML5 in JSF 2.2 Same thing we do with every other new thing that comes along  Integrate the new thing while staying true to our core strengths.  Two high level areas of integration – DOCTYPE: html5 doctype is the default – Markup changes  “get your hands off my markup”  Page developer vs. Web Developer 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 29. HTML5 Friendly Markup DOCTYPE  <facelets-processing> element <faces-config-extension> <facelets-processing> <file-extension>.xhtml</file-extension> <process-as>html5</process-as> </facelets-processing> </faces-config-extension> 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 30. HTML5 Friendly Markup DOCTYPE 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 31. HTML5 Friendly Markup Just Passing Through Bullet Through Jack, 1964 © Dr Harold Edgerton 31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 32. HTML5 Friendly Markup 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> 32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 33. HTML5 Friendly Markup Let’s get back to basics  JSF Views are written in a View Declaration Language (VDL).  The standard Facelet VDL is an XML application with two kinds of elements – HTML Markup – JSF Components  HTML Markup is passed through straight to the browser  JSF Components take some action on the server, during the lifecycle 33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 34. HTML5 Friendly Markup 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. 34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 35. HTML5 Friendly Markup 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” 35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 36. HTML5 Friendly Markup Pass Through Attributes  HTML5 users need data-* attributes (and other non-standard attributes)  Two styles – nested attribute – namespaced attribute 36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 37. HTML5 Friendly Markup Pass Through Attributes: nested attribute <h:outputText value="Simple outputText"> <f:passThroughAttributes value="#{bean.passThroughAttrs}" /> </h:outputText>  #{bean.passThroughAttrs} is assumed to be a map  Each entry in the map is output as a name=“value” pair on the enclosing element. 37 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 38. HTML5 Friendly Markup Pass Through Attributes: nested attribute <h:outputText value="Simple outputText"> <f:passThroughAttribute name=“data-required” value=”true" /> </h:outputText>  Attribute data-required=“true” rendered on markup of enclosing component. 38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 39. HTML5 Friendly Markup Pass Through Attributes: namespaced attribute <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"> <h:form> <h:inputText id="email" value="#{personPage.selectedPerson.email}" pt:type="email" pt:placeholder="Enter email"> </h:inputText> </h:form> </html> 39 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 40. HTML5 Friendly Markup Pass Through Attributes: nested attribute  Attributes type=“email” placeholder=“Enter email” rendered on markup of enclosing component 40 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 41. HTML5 Friendly Markup Let the elegance of HTML shine through  DEMO 41 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 42. Non-HTML5 Interlude Resource Library Contracts 42 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 43. Resource Library Contracts Facelets Review T e Facelets Gazet e <ui:define name="headline"> Today's News </ui:define> _template.html Sit N avigat on ● Events ● D ocs ● Forums <ui:define name="story"> Facelets is now a part of JSF 2.0... </ui:define> About Contact Sit M ap 43 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. template client greeting.html
  • 44. Resource Library Contracts Facelets Review T e Facelets Gazet e Insertion points Template File name Sit _template.html N avigat on ● Events ● D ocs ● Forums About Contact Sit M ap Resources css classes, scripts, images 44 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 45. Resource Library Contracts A Contract is Born contractA • Declared Templates • Declared Insertion Points • Declared Resources 45 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 46. Resource Library Contracts Loading Conventions <web-app-root>/contracts contractA contractB • Declared Templates • Declared Insertion Points contractC • Declared Templates • Declared Resources • Declared Insertion Points • Declared Templates • Declared Resources • Declared Insertion Points • Declared Resources 46 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 47. Resource Library Contracts Loading Conventions <web-app-root>/contracts contractA contractB • Declared Templates • Declared Insertion Points contractC • Declared Templates • Declared Resources • Declared Insertion Points • Declared Templates • Declared Resources • Declared Insertion Points • Declared Resources 47 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. JAR files in WEB-INF/lib contractD contractE • Declared Templates • Declared Insertion Points contractF • Declared Templates • Declared Resources • Declared Insertion Points • Declared Templates • Declared Resources • Declared Insertion Points • Declared Resources
  • 48. Resource Library Contracts Loading Conventions <web-app-root>/contracts contractA JAR files in WEB-INF/lib contractD contractB • Declared Templates • Declared Insertion Points contractC • Declared Templates • Declared Resources • Declared Insertion Points • Declared Templates • Declared Resources • Declared Insertion Points • Declared Resources contractE • Declared Templates • Declared Insertion Points contractF • Declared Templates • Declared Resources • Declared Insertion Points • Declared Templates • Declared Resources • Declared Insertion Points • Declared Resources Set of available contracts 48 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 49. Resource Library Contracts Loading Conventions <web-app-root>/contracts JAR files in WEB-INF/lib contractA contractD contractB • Declared Templates • Declared Insertion Points contractC • Declared Templates • Declared Resources • Declared Insertion Points • Declared Templates • Declared Resources • Declared Insertion Points • Declared Resources contractE • Declared Templates • Declared Insertion Points contractF • Declared Templates • Declared Resources • Declared Insertion Points • Declared Templates • Declared Resources • Declared Insertion Points • Declared Resources Set of available contracts Facelet 1 49 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Facelet 2 Facelet 3
  • 50. Resource Library Contracts Loading Configuration JAR files in WEB-INF/lib <web-app-root>/contracts contractA contractD contractB • Declared Templates • Declared Insertion Points contractC • Declared Templates • Declared Resources • Declared Insertion Points • Declared Templates • Declared Resources • Declared Insertion Points • Declared Resources contractE • Declared Templates • Declared Insertion Points contractF • Declared Templates • Declared Resources • Declared Insertion Points • Declared Templates • Declared Resources • Declared Insertion Points • Declared Resources Set of available contracts faces-config.xml Facelet 1 50 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Facelet 2 Facelet 3
  • 51. Resource Library Contracts Loading Configuration JAR files in WEB-INF/lib <web-app-root>/contracts contractA contractD contractB • Declared Templates • Declared Insertion Points contractC • Declared Templates • Declared Resources • Declared Insertion Points • Declared Templates • Declared Resources • Declared Insertion Points • Declared Resources contractE • Declared Templates • Declared Insertion Points contractF • Declared Templates • Declared Resources • Declared Insertion Points • Declared Templates • Declared Resources • Declared Insertion Points • Declared Resources Set of available contracts faces-config.xml Facelet 1 <f:view contracts="contractA"> ... 51 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Facelet 2 Facelet 3
  • 52. HTML5 Push Technologies EventSource and WebSocket 52 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 53. EventSource (aka SSE) vs. WebSocket Keep in touch  What’s the difference between SSE and WebSockets? – WebSocket allows full duplex, SSE does not – WebSocket has an IETF protocol in the middle, SSE does not – Both interact with JavaScript via a W3C Standard API – Both allow the server to update the client – Both run over HTTP(s) proxy really well – EventSource not supported on IE at all (there is a polyfill) 53 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 54. EventSource and JSF Stock Ticker  DEMO 54 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 55. WebSocket and JSF CANVAS matrix  DEMO 55 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 56. Questions? Ed Burns @edburns 56 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 57. The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 57 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 58. 58 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Editor's Notes

  1. You have to have a cute logo to promote your technology
  2. Nothing is ever so simple. In the real world we’re going to see all of the present technologies existing together along side new ones.
  3. But the UI is special, and I want to tell you why.
  4. Now we come back to HTML5.
  5. Now we come back to HTML5.
  6. Now we come back to HTML5.
  7. HTML5 is a programming technique, with lots of specific technologies behind it.
  8. So, yes, there is a lot of fuss, but is it worth it?
  9. There is the old Vendor Lock-in again.