SlideShare a Scribd company logo
1 of 21
Download to read offline
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Java EE, What’s Next?
Anil Gaur
GVP Engineering
Oracle Cloud Platform
Application Development
Copyright © 2016, Oracle and/or its affiliates. All rights reserved.
AppDev is About our Customer’s Entire Portfolio
2
Innovation Software - Find the Next Business
Differentiation Software - Run Current Business
Core Software - Keep the Lights On
Release Hourly
Fail Early
Agile
Business-centric
Top Line Growth
Bespoke Software
Product-based
Release Quarterly
Fail Late
Waterfall
IT-centric
Bottom Line Savings
Packaged Software
Project-based
Copyright © 2016, Oracle and/or its affiliates. All rights reserved.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Enterprise Application Development Is Changing
3
Rapid Changes Over Past Few Years
4
Microservices
Apps divided into many small pieces
Distributed Computing
Many data centers, AZs, regions, etc.
Polyglot
Java leads but use of others increasing
New Technology
Docker, Cloud, DevOps, etc.
Driven by increasing business needs
How Do We Make This
Easier?
5
Confidential – Oracle
6
Building on the Lessons Learned
12/4/2016 6Copyright © 2016, Oracle and/or its affiliates. All rights reserved.
Use lessons
learned and
successful
implementations
JAX-RS
Servlet
Interceptors
JMS
JSON-PCDI
JTA JPA
WebSocket
Compatible
Application Servers
Be pragmatic
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Java EE APIs - Backbone of Leading Open Source Projects
7
Java EE
Containers
Microservices Web
Containers
Web
Frameworks
PaaSREST
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Cloud Development
Heterogeneous Clients
• Mobile, REST, HTML5
Stateless Services
• Managed and scaled
independently
Data Sources
• Relational, non-relational
User profile
service
Order
service
Partner
service
Catalog
service
Notificatio
n service
Import
service
HTTP/2 REST JSON XML/HTTP
Event JAX-RS/JSON Notifications JAX-WS
RDBMS NoSQL DB XML DBData Streams
Key ValueEventsKey ValueJDBC
8
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
It’s Confusing!
Too many choices....
Which components?
Overall architecture?
Standards?
Vendor commitment?
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Proposed Enhancements for Java Enterprise Edition
• New AppDev style for Cloud and
Microservices
• Build on proven technologies
• Comprehensive
– Programming Model, Packaging,
Portability
• Standards-based
– This is a proposal only
– Will work with the community and
follow the JCP process
10
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Designed for Agility and Scalability with Security
• Programming model
– Extend for reactive programming
– Unified event model, event messaging API
– JAX-RS, HTTP/2, Lambda, JSON-B, …
• Eventual consistency
– Automatically event out changes to observed data structures
• Key value/document store
– Persistence and query interface for Key Value and Document DB
• Security
– Secret management
– OAuth/OpenID support
11
App
App
App
App
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Location Transparency and Resiliency
• Configuration
– Separate service packaging and configuration
– API for external configuration
• State
– API for external state
• Resiliency
– Circuit breakers
– Resilient commands
– Standardized health reporting
12
Reliability, Monitoring
Container Management
Scheduling & Elastic Scaling
Key Value
Database
Logging
Config
State
Security
Notification
User profile
service
Order
service
Catalog
service
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Packaging for Simplicity
• Packaging – Docker model
– Package applications, runtimes into containers
– Separate service package and configuration
– Standalone immutable executable binary
– Multi-artifact archives, leveraging Java 9
• Serverless
– New spec – interfaces, packaging format, manifest
– Ephemeral instantiation
• Multitenancy
– Increased density
– Tenant-aware routing and deployment
13
App
Server
Order
service
App
Server
Catalog
service
App
Server
User profile
service
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 14
Platform Architecture
Orchestration – Deployment, Scheduling, and Standup
BareMetal
Orchestration
Deployment
Manager
Local Service Impls
Additional Local Classfiles
Java EE
Cloud Native App
Container
Container
Container
Java EE
Cloud Native App
JLink
Local Service Impls
Additional Local Classfiles
Java EE
Cloud Native App
With Just Enough
Container
Container
Container
Java EE
Cloud Native App
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 15
Platform Architecture
Orchestration – Inspection, Injection, and Wiring
BareMetal
Orchestration
Container
Config
Cache
Logging
Platform Services
Service
Registry
Java EE
Cloud Native App
Java EE Cloud Native App
@Config
@Cache
@Logging
@Service Name
Impl
Impl
Impl
Impl
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Recent Java EE 7 compatibility updates: Congratulations!Technical Focus Areas
 Extend for reactive
programming
 Unified event model
 Event messaging API
 JAX-RS, HTTP/2,
Lambda, JSON-B, ...
Programming Model
 API to store
externalized state
State
 Automatically event out
changes to observed
data structures
Eventual Consistency
 Extension to support
client-side circuit
breakers
 Resilient commands
 Standardize on client-
side format for
reporting health
Resiliency
 New spec – interfaces,
packaging format,
manifest
 Ephemeral
instantiation
Serverless
 Secret management
 OAuth
 OpenID
Security Package applications,
runtimes into services
 Standalone immutable
executable binary
 Multi-artifact archives
Packaging
 Increased density
 Tenant-aware routing
and deployment
Multitenancy
 Externalize
configuration
 Unified API for
accessing configuration
Configuration
 Persistence and query
interface for key value
and document DB
Key Value/Doc Store
16
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Proposed Platform Architecture
Java EE Packaging, Serverless, Multitenancy
OS / Hypervisor
Container Runtime
Java SE Runtime
Java EE Runtime
Programming Model
API Gateway
Load Balancer
HTTP/2
JSON-B
Event API
REST API
Security API State API Config API
Eventual
Consistency
Resiliency
Key Value
Store API
17
Key Value
Database
Logging
Config
State
Security
Notification
Reliability,Monitoring
ManagementandOrchestration
SchedulingandElasticScaling
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 18
Java EE 7
Connector JAXBJSP Debugging
Managed BeansJSPConcurrency EE Interceptors JAX-WS WebSocket
Bean Validation JASPIC ServletJMS JTADeployment
Batch JACCDependency
Injection JAXR JSTL Management
CDI EJB JAX-RPC Web ServicesJSF JPA
JSON-PCommon
Annotations EL JAX-RS Web Services
MetadataJavaMail
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 19
Java EE 8 (Revised Proposal, 2016)
Connector JAXBJSP Debugging
Managed BeansJSPConcurrency EE Interceptors JAX-WS WebSocket
Bean Validation JASPIC ServletJMS JTADeployment
Batch JACCDependency
Injection JAXR JSTL Management
CDI EJB JAX-RPC Web ServicesJSF JPA
Common
Annotations EL JAX-RS Web Services
MetadataJavaMail
CDI
JSON-B Security
Bean Validation
JSF
JAX-RS JSON-P
Servlet
JSP
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 20
Engage Java EE Community
• Feedback through Survey
• Launch Java EE Next JSRs
2016
Java EE 8
• Specs, RI, TCK complete
• Initial microservices support
• Define Java EE 9
• Early access implementation
of Java EE 9
Java EE 9
• Specs, RI, TCK complete
• Modular Java EE runtime
• Enhanced microservices
support
Java EE Roadmap
2017
2018
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Java EE, What’s Next?
Anil Gaur
GVP Engineering
Oracle Cloud Platform
Application Development

More Related Content

What's hot

Cloud Native Java GraalVM 이상과 현실
Cloud Native Java GraalVM 이상과 현실Cloud Native Java GraalVM 이상과 현실
Cloud Native Java GraalVM 이상과 현실Taewan Kim
 
Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Simon Ritter
 
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Heather VanCura
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsDavid Delabassee
 
Apache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume NodetApache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume NodetNormandy JUG
 
Oracle cloud data interface
Oracle cloud data interfaceOracle cloud data interface
Oracle cloud data interfaceOracle Korea
 
Java: Create The Future Keynote
Java: Create The Future KeynoteJava: Create The Future Keynote
Java: Create The Future KeynoteSimon Ritter
 
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and More
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and MorePolyglot! A Lightweight Cloud Platform for Java SE, Node, and More
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and MoreShaun Smith
 
Java EE 8 Update
Java EE 8 UpdateJava EE 8 Update
Java EE 8 UpdateRyan Cuprak
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoringOracle Korea
 
55 New Features in JDK 9
55 New Features in JDK 955 New Features in JDK 9
55 New Features in JDK 9Simon Ritter
 
MySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt IntroMySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt IntroMark Swarbrick
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersBruno Borges
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7MySQL Brasil
 

What's hot (20)

Java modules using project jigsaw@jdk 9
Java modules using project jigsaw@jdk 9Java modules using project jigsaw@jdk 9
Java modules using project jigsaw@jdk 9
 
Cloud Native Java GraalVM 이상과 현실
Cloud Native Java GraalVM 이상과 현실Cloud Native Java GraalVM 이상과 현실
Cloud Native Java GraalVM 이상과 현실
 
Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?
 
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
 
Java EE for the Cloud
Java EE for the CloudJava EE for the Cloud
Java EE for the Cloud
 
Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012
 
MySQL
MySQLMySQL
MySQL
 
Apache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume NodetApache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume Nodet
 
Oracle cloud data interface
Oracle cloud data interfaceOracle cloud data interface
Oracle cloud data interface
 
JavaCro'15 - Java Certification – in theory and practice - Branko Mihaljević,...
JavaCro'15 - Java Certification – in theory and practice - Branko Mihaljević,...JavaCro'15 - Java Certification – in theory and practice - Branko Mihaljević,...
JavaCro'15 - Java Certification – in theory and practice - Branko Mihaljević,...
 
Java: Create The Future Keynote
Java: Create The Future KeynoteJava: Create The Future Keynote
Java: Create The Future Keynote
 
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and More
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and MorePolyglot! A Lightweight Cloud Platform for Java SE, Node, and More
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and More
 
Java EE 8 Update
Java EE 8 UpdateJava EE 8 Update
Java EE 8 Update
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
 
55 New Features in JDK 9
55 New Features in JDK 955 New Features in JDK 9
55 New Features in JDK 9
 
MySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt IntroMySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt Intro
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c Developers
 
Cloud Native Java:GraalVM
Cloud Native Java:GraalVMCloud Native Java:GraalVM
Cloud Native Java:GraalVM
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
 

Similar to Java EE, What's Next? by Anil Gaur

MySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentMySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentHenry J. Kröger
 
206450 primavera gateway
206450 primavera gateway206450 primavera gateway
206450 primavera gatewayp6academy
 
What_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12cWhat_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12cMaria Colgan
 
Replicate data between environments
Replicate data between environmentsReplicate data between environments
Replicate data between environmentsDLT Solutions
 
Oracle Solaris Software Integration
Oracle Solaris Software IntegrationOracle Solaris Software Integration
Oracle Solaris Software IntegrationOTN Systems Hub
 
DevOps on Oracle Cloud
DevOps on Oracle CloudDevOps on Oracle Cloud
DevOps on Oracle CloudMee Nam Lee
 
RMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New FeaturesRMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New FeaturesDave Stokes
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathonaaronwso2
 
Webinar: How and Why to Containerize Your Legacy Applications
Webinar: How and Why to Containerize Your Legacy ApplicationsWebinar: How and Why to Containerize Your Legacy Applications
Webinar: How and Why to Containerize Your Legacy ApplicationsStorage Switzerland
 
2017 OpenWorld Keynote for Data Integration
2017 OpenWorld Keynote for Data Integration2017 OpenWorld Keynote for Data Integration
2017 OpenWorld Keynote for Data IntegrationJeffrey T. Pollock
 
Primavera integration possibilities technical overview ppt
Primavera integration possibilities   technical overview pptPrimavera integration possibilities   technical overview ppt
Primavera integration possibilities technical overview pptp6academy
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8PT.JUG
 
Modern Application Development for the Enterprise
Modern Application Development for the EnterpriseModern Application Development for the Enterprise
Modern Application Development for the EnterpriseJuarez Junior
 
Oracle Mobile Cloud / Bot
Oracle Mobile Cloud / BotOracle Mobile Cloud / Bot
Oracle Mobile Cloud / BotMee Nam Lee
 
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)jeckels
 
Data Integration for Big Data (OOW 2016, Co-Presented With Oracle)
Data Integration for Big Data (OOW 2016, Co-Presented With Oracle)Data Integration for Big Data (OOW 2016, Co-Presented With Oracle)
Data Integration for Big Data (OOW 2016, Co-Presented With Oracle)Rittman Analytics
 
Oracle Directory Services - Customer Presentation
Oracle Directory Services - Customer PresentationOracle Directory Services - Customer Presentation
Oracle Directory Services - Customer PresentationDelivery Centric
 
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by ChefSoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by ChefTrevor Hess
 

Similar to Java EE, What's Next? by Anil Gaur (20)

MySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentMySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application Development
 
206450 primavera gateway
206450 primavera gateway206450 primavera gateway
206450 primavera gateway
 
What_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12cWhat_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12c
 
Replicate data between environments
Replicate data between environmentsReplicate data between environments
Replicate data between environments
 
Oracle Solaris Software Integration
Oracle Solaris Software IntegrationOracle Solaris Software Integration
Oracle Solaris Software Integration
 
DevOps on Oracle Cloud
DevOps on Oracle CloudDevOps on Oracle Cloud
DevOps on Oracle Cloud
 
RMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New FeaturesRMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New Features
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon
 
Webinar: How and Why to Containerize Your Legacy Applications
Webinar: How and Why to Containerize Your Legacy ApplicationsWebinar: How and Why to Containerize Your Legacy Applications
Webinar: How and Why to Containerize Your Legacy Applications
 
Gangadhar_Challa_Profile
Gangadhar_Challa_ProfileGangadhar_Challa_Profile
Gangadhar_Challa_Profile
 
2017 OpenWorld Keynote for Data Integration
2017 OpenWorld Keynote for Data Integration2017 OpenWorld Keynote for Data Integration
2017 OpenWorld Keynote for Data Integration
 
Primavera integration possibilities technical overview ppt
Primavera integration possibilities   technical overview pptPrimavera integration possibilities   technical overview ppt
Primavera integration possibilities technical overview ppt
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8
 
Modern Application Development for the Enterprise
Modern Application Development for the EnterpriseModern Application Development for the Enterprise
Modern Application Development for the Enterprise
 
Geode Meetup Apachecon
Geode Meetup ApacheconGeode Meetup Apachecon
Geode Meetup Apachecon
 
Oracle Mobile Cloud / Bot
Oracle Mobile Cloud / BotOracle Mobile Cloud / Bot
Oracle Mobile Cloud / Bot
 
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
 
Data Integration for Big Data (OOW 2016, Co-Presented With Oracle)
Data Integration for Big Data (OOW 2016, Co-Presented With Oracle)Data Integration for Big Data (OOW 2016, Co-Presented With Oracle)
Data Integration for Big Data (OOW 2016, Co-Presented With Oracle)
 
Oracle Directory Services - Customer Presentation
Oracle Directory Services - Customer PresentationOracle Directory Services - Customer Presentation
Oracle Directory Services - Customer Presentation
 
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by ChefSoCal DevOps Meetup 1/26/2017 - Habitat by Chef
SoCal DevOps Meetup 1/26/2017 - Habitat by Chef
 

More from Takashi Ito

JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019Takashi Ito
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJavaTakashi Ito
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osakaTakashi Ito
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedbackTakashi Ito
 
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 KumamotoTakashi 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 @ OsakaTakashi Ito
 
112815 java ee8_davidd
112815 java ee8_davidd112815 java ee8_davidd
112815 java ee8_daviddTakashi Ito
 

More from Takashi Ito (8)

JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
 
20161119 java one-feedback_osaka
20161119 java one-feedback_osaka20161119 java one-feedback_osaka
20161119 java one-feedback_osaka
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedback
 
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
 
JavaOne2015フィードバック @ 富山合同勉強会
JavaOne2015フィードバック @ 富山合同勉強会JavaOne2015フィードバック @ 富山合同勉強会
JavaOne2015フィードバック @ 富山合同勉強会
 
20160123 java one2015_feedback @ Osaka
20160123 java one2015_feedback @ Osaka20160123 java one2015_feedback @ Osaka
20160123 java one2015_feedback @ Osaka
 
112815 java ee8_davidd
112815 java ee8_davidd112815 java ee8_davidd
112815 java ee8_davidd
 

Recently uploaded

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

Java EE, What's Next? by Anil Gaur

  • 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE, What’s Next? Anil Gaur GVP Engineering Oracle Cloud Platform Application Development
  • 2. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. AppDev is About our Customer’s Entire Portfolio 2 Innovation Software - Find the Next Business Differentiation Software - Run Current Business Core Software - Keep the Lights On Release Hourly Fail Early Agile Business-centric Top Line Growth Bespoke Software Product-based Release Quarterly Fail Late Waterfall IT-centric Bottom Line Savings Packaged Software Project-based Copyright © 2016, Oracle and/or its affiliates. All rights reserved.
  • 3. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Enterprise Application Development Is Changing 3
  • 4. Rapid Changes Over Past Few Years 4 Microservices Apps divided into many small pieces Distributed Computing Many data centers, AZs, regions, etc. Polyglot Java leads but use of others increasing New Technology Docker, Cloud, DevOps, etc. Driven by increasing business needs
  • 5. How Do We Make This Easier? 5
  • 6. Confidential – Oracle 6 Building on the Lessons Learned 12/4/2016 6Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Use lessons learned and successful implementations JAX-RS Servlet Interceptors JMS JSON-PCDI JTA JPA WebSocket Compatible Application Servers Be pragmatic
  • 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE APIs - Backbone of Leading Open Source Projects 7 Java EE Containers Microservices Web Containers Web Frameworks PaaSREST
  • 8. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Cloud Development Heterogeneous Clients • Mobile, REST, HTML5 Stateless Services • Managed and scaled independently Data Sources • Relational, non-relational User profile service Order service Partner service Catalog service Notificatio n service Import service HTTP/2 REST JSON XML/HTTP Event JAX-RS/JSON Notifications JAX-WS RDBMS NoSQL DB XML DBData Streams Key ValueEventsKey ValueJDBC 8
  • 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | It’s Confusing! Too many choices.... Which components? Overall architecture? Standards? Vendor commitment?
  • 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposed Enhancements for Java Enterprise Edition • New AppDev style for Cloud and Microservices • Build on proven technologies • Comprehensive – Programming Model, Packaging, Portability • Standards-based – This is a proposal only – Will work with the community and follow the JCP process 10
  • 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Designed for Agility and Scalability with Security • Programming model – Extend for reactive programming – Unified event model, event messaging API – JAX-RS, HTTP/2, Lambda, JSON-B, … • Eventual consistency – Automatically event out changes to observed data structures • Key value/document store – Persistence and query interface for Key Value and Document DB • Security – Secret management – OAuth/OpenID support 11 App App App App
  • 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Location Transparency and Resiliency • Configuration – Separate service packaging and configuration – API for external configuration • State – API for external state • Resiliency – Circuit breakers – Resilient commands – Standardized health reporting 12 Reliability, Monitoring Container Management Scheduling & Elastic Scaling Key Value Database Logging Config State Security Notification User profile service Order service Catalog service
  • 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Packaging for Simplicity • Packaging – Docker model – Package applications, runtimes into containers – Separate service package and configuration – Standalone immutable executable binary – Multi-artifact archives, leveraging Java 9 • Serverless – New spec – interfaces, packaging format, manifest – Ephemeral instantiation • Multitenancy – Increased density – Tenant-aware routing and deployment 13 App Server Order service App Server Catalog service App Server User profile service
  • 14. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 14 Platform Architecture Orchestration – Deployment, Scheduling, and Standup BareMetal Orchestration Deployment Manager Local Service Impls Additional Local Classfiles Java EE Cloud Native App Container Container Container Java EE Cloud Native App JLink Local Service Impls Additional Local Classfiles Java EE Cloud Native App With Just Enough Container Container Container Java EE Cloud Native App
  • 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 15 Platform Architecture Orchestration – Inspection, Injection, and Wiring BareMetal Orchestration Container Config Cache Logging Platform Services Service Registry Java EE Cloud Native App Java EE Cloud Native App @Config @Cache @Logging @Service Name Impl Impl Impl Impl
  • 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Recent Java EE 7 compatibility updates: Congratulations!Technical Focus Areas  Extend for reactive programming  Unified event model  Event messaging API  JAX-RS, HTTP/2, Lambda, JSON-B, ... Programming Model  API to store externalized state State  Automatically event out changes to observed data structures Eventual Consistency  Extension to support client-side circuit breakers  Resilient commands  Standardize on client- side format for reporting health Resiliency  New spec – interfaces, packaging format, manifest  Ephemeral instantiation Serverless  Secret management  OAuth  OpenID Security Package applications, runtimes into services  Standalone immutable executable binary  Multi-artifact archives Packaging  Increased density  Tenant-aware routing and deployment Multitenancy  Externalize configuration  Unified API for accessing configuration Configuration  Persistence and query interface for key value and document DB Key Value/Doc Store 16
  • 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposed Platform Architecture Java EE Packaging, Serverless, Multitenancy OS / Hypervisor Container Runtime Java SE Runtime Java EE Runtime Programming Model API Gateway Load Balancer HTTP/2 JSON-B Event API REST API Security API State API Config API Eventual Consistency Resiliency Key Value Store API 17 Key Value Database Logging Config State Security Notification Reliability,Monitoring ManagementandOrchestration SchedulingandElasticScaling
  • 18. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 18 Java EE 7 Connector JAXBJSP Debugging Managed BeansJSPConcurrency EE Interceptors JAX-WS WebSocket Bean Validation JASPIC ServletJMS JTADeployment Batch JACCDependency Injection JAXR JSTL Management CDI EJB JAX-RPC Web ServicesJSF JPA JSON-PCommon Annotations EL JAX-RS Web Services MetadataJavaMail
  • 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 19 Java EE 8 (Revised Proposal, 2016) Connector JAXBJSP Debugging Managed BeansJSPConcurrency EE Interceptors JAX-WS WebSocket Bean Validation JASPIC ServletJMS JTADeployment Batch JACCDependency Injection JAXR JSTL Management CDI EJB JAX-RPC Web ServicesJSF JPA Common Annotations EL JAX-RS Web Services MetadataJavaMail CDI JSON-B Security Bean Validation JSF JAX-RS JSON-P Servlet JSP
  • 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 20 Engage Java EE Community • Feedback through Survey • Launch Java EE Next JSRs 2016 Java EE 8 • Specs, RI, TCK complete • Initial microservices support • Define Java EE 9 • Early access implementation of Java EE 9 Java EE 9 • Specs, RI, TCK complete • Modular Java EE runtime • Enhanced microservices support Java EE Roadmap 2017 2018
  • 21. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE, What’s Next? Anil Gaur GVP Engineering Oracle Cloud Platform Application Development