Enterprise Java Development What’s new in Java EE Petyo Dimitrov
Slide 2
AGENDA Past & Present
Standard Enterprise architecture & specs Upcoming features in Java EE 8 Future 2 What’s new in Java EE
Slide 3
PAST & PRESENT
3 What’s new in Java EE
Slide 4
ROADMAP
Final Draft June 2017?
1998
1999
2001
2003
2006
4 What’s new in Java EE
2009
2013
Final Release July 2017?
Slide 5
STANDARD ENTERPRISE ARCHITECTURE
5 What’s new in Java EE
Slide 6
MULTI-TIERED APPLICATION
presentation / web
business logic persistence / integration
6 What’s new in Java EE
Slide 7
POPULAR SPECIFICATIONS
ZeroTurnaround’s survey of ~1700 developers
7 What’s new in Java EE
Slide 8
UPCOMING FEATURES IN JAVA EE 8 I felt a great disturbance in the Force …
… as if several JSRs spec leads suddenly cried out in terror and were suddenly silenced … 8 What’s new in Java EE
Slide 9
JSON BINDING 1.0 Provide mapping between JSON data and Java objects (JAX-B for JSON) Standardize current technologies like Jackson & Gson Handle JSON media type for JAX-RS
Fill an old gap in the Java EE specs 9 What’s new in Java EE
Slide 10
JSON BINDING 1.0 – SAMPLE Hero hero = new Hero(); hero.setName(“Jason”); hero.setAge(25); hero.setAffiliation(“Argonauts”); Jsonb jsonb = JsonbBuilder.create(); jsonb.toJson(hero)
{
“name”: “Jason”, “age”: 25, “affiliation”: “Argonauts” }
10 What’s new in Java EE
Slide 11
JSON PROCESSING 1.1 Integrate emerging IETF standards like: JSON Pointer, JSON Patch & JSON Merge Patch Support Java 8 streaming API Allow parsing big JSON
11 What’s new in Java EE
Slide 12
JSON PROCESSING 1.1 – SAMPLE [
[
{
{
“op”: “replace”, “path”: “/0/age”, “value”: 28
“name”: “Jason”, “age”: 25, “affiliation”: “Argonauts”
} ]
} ]
new JsonPatch(patch).apply(heroes); new JsonPatchBuilder().replace(“/0/age”, 28).apply(heroes);
12 What’s new in Java EE
Slide 13
JAX-RS 2.1 Asynchronous clients with reactive programming Server-sent events Non-blocking I/O
Circuit breaker API?
13 What’s new in Java EE
Slide 14
JAX-RS 2.1 – SAMPLE CompletionStage<Response> csResponse = ClientBuilder.newClient() .target(“https://muffin.musala.com/”) .request().rx().get();
14 What’s new in Java EE
Slide 15
THE DARK SIDE? Java Message Service 2.1 (joined)
Java EE Management API 2.0 (joined) Configuration Health Check
Security: OAuth & OpenID 15 What’s new in Java EE
Slide 16
SUMMARY
16 What’s new in Java EE
Slide 17
FUTURE Microservices – need for uberjars, metrics, discovery, circuit breakers, etc. (70%) MicroProfile & JAX-RS Reactive Programming – wait & see + add hoc improvements (70%) JAX-RS NoSQL – interested in standardization (60%) Innovation vs Standardization– mildly conservative and cautious (56%) Java EE servey report https://drive.google.com/file/d/0B5v0dmBHAiKTRW5FT0twN1JIRTA/view
17 What’s new in Java EE
Slide 18
QUESTIONS?
18 What’sleads newtoinQuestions. Java EE Questions lead to Answers. Answers lead to Knowledge. Confidence
Slide 19
THANKFUL I AM
19 What’s new in Java EE
Slide 20
PANEL – ENTERPRISE JAVA DEVELOPMENT
20 new in Java EE JoinWhat’s us with a question