SlideShare a Scribd company logo
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Java EE 8 - Work in Progress
David Delabassee
@delabassee
Oracle Corporation
JJUG CCC 2015 Fall
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Safe Harbor Statement
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.
2
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Program Agenda
Quick recap of goals and themes of Java EE 8
What we have accomplished
How you can get involved
1
2
3
3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Industry Trends
Cloud
4
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Java EE 8 – Driven by Community Feedback
http://glassfish.org/survey
5
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Java EE 8 Themes
• HTML5 / Web Tier Enhancements
• Ease of Development
• Infrastructure for running in the Cloud
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
HTML5 Support / Web Tier Enhancements
• JSON Binding
• JSON Processing enhancements
• Server-sent events
• Action-based MVC
• HTTP/2 support
7
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
JSON-B 1.0
• API to marshal/unmarshal Java objects to/from JSON
– Similar to JAXB runtime API in XML world
• Draw from best practices of existing JSON binding implementations
– MOXy, Jackson, GSON, Genson, Xstream, …
– Allow switch of JSON binding providers
• Default mapping of classes to JSON
– Annotations to customize the default mappings
– JsonbProperty, JsonbTransient, JsonbNillable, JsonbValue, …
Java API for JSON Binding
8
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
JSON-B 1.0
@Entity public class Person {
@Id String name;
String gender;
@ElementCollection Map<String,String> phones;
... // getters and setters
}
Person duke = new Person();
duke.setName("Duke");
duke.setGender("M");
phones = new HashMap<String,String>();
phones.put("home", "650-123-4567");
phones.put("mobile", "650-234-5678");
duke.setPhones(phones);
Jsonb jsonb = JsonbBuilder.create();
String person = jsonb.toJson(duke);
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-234-5678"}
}
9
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
JSON-P 1.1
• Keep JSON-P spec up-to-date
• Track new standards
• Add editing operations to JsonObject and JsonArray
• Helper classes and methods to better utilize SE 8’s stream operations
Java API for JSON Processing
10
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
JSON-P 1.1
• JSON-Pointer – IETF RFC 6901
– String syntax for referencing a value
"/0/phones/mobile"
Tracking new standards
11
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
JSON-P 1.1
JsonArray contacts = ...;
JsonPointer p =
new JsonPointer("/0/phones/mobile");
JsonValue v = p.getValue(contacts);
[
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-234-5678"}},
{
"name":"Jane",
"gender":"F",
"phones":{
"mobile":"707-555-9999"}}
]
12
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
JSON-P 1.1
JsonArray contacts = ...;
JsonPointer p =
new JsonPointer("/0/phones/mobile");
JsonArray newContacts =
p.replace(contacts, "650-555-1234");
[
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-234-5678"}},
{
"name":"Jane",
"gender":"F",
"phones":{
"mobile":"707-555-9999"}}
]
13
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
JSON-P 1.1
JsonArray contacts = ...;
JsonPointer p =
new JsonPointer("/0/phones/mobile");
JsonArray newContacts =
p.replace(contacts, "650-555-1234");
[
{
"name":"Duke",
"gender":"M",
"phones":{
"home":"650-123-4567",
"mobile":"650-555-1234"}},
{
"name":"Jane",
"gender":"F",
"phones":{
"mobile":"707-555-9999"}}
]
14
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
JSON-P 1.1
• JSON-Patch – IETF RFC 6902
• Patch is a JSON document
– Array of objects / operations for modifying a JSON document
– add, replace, remove, move, copy, test
– Must have "op" field and "path" field
[
{"op":"replace", "path":"/0/phones/mobile", "value":"650-111-2222"},
{"op":"remove", "path":"/1"}
]
Tracking new standards
15
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
JSON-P 1.1
JSON Query using Streams API
JsonArray contacts = ...;
List<String> femaleNames = contacts.getValuesAs(JsonObject.class).stream()
.filter(x->"F".equals(x.getString("gender")))
.map(x->(x.getString("name"))
.collect(Collectors.toList());
JsonArray femaleNames = contacts.getValuesAs(JsonObject.class).stream()
.filter(x->"F".equals(x.getString("gender")))
.map(x->(x.getString("name"))
.collect(JsonCollectors.toJsonArray());
16
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Server-sent Events
• Part of HTML5 standardization
• Server-to-client streaming of text data
• Mime type is text/event-stream
• Long-lived HTTP connection
– Client establishes connection
– Server pushes update notifications to client
– Commonly used for one-way transmission for period updates or updates due to
events
17
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Server-sent Events
• JAX-RS a natural fit
– Streaming HTTP resources already supported
– Small extension
• Server API: new media type; EventOutput
• Client API: new handler for server side events
– Convenience of mixing with other HTTP operations; new media type
– Jersey (JAX-RS RI) already supports SSE
18
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Server-sent Events
@Path("tickers")
public class StockTicker {
@Get
@Produces("text/event-stream")
public EventOutput getQuotes() {
EventOutput eo = new EventOutput();
new StockThread(eo).start();
return eo;
}
}
JAX-RS resource class
19
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Server-sent Events
JAX-RS StockThread class
class StockThread extends Thread {
private EventOutput eo;
private AtomicBoolean ab =
new AtomicBoolean(true);
public StockThread(EventOutput eo) {
this.eo = eo;
}
public void terminate() {
ab.set(false);
}
@Override
public void run() {
while (ab.get()) {
try {
// ...
eo.send(new StockQuote("..."));
// ...
} catch (IOException e) {
// ...
}
}
}
}
20
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Server-sent Events
WebTarget target = client.target("http://example.com/tickers");
EventSource eventSource = new EventSource(target) {
@Override
public void onEvent(InboundEvent inboundEvent) {
StockQuote sq = inboundEvent.readData(StockQuote.class);
// ...
}
};
eventSource.open();
JAX-RS Client
21
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Model View Controller (MVC)
• Component-based MVC
– Controller provided by the framework
– JSF, Wicket, Tapestry…
• Action-based MVC
– Controllers defined by the application
– Struts 2, Spring MVC…
2 Styles
22
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
MVC 1.0
• Action-based model-view-controller architecture
• Glues together key Java EE technologies:
– Model
• CDI, Bean Validation, JPA
– View
• Facelets, JSP
– Controller
• JAX-RS resource methods
23
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
MVC 1.0
@Path("hello")
public class HelloController {
@Inject
private Greeting greeting;
@GET
@Controller
public String hello() {
greeting.setMessage("Hello Tokyo!");
return "hello.jsp";
}
}
Model Controller
@Named
@RequestScoped
public class Greeting {
private String message;
public String getMessage() {
return message;
}
public void setMessage(message) {
this.message = message;
}
}
24
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
MVC 1.0
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello</title>
</head>
<body>
<h1>${greeting.message}</h1>
</body>
</html>
View
25
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
HTTP/2
• HTTP 1.1 uses TCP poorly
– HTTP flows are short and bursty
– TCP was built for long-lived flows
• Workarounds
– Sprites
– Domain sharding
– Inlining
– File concatenation
Address the Limitations of HTTP 1.x
26
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
HTTP/2
HTTP/2 Goals
• Reduce latency
• Address the HOL blocking problem
• Support parallelism (without requiring multiple connections)
• Define interaction with HTTP 1.x
• Retain semantics of HTTP 1.1
Address the Limitations of HTTP 1.x
27
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
HTTP/2
• Binary Framing
• Request/Response multiplexing over single connection
– Fully bidirectional
– Multiple streams
• Server Push
• Header Compression
• Upgrade from HTTP 1.1
• Stream Prioritization
Features
28
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Servlet 4.0
• Binary Framing
• Request/Response multiplexing
– Servlet Request as HTTP/2 message
• Upgrade from HTTP 1.1
• Server Push
• Stream prioritization
HTTP/2 Features in Servlet API
29
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Ease of Development
• CDI alignment
• Security interceptors
• Simplified messaging with JMS message-driven beans
• JAX-RS injection alignment
• WebSocket scopes
• Pruning of EJB 2.x client view and IIOP interoperability
30
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Java EE Security 1.0
@IsAuthorized("hasRoles('Manager') && schedule.officeHrs")
void transferFunds()
@IsAuthorized("hasRoles('Manager') && hasAttribute('directReports', employee.id)")
double getSalary(long employeeId);
@IsAuthorized(ruleSourceName="java:app/payrollAuthRules", rule="report")
void displayReport();
Authorization via CDI Interceptors
31
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
JMS 2.1
• Continue the ease-of-use improvements started in JMS 2.0
• Improve the API for receiving messages asynchronously
– Improve JMS MDBs
– Provide alternative to JMS MDBs
New API to receive messages asynchronously
32
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
CDI 2.0
• Modularity
• Java SE support
• Asynchronous Events
• Event ordering
• …
33
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Modernize the Infrastructure
• Java EE Management 2.0
– REST-based APIs for Management and Deployment
• Java EE Security 1.0
– Authorization
– Password Aliasing
– User Management
– Role Mapping
– Authentication
– REST Authentication
For On-Premise and for in the Cloud
34
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Java EE 8 JSRs
• Java EE 8 Platform (JSR 366)
• CDI 2.0 (JSR 365)
• JSON Binding 1.0 (JSR 367)
• JMS 2.1 (JSR 368)
• Java Servlet 4.0 (JSR 369)
• JAX-RS 2.1 (JSR 370)
• MVC 1.0 (JSR 371)
• JSF 2.3 (JSR 372)
• Java EE Management 2.0 (JSR 373)
• JSON-P 1.1 (JSR 374)
• Java EE Security 1.0 (JSR 375)
35
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Expected MRs and small JSRs
• Connector Architecture
• WebSocket
• Interceptors
• JPA
• EJB
• JTA
• Bean Validation
• Batch
• JavaMail
• …
36
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
Transparency
• Our Java EE 8 JSRs run in the open on java.net
– http://javaee-spec.java.net
– One project per JSR – jax-rs-spec, mvc-spec, servlet-spec,…
– https://java.net/projects/javaee-spec/pages/Specifications
• Publically viewable Expert Group mail archive
– Users observer lists gets all copies
• Publicly accessible download area
• Publicly accessible issue tracker / JIRA
• …
Commitment to JCP transparent processes
37
Copyright © 2015, Oracle and/or its affiliates. All rights reserved.
How to Get Involved
• Join an Expert Group project
– http://javaee-spec.java.net
– https://java.net/projects/javaee-spec/pages/Specifications
• Adopt a JSR
– http://glassfish.org/adoptajsr
• The Aquarium
– http://blogs.oracle.com/theaquarium
• Java EE 8 Reference Implementation
– http://glassfish.org
38
112815 java ee8_davidd

More Related Content

What's hot (20)

JAX RS and CDI bike the reactive bridge
JAX RS and CDI bike the reactive bridgeJAX RS and CDI bike the reactive bridge
JAX RS and CDI bike the reactive bridge
José Paumard
 
Modern REST APIs for Enterprise Databases - OData
Modern REST APIs for Enterprise Databases - ODataModern REST APIs for Enterprise Databases - OData
Modern REST APIs for Enterprise Databases - OData
Nishanth Kadiyala
 
Apache Olingo - ApacheCon Denver 2014
Apache Olingo - ApacheCon Denver 2014Apache Olingo - ApacheCon Denver 2014
Apache Olingo - ApacheCon Denver 2014
Stephan Klevenz
 
OData - The Universal REST API
OData - The Universal REST APIOData - The Universal REST API
OData - The Universal REST API
Nishanth Kadiyala
 
JSON-B for CZJUG
JSON-B for CZJUGJSON-B for CZJUG
JSON-B for CZJUG
Dmitry Kornilov
 
Java EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web frontJava EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web front
David Delabassee
 
What’s new in JSR 367 Java API for JSON Binding
What’s new in JSR 367 Java API for JSON BindingWhat’s new in JSR 367 Java API for JSON Binding
What’s new in JSR 367 Java API for JSON Binding
Dmitry Kornilov
 
Oracle NoSQL
Oracle NoSQLOracle NoSQL
Oracle NoSQL
Oracle Korea
 
OData for iOS developers
OData for iOS developersOData for iOS developers
OData for iOS developers
Glen Gordon
 
OData Introduction and Impact on API Design (Webcast)
OData Introduction and Impact on API Design (Webcast)OData Introduction and Impact on API Design (Webcast)
OData Introduction and Impact on API Design (Webcast)
Apigee | Google Cloud
 
New PLSQL in Oracle Database 12c
New PLSQL in Oracle Database 12cNew PLSQL in Oracle Database 12c
New PLSQL in Oracle Database 12c
Connor McDonald
 
HTML5 based PivotViewer for Visualizing LInked Data
HTML5 based PivotViewer for Visualizing LInked Data HTML5 based PivotViewer for Visualizing LInked Data
HTML5 based PivotViewer for Visualizing LInked Data
Kingsley Uyi Idehen
 
Introduction to OData
Introduction to ODataIntroduction to OData
Introduction to OData
Mindfire Solutions
 
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
Pat Patterson
 
Exploiting Linked (Open) Data via Microsoft Access using ODBC File DSNs
Exploiting Linked (Open) Data via Microsoft Access using ODBC  File DSNsExploiting Linked (Open) Data via Microsoft Access using ODBC  File DSNs
Exploiting Linked (Open) Data via Microsoft Access using ODBC File DSNs
Kingsley Uyi Idehen
 
Odata
OdataOdata
Odata
Monalisa Patel
 
What's new in the Java API for JSON Binding
What's new in the Java API for JSON BindingWhat's new in the Java API for JSON Binding
What's new in the Java API for JSON Binding
Dmitry Kornilov
 
A Look at OData
A Look at ODataA Look at OData
A Look at OData
Woodruff Solutions LLC
 
Using SAP Crystal Reports as a Linked (Open) Data Front-End via ODBC
Using SAP Crystal Reports as a Linked (Open) Data Front-End via ODBCUsing SAP Crystal Reports as a Linked (Open) Data Front-End via ODBC
Using SAP Crystal Reports as a Linked (Open) Data Front-End via ODBC
Kingsley Uyi Idehen
 
Exploiting Linked (Open) Data via Microsoft Access
Exploiting Linked (Open) Data via Microsoft AccessExploiting Linked (Open) Data via Microsoft Access
Exploiting Linked (Open) Data via Microsoft Access
Kingsley Uyi Idehen
 
JAX RS and CDI bike the reactive bridge
JAX RS and CDI bike the reactive bridgeJAX RS and CDI bike the reactive bridge
JAX RS and CDI bike the reactive bridge
José Paumard
 
Modern REST APIs for Enterprise Databases - OData
Modern REST APIs for Enterprise Databases - ODataModern REST APIs for Enterprise Databases - OData
Modern REST APIs for Enterprise Databases - OData
Nishanth Kadiyala
 
Apache Olingo - ApacheCon Denver 2014
Apache Olingo - ApacheCon Denver 2014Apache Olingo - ApacheCon Denver 2014
Apache Olingo - ApacheCon Denver 2014
Stephan Klevenz
 
OData - The Universal REST API
OData - The Universal REST APIOData - The Universal REST API
OData - The Universal REST API
Nishanth Kadiyala
 
Java EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web frontJava EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web front
David Delabassee
 
What’s new in JSR 367 Java API for JSON Binding
What’s new in JSR 367 Java API for JSON BindingWhat’s new in JSR 367 Java API for JSON Binding
What’s new in JSR 367 Java API for JSON Binding
Dmitry Kornilov
 
OData for iOS developers
OData for iOS developersOData for iOS developers
OData for iOS developers
Glen Gordon
 
OData Introduction and Impact on API Design (Webcast)
OData Introduction and Impact on API Design (Webcast)OData Introduction and Impact on API Design (Webcast)
OData Introduction and Impact on API Design (Webcast)
Apigee | Google Cloud
 
New PLSQL in Oracle Database 12c
New PLSQL in Oracle Database 12cNew PLSQL in Oracle Database 12c
New PLSQL in Oracle Database 12c
Connor McDonald
 
HTML5 based PivotViewer for Visualizing LInked Data
HTML5 based PivotViewer for Visualizing LInked Data HTML5 based PivotViewer for Visualizing LInked Data
HTML5 based PivotViewer for Visualizing LInked Data
Kingsley Uyi Idehen
 
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
Pat Patterson
 
Exploiting Linked (Open) Data via Microsoft Access using ODBC File DSNs
Exploiting Linked (Open) Data via Microsoft Access using ODBC  File DSNsExploiting Linked (Open) Data via Microsoft Access using ODBC  File DSNs
Exploiting Linked (Open) Data via Microsoft Access using ODBC File DSNs
Kingsley Uyi Idehen
 
What's new in the Java API for JSON Binding
What's new in the Java API for JSON BindingWhat's new in the Java API for JSON Binding
What's new in the Java API for JSON Binding
Dmitry Kornilov
 
Using SAP Crystal Reports as a Linked (Open) Data Front-End via ODBC
Using SAP Crystal Reports as a Linked (Open) Data Front-End via ODBCUsing SAP Crystal Reports as a Linked (Open) Data Front-End via ODBC
Using SAP Crystal Reports as a Linked (Open) Data Front-End via ODBC
Kingsley Uyi Idehen
 
Exploiting Linked (Open) Data via Microsoft Access
Exploiting Linked (Open) Data via Microsoft AccessExploiting Linked (Open) Data via Microsoft Access
Exploiting Linked (Open) Data via Microsoft Access
Kingsley Uyi Idehen
 

Viewers also liked (18)

Brochure Arevalo
Brochure ArevaloBrochure Arevalo
Brochure Arevalo
Pix Propiedades
 
Hipogramatik Cerita Wayang dalam Puisi Indonesia Moderen
Hipogramatik Cerita Wayang dalam Puisi Indonesia ModerenHipogramatik Cerita Wayang dalam Puisi Indonesia Moderen
Hipogramatik Cerita Wayang dalam Puisi Indonesia Moderen
Hamia Sani
 
Past paper quest aspect fitness
Past paper quest aspect fitnessPast paper quest aspect fitness
Past paper quest aspect fitness
nmcquade
 
Press freedom in_canada_program
Press freedom in_canada_programPress freedom in_canada_program
Press freedom in_canada_program
MEDIAinTORONTO
 
Enquête satisfaction 2011_erma
Enquête satisfaction 2011_ermaEnquête satisfaction 2011_erma
Enquête satisfaction 2011_erma
Romain MURRY
 
New base energy news issue 952 dated 21 november 2016
New base energy news issue  952 dated 21 november 2016New base energy news issue  952 dated 21 november 2016
New base energy news issue 952 dated 21 november 2016
Khaled Al Awadi
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
barbaraperbaz
 
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in OkinawaJavaOne2015報告会 in Okinawa
JavaOne2015報告会 in Okinawa
Takashi Ito
 
Civil War Battles
Civil War BattlesCivil War Battles
Civil War Battles
susanlawrence56
 
Presentacio emile guia2012
Presentacio emile guia2012Presentacio emile guia2012
Presentacio emile guia2012
clamuraller
 
Innovation in the Mining Industry – How does it Compare?
Innovation in the Mining Industry – How does it Compare?Innovation in the Mining Industry – How does it Compare?
Innovation in the Mining Industry – How does it Compare?
NORCAT
 
Java Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at KumamotoJava Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at Kumamoto
Takashi Ito
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
Lucia Hernández
 
Jibril abubakar, web play
Jibril abubakar, web playJibril abubakar, web play
Jibril abubakar, web play
Jibril Abubakar
 
NIVELES DE IMPUTACION
NIVELES DE IMPUTACIONNIVELES DE IMPUTACION
NIVELES DE IMPUTACION
Wendy Dominguez Oliva
 
Partie b présentation
Partie b présentationPartie b présentation
Partie b présentation
pascalelarouche
 
KDDI Financial Results for the 1st Half of FY2015.3
KDDI Financial Results for the 1st Half of FY2015.3KDDI Financial Results for the 1st Half of FY2015.3
KDDI Financial Results for the 1st Half of FY2015.3
KDDI
 
Hipogramatik Cerita Wayang dalam Puisi Indonesia Moderen
Hipogramatik Cerita Wayang dalam Puisi Indonesia ModerenHipogramatik Cerita Wayang dalam Puisi Indonesia Moderen
Hipogramatik Cerita Wayang dalam Puisi Indonesia Moderen
Hamia Sani
 
Past paper quest aspect fitness
Past paper quest aspect fitnessPast paper quest aspect fitness
Past paper quest aspect fitness
nmcquade
 
Press freedom in_canada_program
Press freedom in_canada_programPress freedom in_canada_program
Press freedom in_canada_program
MEDIAinTORONTO
 
Enquête satisfaction 2011_erma
Enquête satisfaction 2011_ermaEnquête satisfaction 2011_erma
Enquête satisfaction 2011_erma
Romain MURRY
 
New base energy news issue 952 dated 21 november 2016
New base energy news issue  952 dated 21 november 2016New base energy news issue  952 dated 21 november 2016
New base energy news issue 952 dated 21 november 2016
Khaled Al Awadi
 
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in OkinawaJavaOne2015報告会 in Okinawa
JavaOne2015報告会 in Okinawa
Takashi Ito
 
Presentacio emile guia2012
Presentacio emile guia2012Presentacio emile guia2012
Presentacio emile guia2012
clamuraller
 
Innovation in the Mining Industry – How does it Compare?
Innovation in the Mining Industry – How does it Compare?Innovation in the Mining Industry – How does it Compare?
Innovation in the Mining Industry – How does it Compare?
NORCAT
 
Java Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at KumamotoJava Day Tokyo 2016 feedback at Kumamoto
Java Day Tokyo 2016 feedback at Kumamoto
Takashi Ito
 
Jibril abubakar, web play
Jibril abubakar, web playJibril abubakar, web play
Jibril abubakar, web play
Jibril Abubakar
 
KDDI Financial Results for the 1st Half of FY2015.3
KDDI Financial Results for the 1st Half of FY2015.3KDDI Financial Results for the 1st Half of FY2015.3
KDDI Financial Results for the 1st Half of FY2015.3
KDDI
 

Similar to 112815 java ee8_davidd (20)

JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web Services
Arun Gupta
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
David Delabassee
 
JAX-RS.next
JAX-RS.nextJAX-RS.next
JAX-RS.next
Michal Gajdos
 
Java ee7 1hour
Java ee7 1hourJava ee7 1hour
Java ee7 1hour
Frank Rodriguez
 
Java EE7
Java EE7Java EE7
Java EE7
Jay Lee
 
OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7
Bruno Borges
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
David Delabassee
 
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
 
Getting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
Getting Started with WebSocket and Server-Sent Events using Java by Arun GuptaGetting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
Getting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
Codemotion
 
Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta
jaxconf
 
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
jaxLondonConference
 
Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5
Arun Gupta
 
JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
JavaCro'15 - Java EE 8 - An instant snapshot - David DelabasseeJavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
JavaCro'15 - Java EE 8 - An instant snapshot - David Delabassee
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()
Bruno Borges
 
Getting Started with WebSocket and Server-Sent Events in Java
Getting Started with WebSocket and Server-Sent Events in JavaGetting Started with WebSocket and Server-Sent Events in Java
Getting Started with WebSocket and Server-Sent Events in Java
Arun Gupta
 
GlassFish BOF
GlassFish BOFGlassFish BOF
GlassFish BOF
glassfish
 
Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014
Jagadish Prasath
 
Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)
Logico
 
Understanding and Developing Web Services: For DBAs and Database Developers
Understanding and Developing Web Services: For DBAs and Database DevelopersUnderstanding and Developing Web Services: For DBAs and Database Developers
Understanding and Developing Web Services: For DBAs and Database Developers
Revelation Technologies
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.
Edward Burns
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web Services
Arun Gupta
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
David Delabassee
 
Java EE7
Java EE7Java EE7
Java EE7
Jay Lee
 
OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7OTN Tour 2013: What's new in java EE 7
OTN Tour 2013: What's new in java EE 7
Bruno Borges
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
David Delabassee
 
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
 
Getting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
Getting Started with WebSocket and Server-Sent Events using Java by Arun GuptaGetting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
Getting Started with WebSocket and Server-Sent Events using Java by Arun Gupta
Codemotion
 
Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta Getting started with Websocket and Server-sent Events using Java - Arun Gupta
Getting started with Websocket and Server-sent Events using Java - Arun Gupta
jaxconf
 
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
jaxLondonConference
 
Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5Java EE 7: Boosting Productivity and Embracing HTML5
Java EE 7: Boosting Productivity and Embracing HTML5
Arun Gupta
 
Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()Presente e Futuro: Java EE.next()
Presente e Futuro: Java EE.next()
Bruno Borges
 
Getting Started with WebSocket and Server-Sent Events in Java
Getting Started with WebSocket and Server-Sent Events in JavaGetting Started with WebSocket and Server-Sent Events in Java
Getting Started with WebSocket and Server-Sent Events in Java
Arun Gupta
 
GlassFish BOF
GlassFish BOFGlassFish BOF
GlassFish BOF
glassfish
 
Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014
Jagadish Prasath
 
Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)Project Helidon Overview (Japanese)
Project Helidon Overview (Japanese)
Logico
 
Understanding and Developing Web Services: For DBAs and Database Developers
Understanding and Developing Web Services: For DBAs and Database DevelopersUnderstanding and Developing Web Services: For DBAs and Database Developers
Understanding and Developing Web Services: For DBAs and Database Developers
Revelation Technologies
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.
Edward Burns
 

More from Takashi Ito (7)

JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
Takashi Ito
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
Takashi Ito
 
Java EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil GaurJava EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil Gaur
Takashi Ito
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osaka
Takashi Ito
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedback
Takashi Ito
 
JavaOne2015フィードバック @ 富山合同勉強会
JavaOne2015フィードバック @ 富山合同勉強会JavaOne2015フィードバック @ 富山合同勉強会
JavaOne2015フィードバック @ 富山合同勉強会
Takashi Ito
 
20160123 java one2015_feedback @ Osaka
20160123 java one2015_feedback @ Osaka20160123 java one2015_feedback @ Osaka
20160123 java one2015_feedback @ Osaka
Takashi Ito
 
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
Takashi Ito
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
Takashi Ito
 
Java EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil GaurJava EE, What's Next? by Anil Gaur
Java EE, What's Next? by Anil Gaur
Takashi Ito
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osaka
Takashi Ito
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedback
Takashi Ito
 
JavaOne2015フィードバック @ 富山合同勉強会
JavaOne2015フィードバック @ 富山合同勉強会JavaOne2015フィードバック @ 富山合同勉強会
JavaOne2015フィードバック @ 富山合同勉強会
Takashi Ito
 
20160123 java one2015_feedback @ Osaka
20160123 java one2015_feedback @ Osaka20160123 java one2015_feedback @ Osaka
20160123 java one2015_feedback @ Osaka
Takashi Ito
 

Recently uploaded (20)

LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 

112815 java ee8_davidd

  • 1. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Java EE 8 - Work in Progress David Delabassee @delabassee Oracle Corporation JJUG CCC 2015 Fall
  • 2. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement 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. 2
  • 3. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Program Agenda Quick recap of goals and themes of Java EE 8 What we have accomplished How you can get involved 1 2 3 3
  • 4. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Industry Trends Cloud 4
  • 5. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Java EE 8 – Driven by Community Feedback http://glassfish.org/survey 5
  • 6. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Java EE 8 Themes • HTML5 / Web Tier Enhancements • Ease of Development • Infrastructure for running in the Cloud 6
  • 7. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. HTML5 Support / Web Tier Enhancements • JSON Binding • JSON Processing enhancements • Server-sent events • Action-based MVC • HTTP/2 support 7
  • 8. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JSON-B 1.0 • API to marshal/unmarshal Java objects to/from JSON – Similar to JAXB runtime API in XML world • Draw from best practices of existing JSON binding implementations – MOXy, Jackson, GSON, Genson, Xstream, … – Allow switch of JSON binding providers • Default mapping of classes to JSON – Annotations to customize the default mappings – JsonbProperty, JsonbTransient, JsonbNillable, JsonbValue, … Java API for JSON Binding 8
  • 9. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JSON-B 1.0 @Entity public class Person { @Id String name; String gender; @ElementCollection Map<String,String> phones; ... // getters and setters } Person duke = new Person(); duke.setName("Duke"); duke.setGender("M"); phones = new HashMap<String,String>(); phones.put("home", "650-123-4567"); phones.put("mobile", "650-234-5678"); duke.setPhones(phones); Jsonb jsonb = JsonbBuilder.create(); String person = jsonb.toJson(duke); { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-234-5678"} } 9
  • 10. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JSON-P 1.1 • Keep JSON-P spec up-to-date • Track new standards • Add editing operations to JsonObject and JsonArray • Helper classes and methods to better utilize SE 8’s stream operations Java API for JSON Processing 10
  • 11. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JSON-P 1.1 • JSON-Pointer – IETF RFC 6901 – String syntax for referencing a value "/0/phones/mobile" Tracking new standards 11
  • 12. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JSON-P 1.1 JsonArray contacts = ...; JsonPointer p = new JsonPointer("/0/phones/mobile"); JsonValue v = p.getValue(contacts); [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-234-5678"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-555-9999"}} ] 12
  • 13. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JSON-P 1.1 JsonArray contacts = ...; JsonPointer p = new JsonPointer("/0/phones/mobile"); JsonArray newContacts = p.replace(contacts, "650-555-1234"); [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-234-5678"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-555-9999"}} ] 13
  • 14. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JSON-P 1.1 JsonArray contacts = ...; JsonPointer p = new JsonPointer("/0/phones/mobile"); JsonArray newContacts = p.replace(contacts, "650-555-1234"); [ { "name":"Duke", "gender":"M", "phones":{ "home":"650-123-4567", "mobile":"650-555-1234"}}, { "name":"Jane", "gender":"F", "phones":{ "mobile":"707-555-9999"}} ] 14
  • 15. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JSON-P 1.1 • JSON-Patch – IETF RFC 6902 • Patch is a JSON document – Array of objects / operations for modifying a JSON document – add, replace, remove, move, copy, test – Must have "op" field and "path" field [ {"op":"replace", "path":"/0/phones/mobile", "value":"650-111-2222"}, {"op":"remove", "path":"/1"} ] Tracking new standards 15
  • 16. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JSON-P 1.1 JSON Query using Streams API JsonArray contacts = ...; List<String> femaleNames = contacts.getValuesAs(JsonObject.class).stream() .filter(x->"F".equals(x.getString("gender"))) .map(x->(x.getString("name")) .collect(Collectors.toList()); JsonArray femaleNames = contacts.getValuesAs(JsonObject.class).stream() .filter(x->"F".equals(x.getString("gender"))) .map(x->(x.getString("name")) .collect(JsonCollectors.toJsonArray()); 16
  • 17. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Server-sent Events • Part of HTML5 standardization • Server-to-client streaming of text data • Mime type is text/event-stream • Long-lived HTTP connection – Client establishes connection – Server pushes update notifications to client – Commonly used for one-way transmission for period updates or updates due to events 17
  • 18. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Server-sent Events • JAX-RS a natural fit – Streaming HTTP resources already supported – Small extension • Server API: new media type; EventOutput • Client API: new handler for server side events – Convenience of mixing with other HTTP operations; new media type – Jersey (JAX-RS RI) already supports SSE 18
  • 19. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Server-sent Events @Path("tickers") public class StockTicker { @Get @Produces("text/event-stream") public EventOutput getQuotes() { EventOutput eo = new EventOutput(); new StockThread(eo).start(); return eo; } } JAX-RS resource class 19
  • 20. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Server-sent Events JAX-RS StockThread class class StockThread extends Thread { private EventOutput eo; private AtomicBoolean ab = new AtomicBoolean(true); public StockThread(EventOutput eo) { this.eo = eo; } public void terminate() { ab.set(false); } @Override public void run() { while (ab.get()) { try { // ... eo.send(new StockQuote("...")); // ... } catch (IOException e) { // ... } } } } 20
  • 21. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Server-sent Events WebTarget target = client.target("http://example.com/tickers"); EventSource eventSource = new EventSource(target) { @Override public void onEvent(InboundEvent inboundEvent) { StockQuote sq = inboundEvent.readData(StockQuote.class); // ... } }; eventSource.open(); JAX-RS Client 21
  • 22. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Model View Controller (MVC) • Component-based MVC – Controller provided by the framework – JSF, Wicket, Tapestry… • Action-based MVC – Controllers defined by the application – Struts 2, Spring MVC… 2 Styles 22
  • 23. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. MVC 1.0 • Action-based model-view-controller architecture • Glues together key Java EE technologies: – Model • CDI, Bean Validation, JPA – View • Facelets, JSP – Controller • JAX-RS resource methods 23
  • 24. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. MVC 1.0 @Path("hello") public class HelloController { @Inject private Greeting greeting; @GET @Controller public String hello() { greeting.setMessage("Hello Tokyo!"); return "hello.jsp"; } } Model Controller @Named @RequestScoped public class Greeting { private String message; public String getMessage() { return message; } public void setMessage(message) { this.message = message; } } 24
  • 25. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. MVC 1.0 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Hello</title> </head> <body> <h1>${greeting.message}</h1> </body> </html> View 25
  • 26. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. HTTP/2 • HTTP 1.1 uses TCP poorly – HTTP flows are short and bursty – TCP was built for long-lived flows • Workarounds – Sprites – Domain sharding – Inlining – File concatenation Address the Limitations of HTTP 1.x 26
  • 27. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. HTTP/2 HTTP/2 Goals • Reduce latency • Address the HOL blocking problem • Support parallelism (without requiring multiple connections) • Define interaction with HTTP 1.x • Retain semantics of HTTP 1.1 Address the Limitations of HTTP 1.x 27
  • 28. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. HTTP/2 • Binary Framing • Request/Response multiplexing over single connection – Fully bidirectional – Multiple streams • Server Push • Header Compression • Upgrade from HTTP 1.1 • Stream Prioritization Features 28
  • 29. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Servlet 4.0 • Binary Framing • Request/Response multiplexing – Servlet Request as HTTP/2 message • Upgrade from HTTP 1.1 • Server Push • Stream prioritization HTTP/2 Features in Servlet API 29
  • 30. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Ease of Development • CDI alignment • Security interceptors • Simplified messaging with JMS message-driven beans • JAX-RS injection alignment • WebSocket scopes • Pruning of EJB 2.x client view and IIOP interoperability 30
  • 31. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Java EE Security 1.0 @IsAuthorized("hasRoles('Manager') && schedule.officeHrs") void transferFunds() @IsAuthorized("hasRoles('Manager') && hasAttribute('directReports', employee.id)") double getSalary(long employeeId); @IsAuthorized(ruleSourceName="java:app/payrollAuthRules", rule="report") void displayReport(); Authorization via CDI Interceptors 31
  • 32. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JMS 2.1 • Continue the ease-of-use improvements started in JMS 2.0 • Improve the API for receiving messages asynchronously – Improve JMS MDBs – Provide alternative to JMS MDBs New API to receive messages asynchronously 32
  • 33. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. CDI 2.0 • Modularity • Java SE support • Asynchronous Events • Event ordering • … 33
  • 34. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Modernize the Infrastructure • Java EE Management 2.0 – REST-based APIs for Management and Deployment • Java EE Security 1.0 – Authorization – Password Aliasing – User Management – Role Mapping – Authentication – REST Authentication For On-Premise and for in the Cloud 34
  • 35. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Java EE 8 JSRs • Java EE 8 Platform (JSR 366) • CDI 2.0 (JSR 365) • JSON Binding 1.0 (JSR 367) • JMS 2.1 (JSR 368) • Java Servlet 4.0 (JSR 369) • JAX-RS 2.1 (JSR 370) • MVC 1.0 (JSR 371) • JSF 2.3 (JSR 372) • Java EE Management 2.0 (JSR 373) • JSON-P 1.1 (JSR 374) • Java EE Security 1.0 (JSR 375) 35
  • 36. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Expected MRs and small JSRs • Connector Architecture • WebSocket • Interceptors • JPA • EJB • JTA • Bean Validation • Batch • JavaMail • … 36
  • 37. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Transparency • Our Java EE 8 JSRs run in the open on java.net – http://javaee-spec.java.net – One project per JSR – jax-rs-spec, mvc-spec, servlet-spec,… – https://java.net/projects/javaee-spec/pages/Specifications • Publically viewable Expert Group mail archive – Users observer lists gets all copies • Publicly accessible download area • Publicly accessible issue tracker / JIRA • … Commitment to JCP transparent processes 37
  • 38. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. How to Get Involved • Join an Expert Group project – http://javaee-spec.java.net – https://java.net/projects/javaee-spec/pages/Specifications • Adopt a JSR – http://glassfish.org/adoptajsr • The Aquarium – http://blogs.oracle.com/theaquarium • Java EE 8 Reference Implementation – http://glassfish.org 38