Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	EE	Next	
BeJUG	JavaOne	A,erglow	
Oct.	2016	
Da...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Safe	Harbor	Statement	
The	following	is	intended	to...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 ConfidenGal	–	Oracle	Internal/Restricted/Highly	Rest...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
		
Java	EE	-	Available	On	Premise	and	in	the	Cloud	...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	EE	APIs	-	Backbone	of	Leading	Open	Source	Proj...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	EE	–	What’s	Next?	
6	
New	AppDev	Style	
for	Cl...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 7	
Developers	Facing	New	Challenges	
•  More	demand...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Proposed	Enhancements	for	Java	EE	
•  New	AppDev	st...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Technical	Areas	of	Focus	
ConfidenGal	–	Oracle	Inter...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Designed	for	Agility	and	Scalability	with	Security	...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
LocaGon	Transparency	and	Resiliency		
•  ConfiguraGo...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Packaging	for	Simplicity	
• Packaging	–	Docker	mode...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Proposal	for	Circuit	Breaker	–	Resiliency	
13	
§  E...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Proposal	for	Circuit	Breaker	–	Resiliency	
14	
@Cac...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Proposal	for	Health	Checking	–	Resiliency	
15	
§  D...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Proposal	for	Security	
16	
§  OpenID	support	for	au...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Proposal	for	ConfiguraGon	
17	
§  Separate	runGme	co...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Proposal	for	ConfiguraGon	
18	
Config	config	=	Congi...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Proposal	for	ConfiguraGon	
19	
//	Single	file	source...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Recent	Java	EE	7	compa@bility	updates:	Congratula@o...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 21	
Engage	Java	EE	Community	
•  Feedback	through	S...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	EE	7	
22	
Connector	 JAXB	JSP	Debugging	
Manag...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	EE	8	
23	
Connector	 JAXB	JSP	Debugging	
Manag...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	EE	Next	-	Summary	
•  New	AppDev	Style	for	Clo...
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
hvp://glassfish.org/survey	
	
25
Java EE Next - BeJUG JavaOne Afterglow 2016
Próxima SlideShare
Cargando en…5
×

Java EE Next - BeJUG JavaOne Afterglow 2016

276 visualizaciones

Publicado el

Overview of the Java EE Next announcement made during JavaOne 2016
Presented at the BeJUG J1 Afterglow (Oct. 2016)

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Java EE Next - BeJUG JavaOne Afterglow 2016

  1. 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE Next BeJUG JavaOne A,erglow Oct. 2016 David Delabassee @delabassee Java EE and Cloud ApplicaGon FoundaGon
  2. 2. 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. 2
  3. 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | ConfidenGal – Oracle Internal/Restricted/Highly Restricted 3 The reports of my death are greatly exaggerated Java EE “
  4. 4. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE - Available On Premise and in the Cloud 13/10/16 4 Cloud On Premise WebSphere WebLogic Red Hat JBoss 4 Choice of Implementa@ons
  5. 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE APIs - Backbone of Leading Open Source Projects 5 Java EE Containers Microservices Web Containers Web Frameworks PaaS REST
  6. 6. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE – What’s Next? 6 New AppDev Style for Cloud and Microservices
  7. 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 7 Developers Facing New Challenges •  More demanding business requirements •  Move to the Cloud for agility & flexibility •  Shie from physical infrastructure to virtual •  Microservices vs. monolithic applicaGons •  RunGme packaged with applicaGons
  8. 8. 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, Monitoring… •  Build on proven technologies •  Standards-based – JCP – Only a proposal! 8
  9. 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Technical Areas of Focus ConfidenGal – Oracle Internal/Restricted/Highly Restricted 9
  10. 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Designed for Agility and Scalability with Security •  Programming model – Extend for reacGve programming – Unified event model – JAX-RS, HTTP/2, Lambda, JSON-B, … •  Eventual consistency – AutomaGcally 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 10
  11. 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | LocaGon Transparency and Resiliency •  ConfiguraGon – Separate service packaging and configuraGon – API for external configuraGon •  State – API for external state •  Resiliency – Circuit breakers – Standardized health reporGng 11 Reliability, Monitoring Container Management Scheduling & ElasGc Scaling Key Value Database Logging Config State Security NoGficaGon User profile service Order service Catalog service
  12. 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Packaging for Simplicity • Packaging – Docker model – Package applicaGons, runGmes into containers – Standalone immutable executable binary – MulG-arGfact archives, leveraging Java 9 • Serverless – Ephemeral instanGaGon • MulGtenancy – Increased density – Tenant-aware rouGng and deployment 12 App Server Order service App Server Catalog service App Server User profile service
  13. 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for Circuit Breaker – Resiliency 13 §  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
  14. 14. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for Circuit Breaker – Resiliency 14 @Cache(timeToLive = 15, timeToLiveUnit = TimeUnit.SECONDS) @CircuitBreaker(timeout = 5, timeoutUnit = TimeUnit.SECONDS) @Bulkhead(numConcurrentRequests = 10, queueSize = 5) @Retry(onException = IOException.class, maxRetries = 1) public <K, V> V aBusinessMethod(K k) throws IOException { // invoke remote business service ... } @Fallback(applyTo = {"aBusinessMethod"}) public <K,V> V someFallback() { // perform fallback logic ... }
  15. 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for Health Checking – Resiliency 15 §  Define standard for how individual instances should report health §  Define configurable context path – e.g. /healthcheck §  Define semanGcs for reporGng health §  JSON response when /healthcheck is called §  Return standardized statuses, bubble up errors, from dependencies, etc §  Circuit breaker could poll /healthcheck rather than waiGng for HTTP requests to fail first §  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
  16. 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for Security 16 §  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 OAuth §  No standard way of connecGng an applicaGon to a key service §  Need to keep sensiGve stored data secret Problem Statements Proposal
  17. 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for ConfiguraGon 17 §  Separate runGme configuraGon from runGme plauorm §  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
  18. 18. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for ConfiguraGon 18 Config config = CongifProvider.getConfig(); String foo = config.getProperty("foo"); String fooBar = config.getProperty("foo.bar"); // return null String notExists = config.getProperty("not.exists"); // return "default" String notExistsDefault = config.getProperty("not.exists","default"); Long fooBarBaz = config.getProperty("foo.bar.baz", Long.class); foo=JavaOne! foo.bar=9! foo.bar.baz=2016!
  19. 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Proposal for ConfiguraGon 19 // Single file source with default ordinal (200) java –jar my.jar –Dconfig.source=/conf/myconfig.properties // Two sources. Ordinals are 200 and 199 java –jar my.jar –Dconfig.source=http://shared/global.xml,/conf/my.json Config config = ConfigProvider.builder() .addSource(new EnvSource(), 300) .addSource(new FileSource("/cfg/config.properties"), 200) .addSource(new WebSource("http://shared/config.json"), 100) .addSource(new MyCustomSource()) .build();
  20. 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Recent Java EE 7 compa@bility updates: Congratula@ons! 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 Mul@tenancy §  Externalize configuraGon §  Unified API for accessing configuraGon Configura@on §  Persistence and query interface for key value and document DB Key Value/Doc Store 20
  21. 21. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 21 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
  22. 22. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE 7 22 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
  23. 23. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE 8 23 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
  24. 24. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Java EE Next - Summary •  New AppDev Style for Cloud and Microservices •  Planning in process •  Only a proposal! – hvp://glassfish.org/survey •  Contribute 24
  25. 25. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | hvp://glassfish.org/survey 25

×