What s New in JAX-RS 2.1?

Size: px
Start display at page:

Download "What s New in JAX-RS 2.1?"

Transcription

1 What s New in JAX-RS 2.1? CON3625 David Java and Container NaMve PlaOorm - Oracle October,

2 @delabassee 2

3 Safe Harbor Statement The following is intended to outline our general product direcmon. It is intended for informamon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcmonality, and should not be relied upon in making purchasing decisions. The development, release, and Mming of any features or funcmonality described for Oracle s products remains at the sole discremon of Oracle. 3

4 JAX-RS 4

5 JAX-RS Java API for RESTful Web Services JAX-RS 2.0 JSR 339, lead by SanMago Pericasgeertsen & Marek Potociar Java EE 7 JAX-RS 2.1 JSR 370, lead by SanMago Pericasgeertsen & Pavel Bucek Java EE 8 Java EE & Java SE 5

6 JAX-RS Java API for RESTful Web Services Reference ImplementaMon Jersey h`ps://jersey.github.io But also RESTEasy Restlet Apache CXF Apache Wink IBM JAX-RS, 6

7 JAX-RS Client API Client client = ClientBuilder.newClient(); WebTarget target = client.target(" "Paris"); Forecast forecast = target.request().get(forecast.class); // client.close(); 7

8 JAX-RS Client API javax.ws.rs.client.client interface Fluent API Client Builder è Client è Web Target è Request building è Response List<Forecast> forecast = ClientBuilder.newClient().target(" GenericType<List<Forecast>>() {}); 8

9 JAX-RS Client API JAX-RS 2.0 Invokers Synchronous invoker String city = client.target(" "Paris").request().get(String.class); Asynchronous invoker Future<String> fcity = client.target(" "Paris").request().async().get(String.class); 9

10 Async. 10

11 JAX-RS Client API Asynchronous invocajon Future<String> fcity = client.target(" "Paris").request().async().get(String.class); String city = fcity.get(); 11

12 JAX-RS Client API Asynchronous invocajon Future<String> fcity = client.target(" "Paris").request().async().get(String.class); try { String city = fcity.get(5, TimeUnit.SECONDS); } catch(timeoutexception timeout) { } // 12

13 JAX-RS Client API Asynchronous invocajon // Set ClientProperties.CONNECT_TIMEOUT & READ_TIMEOUT Future<String> fcity = client.target(" "Paris").request().async().get(String.class); while (!fcity.isdone() ) { } // response hasn't been received yet String city = fcity.get(); 13

14 JAX-RS Client API Asynchronous invocajon InvocaMonCallback Interface javax.ws.rs.client.invocationcallback<response> Container will receive async processing events from an invocamon completed(response response) failed(throwable throwable) 14

15 JAX-RS Client API InvocaJonCallback WebTarget myresource = client.target(" Future<Customer> future = myresource.request(mediatype.text_plain).async().get(new InvocationCallback<Customer>() { public void completed (Customer customer) { // do something with the customer public void failed (Throwable throwable) { // Oops! } 15

16 The Travel Service 16

17 The Travel Service Synchronous Customer details: 150 ms Recommended desmnamons: 250 ms Price calculamon for a customer and desmnamon: 170 ms (each) Weather forecast for a desmnamon: 330 ms (each) ms 17

18 The Travel Service Asynchronous 730 ms 18

19 The Travel Service 19

20 The Travel Service destination.path("destination").request().header("rx-user", "Async").async().get(new InvocationCallback<List<Destination>>() public void completed(final List<Destination> destination) { final CountDownLatch innerlatch = new CountDownLatch(destination.size()); final Map<String, Forecast> forecasts = Collections.synchronizedMap(new HashMap<>()); for (final Destination dest : destination) { forecast.resolvetemplate("dest", dest.getdestination()).request().async().get(new InvocationCallback<Forecast>() public void completed(final Forecast forecast) { forecasts.put(dest.getdestination(), forecast); innerlatch.countdown(); } 20

21 The Travel Service // cont. public void failed(final Throwable throwable) { innerlatch.countdown(); } }); try { if (!innerlatch.await(10, TimeUnit.SECONDS)) { // timeout } } catch (final InterruptedException e) { // Ooops, interrupted! } } // Continue with processing public void failed(final Throwable throwable) { // Recommendation error } }); 21

22 JAX-RS Client API New JAX-RS ReacJve Invoker // JAX-RS 2.0 Response response = ClientBuilder.newClient().target(someEndPoint).request().get(); Future<Response> fresponse = ClientBuilder.newClient().target(someEndPoint).request().async().get(); // JAX-RS 2.1 CompletionStage<Response> csresponse = ClientBuilder.newClient().target(someEndPoint).request().rx().get(); 22

23 JAX-RS Client API New JAX-RS ReacJve Invoker // get IP CompletionStage<JsonObject> cfip = client.target(" "json").request().rx().get(jsonobject.class); // get IP location CompletionStage<JsonObject> cfloc = client.target(" 23

24 JAX-RS Client API New JAX-RS ReacJve Invoker CompletionStage<JsonObject> cfip = client.target(" "json").request().rx().get(jsonobject.class); Function<JsonObject, CompletionStage<JsonObject>> function = ip -> client.target(" Consumer<JsonObject> consumer = location -> async.resume(locdetails); cfip.thencompose(function).thenaccept(consumer); h`ps://github.com/delabassee/ee8_jax-rs_rx 24

25 The Travel Service h`ps://github.com/jersey/jersey/tree/master/examples/rx-client-webapp 25

26 JAX-RS 2.1 Invokers Sync Async RX Performance and scalability Easy to develop and maintain complex workflow error handling Leverage new Java SE feature 26

27 JAX-RS ReacMve Extensions All JAX-RS implementamons MUST support an invoker for CompleMonStage. AddiMonally, JAX-RS implementamons MAY support other reacmve APIs using an extension built into the Client API. Jersey CompleMonStageRxInvoker (Default) RxListenableFutureInvoker Guava RxObservableInvoker RxJava RxFlowableInvoker RxJava2 27

28 Long Running OperaMon JAX-RS public void populatedestination(@suspended final AsyncResponse asyncresponse) { } executor.submit( new Runnable() { public void run() { JsonObject destination = executelongrunningoptogetdest(); asyncresponse.resume(destination); } }); 28

29 Long Running OperaMon JAX-RS public void populatedestination(@suspended final AsyncResponse asyncresponse) { } CompletionStage<JsonObject> destinationcs = client.target("destination").queryparam("format", "json").request().rx().get(jsonobject.class); destinationcs.thenapply(unmarhsalldestination).thenapply(populatedestination).thenaccept(asyncresponse::resume); 29

30 Long Running OperaMon JAX-RS public CompletionStage<Destination> populatedestination() { } CompletionStage<JsonObject> destinationcs = client.target("destination").queryparam("format", "json").request().rx().get(jsonobject.class); return destinationcs.thenapply(unmarhsalldestination).thenapply(populatedestination); 30

31 Long Running OperaMon Client Request Long running operamon Response AsyncResponse.resume( ) 31

32 Executor Services Used for Asynchronous invocamons Specified when creamng the Client container ClientBuilder.executorService(ExecutorService) ClientBuilder.scheduledExecutorService(ScheduledExecutorService) Use ManagedExecutorService and ManagedScheduledExecutorService when "Concurrency UMliMes for Java EE" is supported E.g. Java EE full plaoorm 32

33 Server-Sent Events 33

34 Server-Sent Events WHATWG standard Persistent, one-way communicamon channel Text protocol, special media type "text/event-stream" Server can send mulmple messages (events) to a client Can contain id, name, comment, retry interval 34

35 Server-Sent Events Supported in all modern browsers JavaScript API h`ps://developer.microsot.com/en-us/microsot-edge/plaoorm/status/serversenteventseventsource/ 35

36 Server-Sent Events javax.ws.rs.sse.sseevent interface Events propermes ID Name Comment Reconnect interval 36

37 Server-Sent Events OutboundSseEvent Server-side representamon of a Server-Sent event OutboundSseEvent.Builder() InboundSseEvent Client-side representamon of a Server-Sent event 37

38 Server-Sent Events Server-side SseEventSink Outbound Server-Sent Events public void SseEventSink SSE sse) {... eventsink.send( sse.newevent("an event") ); eventsink.send( sse.newevent("another event") );... eventsink.close(); } 38

39 Server-Sent Event Client side SseEventSource Client for processing incoming Server-Sent Events WebTarget target = client.target(" "); try (SseEventSource source = SseEventSource.target(target).reconnectingEvery(5, SECONDS).build()) { source.register(system.out::println); //InboundSSEvent consumer... source.open(); } catch (InterruptedException e) { // Ooops } 39

40 Various 40

41 JAX-RS 2.1 JSON support When JSON-P is supported MUST support enmty providers for JsonValue and its sub-types JsonValue, JsonStructure, JsonObject, JsonArray, JsonString and JsonNumber When JSON-B is supported MUST support enmty providers for all Java types supported by JSON-B in combinamon with following media types applicamon/json, text/json &Media types matching */json or */*+json When both JSON-P and JSON-B are supported EnMty providers for JSON-B take precedence for all types except JsonValue and its sub-types 41

42 JAX-RS 2.1 JSON-B & JSON-P for all providers Allow sub-resource locators to return classes as well ClarificaMons, 42

43 Wrap-up 43

44 JAX-RS 2.1 Java API for RESTful Web Services JSR 370 Java EE 8 Async New ReacMve Client API New method for pausing resquest processing Server-Sent Event support JSON-P & JSON-B support 44

45 JAX-RS 2.1 Java API for RESTful Web Services Jersey 2.26 h`ps://jersey.github.io Apache CXF h`p://cxf.apache.org/ RESTEasy 3.? soon! h`p://resteasy.jboss.org 45

46 Java EE 8 ModernizaMon & SimplificaMon JAX-RS 2.1 Servlet 4.0 JSON-B 1.0 (*) JSON-P 1.1 CDI 2.0 Bean ValidaJon 2.0 JSF 2.3 Security 1.0 (*) ReacMve Client API, Server-Sent Events, HTTP/2, Server Push, Java <-> JSON binding Updates to JSON standards, JSON Collectors, Async Event, Observers ordering, SE support, Embrace Java SE 8, new constraints, Improved CDI, WebSocket, SE 8 integramon, Portable IdenMty Store, AuthenMcaMon & Security Context 46

47 Eclipse Enterprise for Java - EE4J Moving Java EE to Eclipse FoundaJon Community and Vendors Technology Sponsorship Enterprise for Java ü Nimble ü Flexible ü Open ü CompaMble Join the discussion at ee4j-community@eclipse.org 47

48 JAX-RS 2.1 Java API for RESTful Web Services Resources h`ps://jcp.org/en/jsr/detail?id=370 h`ps://javaee.groups.io/g/jaxrs-spec/ h`ps://github.com/jax-rs h`ps://jersey.github.io/documentamon/latest/index.html h`ps://github.com/jersey/ h`ps://docs.oracle.com/javaee/8/tutorial/index.html 48

49 JAX-RS 2.1 Dependencies API <groupid>javax.ws.rs</groupid> <artifactid>javax.ws.rs-api</artifactid> <version>2.1</version> <groupid>javax</groupid> <groupid>javax</groupid> <artifactid>javaee-api</artifactid> <artifactid>javaee-web-api</artifactid> <version>8.0</version> <version>8.0</version> Jersey h`ps://jersey.github.io/documentamon/latest/modules-and-dependencies.html 49

50

JAX-RS and CDI Bike the (ReacIve) Bridge CON2549

JAX-RS and CDI Bike the (ReacIve) Bridge CON2549 JAX-RS and CDI Bike the (ReacIve) Bridge CON2549 David Delabassée (@delabassee) - Oracle José Paumard (@josepaumard) - Consultant October, 2017 2 @delabassee 3 @JosePaumard @JosePaumard https://github.com/josepaumard

More information

Java EE 8 What s coming? David Delabassee Oracle May 17, 2017

Java EE 8 What s coming? David Delabassee Oracle May 17, 2017 Java EE 8 What s coming? David Delabassee - @delabassee Oracle May 17, 2017 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes

More information

Java EE 8 finally final! And now Jakarta EE?

Java EE 8 finally final! And now Jakarta EE? Java EE 8 finally final! And now Jakarta EE? April 2018 Давид Делабассее @delabassee Oracle Safe Harbor Statement The following is intended to outline our general product direcqon. It is intended for informaqon

More information

Java EE 8 finally final! Now what?

Java EE 8 finally final! Now what? Java EE 8 finally final! Now what? February 2018 David Delabassee - @delabassee Oracle 2 Safe Harbor Statement The following is intended to outline our general product direcjon. It is intended for informajon

More information

Java EE. OSS <OSS X Users Meeting> #21 Java EE. Akihiro Nishikawa Oracle Corporation Japan. December 12, 2017

Java EE. OSS <OSS X Users Meeting> #21 Java EE. Akihiro Nishikawa Oracle Corporation Japan. December 12, 2017 Java EE OSS #21 Java EE Akihiro Nishikawa Oracle Corporation Japan December 12, 2017 1 Safe Harbor Statement The following is intended to outline our general product direction. It

More information

JAX-RS 2.1 Reloaded. Santiago Pericas-Geertsen JAX-RS Co-Spec Lead. #jax-rs

JAX-RS 2.1 Reloaded. Santiago Pericas-Geertsen JAX-RS Co-Spec Lead. #jax-rs JAX-RS 2.1 Reloaded Santiago Pericas-Geertsen JAX-RS Co-Spec Lead #jax-rs @spericas Agenda Reactive Extensions Server-Sent Events Non-Blocking IO #jax-rs @spericas Reactive Extensions #jax-rs @spericas

More information

JAX-RS 2.0 With Apache CXF Continued. Sergey Beryozkin, Talend

JAX-RS 2.0 With Apache CXF Continued. Sergey Beryozkin, Talend JAX-RS 2.0 With Apache CXF Continued Sergey Beryozkin, Talend What is Apache CXF Production quality Java based framework for developing REST and SOAP services Major focus on the interoperability, security,

More information

Baking a Java EE 8 Micro Pi Mike Croft Ondrej Mihályi. Payara Support

Baking a Java EE 8 Micro Pi Mike Croft Ondrej Mihályi. Payara Support Baking a Java EE 8 Micro Pi Mike Croft Ondrej Mihályi Payara Support Engineers @Payara_Fish Who are we? Payara Support @croft Snowboarder Payara Support @omihalyi Proud father What s this all about? How

More information

Keep Learning with Oracle University

Keep Learning with Oracle University Keep Learning with Oracle University Classroom Training Learning SubscripDon Live Virtual Class Training On Demand Cloud Technology ApplicaDons Industries educa7on.oracle.com 2 Session Surveys Help us

More information

Keep Learning with Oracle University

Keep Learning with Oracle University Keep Learning with Oracle University Classroom Training Learning Subscription Live Virtual Class Training On Demand Cloud Technology Applications Industries education.oracle.com 3 Session Surveys Help

More information

JavaEE.Next(): Java EE 7, 8, and Beyond

JavaEE.Next(): Java EE 7, 8, and Beyond JavaEE.Next(): Java EE 7, 8, and Beyond Reza Rahman Java EE/GlassFish Evangelist Reza.Rahman@Oracle.com @reza_rahman 1 The preceding is intended to outline our general product direction. It is intended

More information

Eclipse MicroProfile: Accelerating the adoption of Java Microservices

Eclipse MicroProfile: Accelerating the adoption of Java Microservices Eclipse MicroProfile: Accelerating the adoption of Java Microservices Emily Jiang twitter @emilyfhjiang 10 th October 2017 What is Eclipse MicroProfile? Eclipse MicroProfile is an open-source community

More information

JAX-RS 2.0 with Apache CXF

JAX-RS 2.0 with Apache CXF JAX-RS 2.0 with Apache CXF Sergey Beryozkin Talend sberyozkin.blogspot.com Apache CXF Overview Ships production-quality WS and RS modules Common runtime, transports, interceptors, features Runs in Servlet

More information

Java EE 7 Recipes for Concurrency. Presented By: Josh Juneau Author and Application Developer

Java EE 7 Recipes for Concurrency. Presented By: Josh Juneau Author and Application Developer Java EE 7 Recipes for Concurrency Presented By: Josh Juneau Author and Application Developer About Me Josh Juneau Day Job: Developer and DBA @ Fermilab Night/Weekend Job: Technical Writer - Java Magazine

More information

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect The following is intended to outline our general product direction. It is intended for information purposes only, and may not

More information

Eclipse Enterprise for Java (EE4J)

Eclipse Enterprise for Java (EE4J) Eclipse Enterprise for Java (EE4J) Presenta)on to Java Community Process Execu)ve Commi5ee Will Lyons Senior Director, Oracle WebLogic Server and Java EE Product Management September 29, 2017 2 Safe Harbor

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 JAX-RS-ME Michael Lagally Principal Member of Technical Staff, Oracle 2 CON4244 JAX-RS-ME JAX-RS-ME: A new API for RESTful web clients on JavaME This session presents the JAX-RS-ME API that was developed

More information

[CON7983] JAX-RS 2.1 for Java EE 8

[CON7983] JAX-RS 2.1 for Java EE 8 [CON7983] JAX-RS 2.1 for Java EE 8 Ed Burns Pavel Bucek Oracle September, 2016 Safe Harbor Statement The preceding is intended to outline our general product direcuon. It is intended for informauon purposes

More information

JVA-563. Developing RESTful Services in Java

JVA-563. Developing RESTful Services in Java JVA-563. Developing RESTful Services in Java Version 2.0.1 This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We develop

More information

<Insert Picture Here> Future<JavaEE>

<Insert Picture Here> Future<JavaEE> Future Jerome Dochez, GlassFish Architect The following/preceding is intended to outline our general product direction. It is intended for information purposes only, and may

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering Tutorial 2: Consuming REST Services Contens How to consume REST services Example: NorthQ standalone Java application (but can be re-used

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. 1 Copyright 2011, Oracle and/or its affiliates. All rights Web Services and SOA Integration Options for Oracle E-Business Suite Rajesh Ghosh, Group Manager, Applications Technology Group Abhishek Verma,

More information

From Java EE to Jakarta EE. A user experience

From Java EE to Jakarta EE. A user experience From Java EE to Jakarta EE A user experience A few words about me blog.worldline.tech @jefrajames Speaker me = SpeakerOf.setLastName( James ).setfirstname( Jean-François ).setbackgroundinyears(32).setmindset(

More information

MicroProfile - New and Noteworthy

MicroProfile - New and Noteworthy MicroProfile - New and Noteworthy Ivar Grimstad Principal Consultant, Cybercom Sweden https://github.com/ivargrimstad https://www.linkedin.com/in/ivargrimstad Background MicroProfile Demo and Samples Monolithic

More information

Open Java EE and Eclipse MicroProfile - A New Java Landscape for Cloud Native Apps

Open Java EE and Eclipse MicroProfile - A New Java Landscape for Cloud Native Apps EclipseCon Europe 2017 Open Java EE and Eclipse MicroProfile - A New Java Landscape for Cloud Native Apps Kevin Sutter MicroProfile and Java EE Architect @kwsutter Emily Jiang MicroProfile Development

More information

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how

More information

Tweet for Beer! Beer Tap Powered by Java Goes IoT, Cloud, and JavaFX Java end-to-end to pour some beer

Tweet for Beer! Beer Tap Powered by Java Goes IoT, Cloud, and JavaFX Java end-to-end to pour some beer Tweet for Beer! Beer Tap Powered by Java Goes IoT, Cloud, and JavaFX Java end-to-end to pour some beer Bruno Borges Principal Product Manager Developer Advocate Oracle Latin America March, 2015 Speaker

More information

Java EE und WebLogic Roadmap die nächsten Schritte

Java EE und WebLogic Roadmap die nächsten Schritte Java EE und WebLogic Roadmap die nächsten Schritte Peter Doschkinow Wolfgang Weigend ORACLE Deutschland B.V. & Co. KG November 2014 Safe Harbor Statement The following is intended to outline our general

More information

Keep Learning with Oracle University

Keep Learning with Oracle University Keep Learning with Oracle University Classroom Training Learning SubscripFon Live Virtual Class Training On Demand Cloud Technology ApplicaFons Industries educa7on.oracle.com 3 Session Surveys Help us

More information

RESTful Java with JAX-RS 2.0 and Jersey

RESTful Java with JAX-RS 2.0 and Jersey RESTful Java with JAX-RS 2.0 and Jersey Jakub Podlešák Oracle The following is intended to outline our general product direction. It is intended for information purposes only, and

More information

Courses For Event Java Advanced Summer Training 2018

Courses For Event Java Advanced Summer Training 2018 Courses For Event Java Advanced Summer Training 2018 Java Fundamentals Oracle Java SE 8 Advanced Java Training Java Advanced Expert Edition Topics For Java Fundamentals Variables Data Types Operators Part

More information

JAX-RS 2.1 New Features

JAX-RS 2.1 New Features JAX-RS 2.1 New Features What's in the queue for REST in Java EE 8? Markus KARG (Head Crashing Informatics, JSR 339, JSR 370) Java Forum Stuttgart, 2015-07-09 Legal Disclaimer This presentation expresses

More information

<Insert Picture Here> JAX-RS 2.0 What's New in JSR 339?

<Insert Picture Here> JAX-RS 2.0 What's New in JSR 339? JAX-RS 2.0 What's New in JSR 339? Lee Chuk Munn chuk-munn.lee@oracle.com The following is intended to outline our general product direction. It is intended for information purposes

More information

Enterprise Architectures

Enterprise Architectures Enterprise Architectures Petr Křemen petr.kremen@fel.cvut.cz Winter Term 2017 Petr Křemen (petr.kremen@fel.cvut.cz) Enterprise Architectures Winter Term 2017 1 / 29 Contents 1 Information about the course

More information

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect Server-Side JavaScript auf der JVM Peter Doschkinow Senior Java Architect The following is intended to outline our general product direction. It is intended for information purposes only, and may not be

More information

Optimizing Enterprise Java for a Microservices Architecture Otávio

Optimizing Enterprise Java for a Microservices Architecture Otávio Optimizing Enterprise Java for a Microservices Architecture Otávio Santana @otaviojava otaviojava@apache.org Enterprise Java Standards History J2EE 1.2 2000 Release Cadence J2EE 1.3 J2EE 1.4 2005 Java

More information

Project Loom Ron Pressler, Alan Bateman June 2018

Project Loom Ron Pressler, Alan Bateman June 2018 Project Loom Ron Pressler, Alan Bateman June 2018 Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1 Safe Harbor Statement The following is intended to outline our general product direction.

More information

Alan Bateman Java Platform Group, Oracle November Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1

Alan Bateman Java Platform Group, Oracle November Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1 Alan Bateman Java Platform Group, Oracle November 2018 Copyright 2018, Oracle and/or its affiliates. All rights reserved.!1 Project Loom Continuations Fibers Tail-calls Copyright 2018, Oracle and/or its

More information

Demystifying Microservices for Java EE Developers

Demystifying Microservices for Java EE Developers Demystifying Microservices for Java EE Developers David R. Heffelfinger @ensode Follow me on Twitter! @ensode 1 About me David R. Heffelfinger Independent consultant based in Fairfax, VA Author of several

More information

JDK 9, 变化与未来. Xuelei Fan

JDK 9, 变化与未来. Xuelei Fan 2016-4-21 JDK 9, 变化与未来 Xuelei Fan Java 20-Year Topics JDK 9 OpenJDK Community JDK 9 Schedule 2016/05/26 Feature Complete 2016/08/11 All Tests Run 2016/09/01 Rampdown Start 2016/10/20 Zero Bug Bounce 2016/12/01

More information

What HTTP/2 means to Java Developers?

What HTTP/2 means to Java Developers? What HTTP/2 means to Java Developers? May 2016 David Delabassee @delabassee Oracle Copyright 2016, Oracle and/or its affiliates. All rights reserved. About me Copyright 2016, Oracle and/or its affiliates.

More information

Keep Learning with Oracle University

Keep Learning with Oracle University Keep Learning with Oracle University Classroom Training Learning Subscription Live Virtual Class Training On Demand Cloud Technology Applications Industries education.oracle.com 3 Session Surveys Help

More information

JakartaEE and the road ahead An ASF View. Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien

JakartaEE and the road ahead An ASF View. Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien JakartaEE and the road ahead An ASF View Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien About me Mark Struberg 25 years in the industry Apache Software Foundation member struberg [at]

More information

Project Avatar: Server Side JavaScript on the JVM GeeCon - May David Software Evangelist - Oracle

Project Avatar: Server Side JavaScript on the JVM GeeCon - May David Software Evangelist - Oracle Project Avatar: Server Side JavaScript on the JVM GeeCon - May 2014! David Delabassee @delabassee Software Evangelist - Oracle The following is intended to outline our general product direction. It is

More information

Developing Applications for the Java EE 7 Platform 9-2

Developing Applications for the Java EE 7 Platform 9-2 Developing Applications for the Java EE 7 Platform 9-2 REST is centered around an abstraction known as a "resource." Any named piece of information can be a resource. A resource is identified by a uniform

More information

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket

More information

Reactive Java EE - Let Me Count the Ways!

Reactive Java EE - Let Me Count the Ways! Reactive Java EE - Let Me Count the Ways! Reza Rahman Java EE Evangelist Reza.Rahman@Oracle.com @reza_rahman Java Day Tokyo 2015 April 8, 2015 Safe Harbor Statement The following is intended to outline

More information

ADBA Asynchronous Database Access

ADBA Asynchronous Database Access ADBA Asynchronous Database Access A new asynchronous API for connecting to a database Douglas Surber Kuassi Mensah JDBC Architect Director, Product Management Database Server Technologies July 18, 2018

More information

Introduction to Java Platform, Enterprise Edition 7

Introduction to Java Platform, Enterprise Edition 7 An Oracle White Paper June 2013 Introduction to Java Platform, Enterprise Edition 7 Executive Overview... 3 Introduction... 3 Introducing Java Platform, Enterprise Edition 7... 5 Deliver Dynamic Scalable

More information

Agenda Time (PT) 8:45 a.m. Event Platform Opening 9:00 a.m. Keynote - Java: Present and Future Java EE 7 Java SE 8 Java Embedded

Agenda Time (PT) 8:45 a.m. Event Platform Opening 9:00 a.m. Keynote - Java: Present and Future Java EE 7 Java SE 8 Java Embedded Virtual Developer Day: Java 2014 May 6 th 9:00 a.m. - 1:00 p.m. PDT / 12:00 p.m. - 4:00 p.m. EDT / 1:00 p.m. 5:00 p.m. BRT Agenda Time (PT) 8:45 a.m. Event Platform Opening 9:00 a.m. Keynote - Java: Present

More information

EMEA/Africa/Middle East - Tuesday June 25th, :00:00 a.m. - 1:00pm BST / 10:00:00 a.m. - 2:00 p.m.cest /

EMEA/Africa/Middle East - Tuesday June 25th, :00:00 a.m. - 1:00pm BST / 10:00:00 a.m. - 2:00 p.m.cest / EMEA/Africa/Middle East - Tuesday June 25th, 2013 9:00:00 a.m. - 1:00pm BST / 10:00:00 a.m. - 2:00 p.m.cest / 1:30:00 p.m. - 5:30:00 p.m. IST / 12:00:00 p.m. - 4:00 p.m. MSK / 08:00:00 a.m. - 12:00 p.m.

More information

Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing

Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing Enterprise Java in 2012 and Beyond From Java EE 6 To Cloud Computing Jürgen Höller, Principal Engineer, SpringSource 2012 SpringSource, A division of VMware. All rights reserved Deployment Platforms: Becoming

More information

Introduction to MVC 1.0

Introduction to MVC 1.0 Introduction to MVC 1.0 David Delabassee - @delabassee Software Evangelist Cloud & Microservices - Oracle Java Day Tokyo 2016 May 24, 2016 Copyright 2016, Oracle and/or its its affiliates. All All rights

More information

Meet. Brian Stansberry Principal Software Engineer, Red Hat, Inc. June 10, Friday, June 14, 13

Meet. Brian Stansberry Principal Software Engineer, Red Hat, Inc. June 10, Friday, June 14, 13 Meet Brian Stansberry Principal Software Engineer, Red Hat, Inc. June 10, 2013 What s WildFly? New name for the JBoss Application Server project Reduce confusion over the name JBoss WildFly won a public

More information

Copyright 2013, Oracle and/or its affiliates. All rights reserved. CON-7777, JMS and WebSocket for Lightweight and Efficient Messaging

Copyright 2013, Oracle and/or its affiliates. All rights reserved. CON-7777, JMS and WebSocket for Lightweight and Efficient Messaging 1 JMS and WebSocket for Lightweight and Efficient Messaging Ed Bratt Senior Development Manager, Oracle Amy Kang Consulting Member Technical Staff, Oracle Safe Harbor Statement please note The following

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

Java SE 8 Fundamentals

Java SE 8 Fundamentals Oracle University Contact Us: +52 1 55 8525 3225 Java SE 8 Fundamentals Duration: 5 Days What you will learn This Java SE 8 Fundamentals training introduces you to object-oriented programming using the

More information

Rest Client for MicroProfile. John D. Ament, Andy McCright

Rest Client for MicroProfile. John D. Ament, Andy McCright Rest Client for MicroProfile John D. Ament, Andy McCright 1.2-m2, December 10, 2018 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

A RESTful Java Framework for Asynchronous High-Speed Ingest

A RESTful Java Framework for Asynchronous High-Speed Ingest A RESTful Java Framework for Asynchronous High-Speed Ingest Pablo Silberkasten Jean De Lavarene Kuassi Mensah JDBC Product Development October 5, 2017 3 Safe Harbor Statement The following is intended

More information

Continuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016

Continuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016 Continuous delivery of Java applications using Oracle Cloud Platform Services Marek Kratky Principal Sales Consultant Oracle Cloud Platform May, 2016 Safe Harbor Statement The following is intended to

More information

Rest Client for MicroProfile. John D. Ament, Andy McCright

Rest Client for MicroProfile. John D. Ament, Andy McCright Rest Client for MicroProfile John D. Ament, Andy McCright 1.1, May 18, 2018 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

Migrating traditional Java EE applications to mobile

Migrating traditional Java EE applications to mobile Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16

More information

Java EE 6: Develop Web Applications with JSF

Java EE 6: Develop Web Applications with JSF Oracle University Contact Us: +966 1 1 2739 894 Java EE 6: Develop Web Applications with JSF Duration: 4 Days What you will learn JavaServer Faces technology, the server-side component framework designed

More information

Do-It-Yourself 1. Oracle Big Data Appliance 2X Faster than

Do-It-Yourself 1. Oracle Big Data Appliance 2X Faster than Oracle Big Data Appliance 2X Faster than Do-It-Yourself 1 Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such

More information

REST WEB SERVICES IN JAVA EE 6 AND SPRING 3. Srini Penchikala Austin Java User Group March 30, 2010

REST WEB SERVICES IN JAVA EE 6 AND SPRING 3. Srini Penchikala Austin Java User Group March 30, 2010 REST WEB SERVICES IN JAVA EE 6 AND SPRING 3 Srini Penchikala Austin Java User Group March 30, 2010 ABOUT THE SPEAKER Security Architect Certified SCRUM Master Writer, Editor (InfoQ) Detroit Java User Group

More information

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Copyright 2013, Oracle and/or its affiliates. All rights reserved. 1 What s New in Portlet 3.0 and JSF 2.2 Ed Burns @edburns Software Stylist, Oracle Corporation Presenting with The following is intended to outline our general product direction. It is intended for information

More information

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE ORACLE WEBLOGIC SERVER KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE Oracle WebLogic Server Enterprise Edition, plus Oracle Coherence Enterprise Edition Scale-out for data intensive applications Active

More information

Asynchronous API with CompletableFuture

Asynchronous API with CompletableFuture Asynchronous API with CompletableFuture Performance Tips and Tricks Sergey Kuksenko Java Platform Group, Oracle October, 2017 Safe Harbor Statement The following is intended to outline our general product

More information

Making The Future Java

Making The Future Java Making The Future Java Dalibor Topić (@robilad) Principal Product Manager October 18th, 2013 - HrOUG, Rovinj 1 The following is intended to outline our general product direction. It is intended for information

More information

Rest Client for MicroProfile. John D. Ament, Andy McCright

Rest Client for MicroProfile. John D. Ament, Andy McCright Rest Client for MicroProfile John D. Ament, Andy McCright 1.0, December 19, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

JAVA EE 7 FROM AN HTML5 PERSPECTIVE. Ed and Oliver

JAVA EE 7 FROM AN HTML5 PERSPECTIVE. Ed and Oliver JAVA EE 7 FROM AN HTML5 PERSPECTIVE Ed Burns @edburns and Oliver Szymanski @source_knights Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information

More information

Restful Application Development

Restful Application Development Restful Application Development Instructor Welcome Currently a consultant in my own business and splitting my time between training and consulting. Rob Gance Assist clients to incorporate Web 2.0 technologies

More information

Hands-on Development of Web Applications with Java EE 6

Hands-on Development of Web Applications with Java EE 6 Hands-on Development of Web Applications with Java EE 6 Vítor E. Silva Souza JUG Trento Member & DISI/Unitn PhD Candidate http://disi.unitn.it/~vitorsouza/ Java Created by Sun Microsystems in 1995 Sun

More information

Integrating your CX, ERP and HCM Clouds with your On-premises Applications CON7012

Integrating your CX, ERP and HCM Clouds with your On-premises Applications CON7012 OpenWorld 2016 Integrating your CX, ERP and HCM Clouds with your On-premises Applications CON7012 Rajesh Kalra, Sr. Principal Product Manager, Oracle Ravi Sankaran, Sr. Director, Oracle Cloud Integration

More information

Application Container Cloud

Application Container Cloud APPLICATION CONTAINER CLOUD Application Container Cloud with Java SE and Node The Best Java SE and Node Cloud. Get the choice of either Oracle Java SE Advanced, including Flight Recorder for production

More information

Asynchronous Web Services: From JAX-RPC to BPEL

Asynchronous Web Services: From JAX-RPC to BPEL Asynchronous Web Services: From JAX-RPC to BPEL Jonathan Maron Oracle Corporation Page Agenda Loose versus Tight Coupling Asynchronous Web Services Today Asynchronous Web Service Standards WS-Reliability/WS-ReliableMessaging

More information

RESTEasy. Distributed peace of mind

RESTEasy. Distributed peace of mind RESTEasy Distributed peace of mind 1 Agenda Why REST? Writing RESTFul Web Services in Java JAX-RS RESTEasy features RESTEasy Roadmap 2 Speaker s Qualifications RESTEasy project lead Fully certified JAX-RS

More information

RESTful Java with JAX-RS

RESTful Java with JAX-RS RESTful Java with JAX-RS Bill Burke TECHMiSCHE INFORMATIO N SEIBLIOTH EK UNIVERSITATSBiBLIQTHEK HANNOVER O'REILLY Beijing Cambridge Farnham Koln Sebastopol Taipei Tokyo Table of Contents Foreword xiii

More information

Java EE 6 - Update Harpreet Singh GlassFish Portfolio Product Manager

Java EE 6 - Update Harpreet Singh GlassFish Portfolio Product Manager Java EE 6 - Update Harpreet Singh GlassFish Portfolio Product Manager Sun Microsystems 1 The Elephant In The Room 2 Here's what I can... Show Say 3 Business As Usual 4 Business As Usual = Participate in

More information

Roadmap to Cloud with Cloud Application Foundation

Roadmap to Cloud with Cloud Application Foundation Roadmap to Cloud with Cloud Application Foundation Maciej Gruszka Oracle FMW PM, EMEA Copyright 2014, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The preceding is intended

More information

V3 EJB Test One Pager

V3 EJB Test One Pager V3 EJB Test One Pager Overview 1. Introduction 2. EJB Testing Scenarios 2.1 EJB Lite Features 2.2 API only in Full EJB3.1 3. Document Review 4. Reference documents 1. Introduction This document describes

More information

Cheat Sheet: Wildfly Swarm

Cheat Sheet: Wildfly Swarm Cheat Sheet: Wildfly Swarm Table of Contents 1. Introduction 1 5.A Java System Properties 5 2. Three ways to Create a 5.B Command Line 6 Swarm Application 1 5.C Project Stages 6 2.A Developing a Swarm

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware What's New in Oracle WebLogic Server 11g Release 1 (10.3.5) E13852-07 April 2011 Welcome to Oracle WebLogic Server. The following sections describe new and changed functionality

More information

Building the Enterprise

Building the Enterprise Building the Enterprise The Tools of Java Enterprise Edition 2003-2007 DevelopIntelligence LLC Presentation Topics In this presentation, we will discuss: Overview of Java EE Java EE Platform Java EE Development

More information

What s coming in Java EE 8

What s coming in Java EE 8 What s coming in Java EE 8 David Delabassee - @delabassee Software Evangelist Java EE Org. - Oracle June 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved. Agenda Preview of Java EE

More information

Liberty Right Fit for MicroProfile

Liberty Right Fit for MicroProfile IBM _ 1 Liberty Right Fit for MicroProfile Alasdair Nottingham, IBM, STSM, WebSphere Runtime Architect Kevin Sutter, IBM, STSM, Java EE Architect JavaOne Sept 2016 Who Are We? Kevin Sutter WebSphere Java

More information

HEALTH CARE FOR THE ELDERLY USING. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

HEALTH CARE FOR THE ELDERLY USING. Copyright 2015, Oracle and/or its affiliates. All rights reserved. HEALTH CARE FOR THE ELDERLY USING Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

More information

<Insert Picture Here> Java Virtual Developer Day

<Insert Picture Here> Java Virtual Developer Day 1 Java Virtual Developer Day Simon Ritter Technology Evangelist Virtual Developer Day: Agenda Keynote: The Java Platform: Now and the Future What is Java SE 7 and JDK 7 Diving into

More information

5.1 Registration and Configuration

5.1 Registration and Configuration 5.1 Registration and Configuration Registration and Configuration Apache Wink provides several methods for registering resources and providers. This chapter describes registration methods and Wink configuration

More information

SERVICE TECHNOLOGIES

SERVICE TECHNOLOGIES SERVICE TECHNOLOGIES Exercises 3 16/04/2014 Valerio Panzica La Manna valerio.panzicalamanna@polimi.it http://servicetechnologies.wordpress.com/exercises/ REST: Theory Recap REpresentational State Transfer

More information

ebusiness Suite goes SOA

ebusiness Suite goes SOA ebusiness Suite goes SOA Ulrich Janke Oracle Consulting Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not

More information

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

Oracle Application Container Cloud

Oracle Application Container Cloud Oracle Application Container Cloud Matthew Baldwin Principal Product Manager Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes

More information

Using Java CompletionStage in Asynchronous Programming

Using Java CompletionStage in Asynchronous Programming Using Java CompletionStage in Asynchronous Programming DEV4798 Douglas Surber Oracle Database JDBC Architect Database Server Technologies October 25, 2018 Safe Harbor Statement The following is intended

More information

Building Real-time Data in Web Applications with Node.js

Building Real-time Data in Web Applications with Node.js Building Real-time Data in Web Applications with Node.js Dan McGhan Oracle Developer Advocate JavaScript and HTML5 March, 2017 Copyright 2017, Oracle and/or its affiliates. All rights reserved. Safe Harbor

More information

Asynchronous API with CompletableFuture

Asynchronous API with CompletableFuture Asynchronous API with CompletableFuture Performance Tips and Tricks Sergey Kuksenko Java Platform Group, Oracle November, 2017 Safe Harbor Statement The following is intended to outline our general product

More information

JSR 365 (CDI 2.0) Review

JSR 365 (CDI 2.0) Review JSR 365 (CDI 2.0) Review June 16 2015 Antoine Sabot-Durand Agenda History & Background Goals CDI survey Expert Group and working method CDI 2.0 Early Draft 1 Work done on RI and TCK Next steps Q&A 2 History

More information

1 Markus Eisele, Insurance - Strategic IT-Architecture

1 Markus Eisele, Insurance - Strategic IT-Architecture 1 Agenda 1. Java EE Past, Present and Future 2. Java EE 7 Platform as a Service 3. PaaS Roadmap 4. Focus Areas 5. All the Specs 2 http://blog.eisele.net http://twitter.com/myfear markus.eisele@msg-systems.com

More information

Adopt-a-JSR Panel for 16 October 2014

Adopt-a-JSR Panel for 16 October 2014 Adopt-a-JSR Panel for VJUG 1 @jcp_org 16 October 2014 Introduction of Speakers Ed Burns Arun Gupta Heather VanCura Martijn Verburg 2 3 Celebrating 15 years! 4 JCP is now more open than before Public JSR

More information