Submit Search
Upload
Java EE Next
•
4 likes
•
2,218 views
David Delabassee
Follow
Presented at Devoxx Belgium 2016
Read less
Read more
Software
Report
Share
Report
Share
1 of 44
Download now
Download to read offline
Recommended
REST in an Async World
REST in an Async World
David Delabassee
Java EE Next - BeJUG JavaOne Afterglow 2016
Java EE Next - BeJUG JavaOne Afterglow 2016
David Delabassee
JAX-RS 2.1 Reloaded
JAX-RS 2.1 Reloaded
David Delabassee
Java EE 8 - February 2017 update
Java EE 8 - February 2017 update
David Delabassee
Application Development with Oracle Database
Application Development with Oracle Database
gvenzl
Oow MySQL Whats new in security overview sept 2017 v1
Oow MySQL Whats new in security overview sept 2017 v1
Mark Swarbrick
Java EE 8 Overview (Japanese)
Java EE 8 Overview (Japanese)
Logico
Developers vs DBAs - How to win the war
Developers vs DBAs - How to win the war
gvenzl
Recommended
REST in an Async World
REST in an Async World
David Delabassee
Java EE Next - BeJUG JavaOne Afterglow 2016
Java EE Next - BeJUG JavaOne Afterglow 2016
David Delabassee
JAX-RS 2.1 Reloaded
JAX-RS 2.1 Reloaded
David Delabassee
Java EE 8 - February 2017 update
Java EE 8 - February 2017 update
David Delabassee
Application Development with Oracle Database
Application Development with Oracle Database
gvenzl
Oow MySQL Whats new in security overview sept 2017 v1
Oow MySQL Whats new in security overview sept 2017 v1
Mark Swarbrick
Java EE 8 Overview (Japanese)
Java EE 8 Overview (Japanese)
Logico
Developers vs DBAs - How to win the war
Developers vs DBAs - How to win the war
gvenzl
Data Management in a Microservices World
Data Management in a Microservices World
gvenzl
MySQL as a Document Store
MySQL as a Document Store
Mark Swarbrick
No sql from the web’s favourite relational database MySQL
No sql from the web’s favourite relational database MySQL
Mark Swarbrick
Another compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilation
Logico
Oracle Database features every developer should know about
Oracle Database features every developer should know about
gvenzl
TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8
Mark Swarbrick
HTTP/2 comes to Java
HTTP/2 comes to Java
David Delabassee
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Heather VanCura
JSON support in Java EE 8
JSON support in Java EE 8
Lukas Jungmann
Java EE 8 - Work in progress
Java EE 8 - Work in progress
David Delabassee
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Paulo Alberto Simoes ∴
Oracle Solaris Overview
Oracle Solaris Overview
OTN Systems Hub
Rootconf admin101
Rootconf admin101
Ligaya Turmelle
Java EE 7 (Lyon JUG & Alpes JUG - March 2014)
Java EE 7 (Lyon JUG & Alpes JUG - March 2014)
David Delabassee
Oracle Solaris Cloud Management and Deployment with OpenStack
Oracle Solaris Cloud Management and Deployment with OpenStack
OTN Systems Hub
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...
tdc-globalcode
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in Okinawa
Takashi Ito
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL (2019.05.18) oracle-nosql pu...
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL (2019.05.18) oracle-nosql pu...
Taewan Kim
Performance in Spark 2.0, PDX Spark Meetup 8/18/16
Performance in Spark 2.0, PDX Spark Meetup 8/18/16
pdx_spark
Oracle Code in Seoul: Provisioning of Cloud Resource
Oracle Code in Seoul: Provisioning of Cloud Resource
Taewan Kim
MySQL HA
MySQL HA
Mark Swarbrick
MySQL Clusters
MySQL Clusters
Mark Swarbrick
More Related Content
What's hot
Data Management in a Microservices World
Data Management in a Microservices World
gvenzl
MySQL as a Document Store
MySQL as a Document Store
Mark Swarbrick
No sql from the web’s favourite relational database MySQL
No sql from the web’s favourite relational database MySQL
Mark Swarbrick
Another compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilation
Logico
Oracle Database features every developer should know about
Oracle Database features every developer should know about
gvenzl
TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8
Mark Swarbrick
HTTP/2 comes to Java
HTTP/2 comes to Java
David Delabassee
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Heather VanCura
JSON support in Java EE 8
JSON support in Java EE 8
Lukas Jungmann
Java EE 8 - Work in progress
Java EE 8 - Work in progress
David Delabassee
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Paulo Alberto Simoes ∴
Oracle Solaris Overview
Oracle Solaris Overview
OTN Systems Hub
Rootconf admin101
Rootconf admin101
Ligaya Turmelle
Java EE 7 (Lyon JUG & Alpes JUG - March 2014)
Java EE 7 (Lyon JUG & Alpes JUG - March 2014)
David Delabassee
Oracle Solaris Cloud Management and Deployment with OpenStack
Oracle Solaris Cloud Management and Deployment with OpenStack
OTN Systems Hub
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...
tdc-globalcode
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in Okinawa
Takashi Ito
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL (2019.05.18) oracle-nosql pu...
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL (2019.05.18) oracle-nosql pu...
Taewan Kim
Performance in Spark 2.0, PDX Spark Meetup 8/18/16
Performance in Spark 2.0, PDX Spark Meetup 8/18/16
pdx_spark
Oracle Code in Seoul: Provisioning of Cloud Resource
Oracle Code in Seoul: Provisioning of Cloud Resource
Taewan Kim
What's hot
(20)
Data Management in a Microservices World
Data Management in a Microservices World
MySQL as a Document Store
MySQL as a Document Store
No sql from the web’s favourite relational database MySQL
No sql from the web’s favourite relational database MySQL
Another compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilation
Oracle Database features every developer should know about
Oracle Database features every developer should know about
TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8
HTTP/2 comes to Java
HTTP/2 comes to Java
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374
JSON support in Java EE 8
JSON support in Java EE 8
Java EE 8 - Work in progress
Java EE 8 - Work in progress
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Oracle Solaris Overview
Oracle Solaris Overview
Rootconf admin101
Rootconf admin101
Java EE 7 (Lyon JUG & Alpes JUG - March 2014)
Java EE 7 (Lyon JUG & Alpes JUG - March 2014)
Oracle Solaris Cloud Management and Deployment with OpenStack
Oracle Solaris Cloud Management and Deployment with OpenStack
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in Okinawa
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL (2019.05.18) oracle-nosql pu...
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL (2019.05.18) oracle-nosql pu...
Performance in Spark 2.0, PDX Spark Meetup 8/18/16
Performance in Spark 2.0, PDX Spark Meetup 8/18/16
Oracle Code in Seoul: Provisioning of Cloud Resource
Oracle Code in Seoul: Provisioning of Cloud Resource
Similar to Java EE Next
MySQL HA
MySQL HA
Mark Swarbrick
MySQL Clusters
MySQL Clusters
Mark Swarbrick
Percona Live - Dublin 01 my sql ha-mysql-clusters
Percona Live - Dublin 01 my sql ha-mysql-clusters
Mark Swarbrick
MySQL Group Replication
MySQL Group Replication
Mark Swarbrick
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
Mark Swarbrick
MySQL Enterprise Cloud
MySQL Enterprise Cloud
Mark Swarbrick
MySQL Enterprise Cloud
MySQL Enterprise Cloud
Mark Swarbrick
Percona Live - Dublin 03 ee + cloud
Percona Live - Dublin 03 ee + cloud
Mark Swarbrick
MySQL Enterprise Monitor 3
MySQL Enterprise Monitor 3
Mark Swarbrick
Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9
Pavel Bucek
MySQL Enterprise Edition
MySQL Enterprise Edition
Mark Swarbrick
3° Sessione Oracle - CRUI: Mobile&Conversational Interface
3° Sessione Oracle - CRUI: Mobile&Conversational Interface
Jürgen Ambrosi
Next Generation Data Center Strategies
Next Generation Data Center Strategies
Venkat Nambiyur
Web protocols for java developers
Web protocols for java developers
Pavel Bucek
OOW16 - Oracle E-Business Suite Integration Best Practices [CON6709]
OOW16 - Oracle E-Business Suite Integration Best Practices [CON6709]
vasuballa
Japanese Introduction to Oracle JET
Japanese Introduction to Oracle JET
Geertjan Wielenga
Develop Oracle Virtual Box and deploy to Cloud
Develop Oracle Virtual Box and deploy to Cloud
Inprise Group
Jfokus 2017 Oracle Dev Cloud and Containers
Jfokus 2017 Oracle Dev Cloud and Containers
Mika Rinne
OOW16 - Faster and Better: Oracle E-Business Suite Desktop Integration Enhanc...
OOW16 - Faster and Better: Oracle E-Business Suite Desktop Integration Enhanc...
vasuballa
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
Trivadis
Similar to Java EE Next
(20)
MySQL HA
MySQL HA
MySQL Clusters
MySQL Clusters
Percona Live - Dublin 01 my sql ha-mysql-clusters
Percona Live - Dublin 01 my sql ha-mysql-clusters
MySQL Group Replication
MySQL Group Replication
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL InnoDB + NDB Cluster - 2018 MySQL Days
MySQL Enterprise Cloud
MySQL Enterprise Cloud
MySQL Enterprise Cloud
MySQL Enterprise Cloud
Percona Live - Dublin 03 ee + cloud
Percona Live - Dublin 03 ee + cloud
MySQL Enterprise Monitor 3
MySQL Enterprise Monitor 3
Pitfalls of migrating projects to JDK 9
Pitfalls of migrating projects to JDK 9
MySQL Enterprise Edition
MySQL Enterprise Edition
3° Sessione Oracle - CRUI: Mobile&Conversational Interface
3° Sessione Oracle - CRUI: Mobile&Conversational Interface
Next Generation Data Center Strategies
Next Generation Data Center Strategies
Web protocols for java developers
Web protocols for java developers
OOW16 - Oracle E-Business Suite Integration Best Practices [CON6709]
OOW16 - Oracle E-Business Suite Integration Best Practices [CON6709]
Japanese Introduction to Oracle JET
Japanese Introduction to Oracle JET
Develop Oracle Virtual Box and deploy to Cloud
Develop Oracle Virtual Box and deploy to Cloud
Jfokus 2017 Oracle Dev Cloud and Containers
Jfokus 2017 Oracle Dev Cloud and Containers
OOW16 - Faster and Better: Oracle E-Business Suite Desktop Integration Enhanc...
OOW16 - Faster and Better: Oracle E-Business Suite Desktop Integration Enhanc...
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
More from David Delabassee
JVMs in Containers - Best Practices
JVMs in Containers - Best Practices
David Delabassee
JVMs in Containers
JVMs in Containers
David Delabassee
Serverless Java Challenges & Triumphs
Serverless Java Challenges & Triumphs
David Delabassee
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
David Delabassee
Randstad Docker meetup - Serverless
Randstad Docker meetup - Serverless
David Delabassee
Java Serverless in Action - Voxxed Banff
Java Serverless in Action - Voxxed Banff
David Delabassee
Serverless Kotlin
Serverless Kotlin
David Delabassee
HTTP/2 comes to Java (Dec. 2015 version)
HTTP/2 comes to Java (Dec. 2015 version)
David Delabassee
EJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and Strategy
David Delabassee
HTTP/2 Comes to Java
HTTP/2 Comes to Java
David Delabassee
Java EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web front
David Delabassee
HTTP/2 Comes to Java
HTTP/2 Comes to Java
David Delabassee
What's coming in Java EE 8
What's coming in Java EE 8
David Delabassee
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.0
David Delabassee
MVC 1.0 / JSR 371
MVC 1.0 / JSR 371
David Delabassee
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
David Delabassee
Avatar 2.0
Avatar 2.0
David Delabassee
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
David Delabassee
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
David Delabassee
Pushing Java EE outside of the Enterprise - Home Automation
Pushing Java EE outside of the Enterprise - Home Automation
David Delabassee
More from David Delabassee
(20)
JVMs in Containers - Best Practices
JVMs in Containers - Best Practices
JVMs in Containers
JVMs in Containers
Serverless Java Challenges & Triumphs
Serverless Java Challenges & Triumphs
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
Randstad Docker meetup - Serverless
Randstad Docker meetup - Serverless
Java Serverless in Action - Voxxed Banff
Java Serverless in Action - Voxxed Banff
Serverless Kotlin
Serverless Kotlin
HTTP/2 comes to Java (Dec. 2015 version)
HTTP/2 comes to Java (Dec. 2015 version)
EJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and Strategy
HTTP/2 Comes to Java
HTTP/2 Comes to Java
Java EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web front
HTTP/2 Comes to Java
HTTP/2 Comes to Java
What's coming in Java EE 8
What's coming in Java EE 8
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.0
MVC 1.0 / JSR 371
MVC 1.0 / JSR 371
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
Avatar 2.0
Avatar 2.0
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
Pushing Java EE outside of the Enterprise - Home Automation
Pushing Java EE outside of the Enterprise - Home Automation
Recently uploaded
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
Andreas Kunz
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
manoharjgpsolutions
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
itservices996
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
OnePlan Solutions
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
preethippts
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
Hironori Washizaki
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Applitools
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
akrivarotava
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
Shane Coughlan
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
Jean Silva
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Angel Borroy López
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
ssuser9e7c64
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
RTS corp
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
osttopstonverter
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
Shane Coughlan
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
Anthony Dahanne
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
Safe Software
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
Roberto Pérez Alcolea
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
KrzysztofKkol1
Recently uploaded
(20)
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Java EE Next
1.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE Next November 9 2016 David Delabassee @delabassee Java EE and Cloud ApplicaGon FoundaGon - Oracle
2.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 2 The reports
of my death are greatly exaggerated Java EE “
3.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direcGon. It is intended for informaGon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcGonality, and should not be relied upon in making purchasing decisions. The development, release, and Gming of any features or funcGonality described for Oracle’s products remains at the sole discreGon of Oracle. 3
4.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 4 Java EE 7 HTML5-Ready • JSON •
WebSockets • JAX-RS Industry Standard • Lowers risk • Vendor choice • Implementation choice • Operating system choice • Portable applications Scalable • Multi-threaded • Asynchronous APIs (Servlet, EJB, JAX-RS) • Concurrency utilities for Java EE Productivity • Annotated POJOs • Less boilerplate code • Integrated • Excellent tool ecosystem Meets Enterprise Demands • Java Message Service • Batch processing • Distributed transactions Community Driven • Java Community Process • Adopt-a-JSR • Open Source RI (GlassFish)
5.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE - Available On Premise and in the Cloud 09/11/16 5 Cloud On Premise WebSphere WebLogic Red Hat JBoss 5 Choice of Implementa9ons
6.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE APIs - Backbone of Leading Open Source Projects 6 Java EE Containers Microservices Web Containers Web Frameworks PaaS REST
7.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE – What’s Next? 7 New AppDev Style for Cloud and Microservices
8.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 8 Developers Facing New Challenges • AcceleraGon towards the Cloud •
Shib from physical infrastructure to virtual • Microservices vs. monolithic applicaGons • RunGme packaged with applicaGons ...
9.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposed Enhancements for Java EE • New AppDev style for Cloud and Microservices • Comprehensive – Programming Model, Packaging, Portability, Security, Monitoring… •
Build on proven technologies • Standards-based and transparent – JCP processes – Open Source RIs 9
10.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE Next Technical Areas of Focus 10
11.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Designed for Agility and Scalability with Security • Programming model • State •
Security • Eventual consistency • Key value/document store 11 Reliability, Monitoring Container Management Scheduling & ElasGc Scaling Key Value Database Logging Config State Security NoGficaGon User profile service Order service Catalog service
12.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Packaging for Simplicity • ConfiguraGon • Resiliency •
Packaging – Docker model • MulGtenancy • Serverless 12 App Server Order service App Server Catalog service App Server User profile service
13.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Recent Java EE 7 compa9bility updates: Congratula9ons! Technical Focus Areas Summary § Extend for reacGve programming § Unified event model §
Event messaging API § JAX-RS, HTTP/2, Lambda, JSON-B, ... Programming Model § API to store externalized state State § AutomaGcally event out changes to observed data structures Eventual Consistency § Extension to support client-side circuit breakers § Resilient commands § Standardize on client- side format for reporGng health Resiliency § New spec – interfaces, packaging format, manifest § Ephemeral instanGaGon Serverless § Secret management § OAuth § OpenID Security § Package applicaGons, runGmes into services § Standalone immutable executable binary § MulG-arGfact archives Packaging § Increased density § Tenant-aware rouGng and deployment Mul9tenancy § Externalize configuraGon § Unified API for accessing configuraGon Configura9on § Persistence and query interface for key value and document DB Key Value/Doc Store 13
14.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 14 Engage Java EE Community • Feedback through Survey •
Launch Java EE Next JSRs 2016 Java EE 8 • Specs, RI, TCK complete • IniGal microservices support • Define Java EE 9 • Early access implementaGon of Java EE 9 Java EE 9 • Specs, RI, TCK complete • Modular Java EE runGme • Enhanced microservices support Java EE Roadmap 2017 2018
15.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE 8 15
16.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JAX-RS 2.1 • Server-sent events • Non-blocking I/O in providers (filters, interceptors…) •
Hypermedia API enhancements • ReacGve programming paradigm to improve JAX-RS asynchronous clients • IntegraGon with other JSRs and frameworks 16 Java EE 8
17.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JAX-RS 2.1 17 // Jersey API! CompletionStage<List<String>> cs = client.target("forecast/{destination}") .resolveTemplate("destination", "mars") .request() .header("Rx-User", "Java8") .rx() // CompletionStageRxInvoker .get(new GenericType<List<String>>() { }); cs.thenAccept(l -> System.out.println(l)); Java EE 8
18.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for ReacGve Programming Model 18 § Improve JAX-RS to support reacGve programming for client side (e.g., async "orchestraGon" as in RXJava or in Jersey) § MigraGon path to fuller reacGve programming model in Java EE 9 §
Need to incorporate evolving reacGve/async-style programming model § More common in Cloud because apps are distributed and there is increased latency § Many remote calls § Synchronous request-handling blocks threads with remote calls Problem Statements Proposal Java EE 9
19.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Servlet 4.0 • Support for HTTP/2 – Request/response mulGplexing – Server push – Upgrade from HTTP 1.1 • CompaGbility with latest HTTP 1.1 RFCs •
Smaller community-requested improvements (JIRA issues) 19 Java EE 8
20.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Servlet 4.0 20 PushBuilder builder = baseRequest.getPushBuilder(); builder.addHeader("X-Pusher", …); builder.path(aResource) .etag(associated._etag) .lastModified(associated._lastModified) .push(); Java EE 8
21.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | CDI 2.0 • Define behavior of CDI outside of a Java EE container • API to bootstrap a CDI container in Java SE •
Spec split into 3 parts: – CDI Core – CDI for Java SE – CDI for Java EE • Observers ordering • Asynchronous events 21 Java EE 8
22.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | CDI 2.0 22 @Inject Event<PaymentEvent> debitEvent; // producer debitEvent.fire(somePayload); // consumer public void anObesrver(@Observes Payload p) { … }
23.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | CDI 2.0 23 // consumer A public void anObesrver(@Observes Payload p) { … } // consumer B public void anotherObesrver(@Observes Payload p) { … }
24.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | CDI 2.0 24 // consumer A public void anObesrver(@Observes @Priority(10) Payload p) { … } // consumer B public void anotherObesrver(@Observes @Priority(20) Payload p) { … } Java EE 8
25.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | CDI 2.0 25 @Inject Event<PaymentEvent> debitEvent; // async producer debitEvent.fireAsync(somePayload); // async consumer public void anObesrver(@ObservsAsync Payload p) { … } Java EE 8
26.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Bean ValidaGon 2.0 • Constraints applied to collecGon elements • Support for new Date/Time API •
IntegraGon with OpGonal wrappers • Repeatable annotaGons • Introduce new constraints – E.g. @NotEmpty, @NotBlank • AddiGonal features requested from community 26 Java EE 8
27.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSF 2.3 • Beqer CDI integraGon • WebSocket integraGon •
Ajax method invocaGon • Class-level Bean ValidaGon • Java Date/Time support 27 Java EE 8
28.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON-B 1.0 • JAXB-like API to marshal/unmarshal Java objects to/from JSON documents • Default mapping between classes and JSON •
CustomizaGon APIs – AnnotaGon (@JsonbProperty, @JsonbNillable) – RunGme configuraGon builder • Allows to swap providers • Natural follow on to JSON-P – closes the JSON support gap 28 Java EE 8
29.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON-B 1.0 29 Phone phone1 = new Phone(); phone1.setBrand("Apple"); phone1.setModel("iPhone 7"); phone1.setStock(1); ... List<Phone> inventory = new ArrayList<>(); inventory.add(phone1); inventory.add(phone2); Jsonb jsonb = JsonBuilder.create(); jsonb.toJson(inventory); Java EE 8 [ { "brand":"Apple", "model":"iPhone 7", "stock":1 }, { "brand":"Samsung", "model":"Galaxy Note 7", "stock":666 } ]
30.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 • Update JSON-P spec to stay current with emerging standards • Support for IETF standards on JSON Pointer and JSON Patch •
Add ediGng operaGons to JsonObject and JsonArray • Helper classes and methods to beqer uGlize Java SE 8 Stream operaGons 30 Java EE 8
31.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for Security 31 § OpenID support for authenGcaGon § Improved OAuth support §
RegistraGon and Discovery of Resources to Request Scopes § AuthorizaGon Model § Standard way of connecGng an applicaGon to a key service § EncrypGon service for stored data § OAuth & OpenID hard to use § No standard way of connecGng an applicaGon to a key service § Need to keep sensiGve stored data secret Problem Statements Proposal Java EE 8
32.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for ConfiguraGon 32 § Separate runGme configuraGon from runGme plarorm § K/V §
Define configuraGon persistence mechanisms, formats and bindings § E.g. JSON, XML § Support of mulGple configuraGon sources § Layering and overrides § No standard way of working with configuraGon in applicaGons § Many configuraGon schemes don’t support layering, overrides, concept of environments, mulGple levels of visibility, etc § Many just use environment variables, which is not scalable § Make it possible to deploy applicaGon configuraGon without redeploying app § Externalized configuraGon is the standard for cloud Problem Statements Proposal Java EE 8
33.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE 8 Proposal for ConfiguraGon 33 Config config = ConfigProvider.getConfig(); String foo = config.getProperty("foo"); String fooBar = config.getProperty("foo.bar"); // return null String notExists = config.getProperty("foo.bar.buzz"); // return "default" String notExistsDefault = config.getProperty("for.bar.buzz","default"); Long fooBarBaz = config.getProperty("foo.bar.baz", Long.class); foo=JavaOne! foo.bar=9! foo.bar.baz=2016!
34.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for ConfiguraGon 34 java –jar my.jar –Dconfig.source=/conf/dev.properties java –jar my.jar –Dconfig.source=/conf/main.json, http://shared/global.xml Config config = ConfigProvider.builder() .addSource(new EnvSource(), 300) .addSource(new FileSource("/cfg/config.properties"), 200) .addSource(new WebSource("http://shared/config.json"), 100) .build(); <config-sources> <source>http://shared/config.xml</source> </config-sources> Java EE 8
35.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for Resiliency - Health Checking 35 § Define standard for how individual instances should report health § Define configurable context path §
e.g. /<service>/management/health § Define semanGcs for reporGng health § JSON response when /health is called § Return standardized statuses, bubble up errors, from dependencies, etc § Circuit breaker could poll /health rather than waiGng for HTTP requests to fail first § Request tracing? § No standard for health is being reported § ApplicaGons, resources, servers, services, micro-services, etc. will report health differently § TradiGonal health check just returns opaque up/down messages Problem Statements Proposal Java EE 8
36.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 36 @HealthProvider public class
MyHealthContributor implements HealthContributor { public Health contributeHealthSummary(HealthContext context) { Health health = new Health(); ... return health; } } Java EE 8 Proposal for Resiliency - Health Checking
37.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for Resiliency - Circuit Breaker 37 § Extension to JSR 339 - JAX-RS Client § Several possible approaches: §
ProgrammaGc – change in JAX-RS Client API § DeclaraGve – registering @Provider classes to the Client § Other… § Configurable -- potenGal parameters might include: § Sampling frequency § Sampling Gme period § Performance threshold (milliseconds) § % error threshold § … § Prevent request-handling threads from being consumed while making requests to remote systems § Ease up on requests to remote system as it's having problems § Allow system Gme to recover § Prevent cascading failures. Isolates failures in the source system § Use circuit breaker without wriGng extensive boiler-plate code Problem Statements Proposal Java EE 8 & 9
38.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for Resiliency - Circuit Breaker 38 @Cache(timeToLive = 15, timeToLiveUnit = TimeUnit.SECONDS) @Bulkhead(numConcurrentRequests = 10) @Retry(onException = IOException.class, maxRetries = 4) @CircuitBreaker(timeout = 5, timeoutUnit = TimeUnit.SECONDS) public <K, V> V aBusinessMethod(K k) throws IOException { // invoke remote business service ... } @Fallback(applyTo = {"aBusinessMethod"}) public <K,V> V someFallback() { // perform fallback logic ... } Java EE 8 & 9
39.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE 7 39 Connector JAXB JSP Debugging Managed Beans JSP Concurrency EE Interceptors
JAX-WS WebSocket Bean ValidaGon JASPIC Servlet JMS JTA Deployment Batch JACC Dependency InjecGon JAXR JSTL Management CDI EJB JAX-RPC Web Services JSF JPA JSON-P Common AnnotaGons EL JAX-RS Web Services Metadata JavaMail
40.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE 8 40 Connector JAXB JSP Debugging Managed Beans JSP Concurrency EE Interceptors
JAX-WS WebSocket Bean ValidaGon JASPIC Servlet JMS JTA Deployment Batch JACC Dependency InjecGon JAXR JSTL Management CDI EJB JAX-RPC Web Services JSF JPA Common AnnotaGons EL JAX-RS Web Services Metadata JavaMail CDI JSON-B Security Bean ValidaGon JSF JAX-RS JSON-P Servlet Health Check ConfiguraGon JSP
41.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Recent Java EE 7 compa9bility updates: Congratula9ons! Technical Focus Areas Summary § Extend for reacGve programming § Unified event model §
Event messaging API § JAX-RS, HTTP/2, Lambda, JSON-B, ... Programming Model § API to store externalized state State § AutomaGcally event out changes to observed data structures Eventual Consistency § Extension to support client-side circuit breakers § Resilient commands § Standardize on client- side format for reporGng health Resiliency § New spec – interfaces, packaging format, manifest § Ephemeral instanGaGon Serverless § Secret management § OAuth § OpenID Security § Package applicaGons, runGmes into services § Standalone immutable executable binary § MulG-arGfact archives Packaging § Increased density § Tenant-aware rouGng and deployment Mul9tenancy § Externalize configuraGon § Unified API for accessing configuraGon Configura9on § Persistence and query interface for key value and document DB Key Value/Doc Store 41
42.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE Next - Summary • New AppDev Style for Cloud and Microservices • Planning in process •
Contribute • Open Source RIs 42
43.
44.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | RaGonale for Proposed Changes 44 New Func9onality • Cloud apps make many remote REST calls. Need a client-side circuit breaker added to JAX-RS • Need a secret vault because there’s no way to do this today using standards •
Need OAuth and OpenID support because those technologies have rapidly emerged as standards • Need externalized configura9on store to make applicaGons retargetable across environments • Need basic mul9-tenancy support to accommodate needs of more complex apps and offer higher density • Need standard way of health checking Java-based apps Dropped Func9onality • JMS is no longer very relevant in cloud. Proposed to stay at JMS 2.0 standard (vs. upgrading to JMS 2.1 ). • Cloud apps oben ship headless, making MVC largely irrelevant • Current Management JSR not widely used
Download now