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

Size: px
Start display at page:

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

Transcription

1

2 JAX-RS and CDI Bike the (ReacIve) Bridge CON2549 David Delabassée - Oracle José Paumard - Consultant October,

3 @delabassee 3

4

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

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

7 reacive adjecive re ac Ive \ rē-ˈak-iv \ 1 :of, relaing to, or marked by reacion or reactance 2 a :readily responsive to a simulus h`ps:// 7

8 JAX-RS 8

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

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

11 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>>() {}); 11

12 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); 12

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

14 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) { } // 14

15 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(); 15

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

17 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! } 17

18 The Travel Service 18

19 The Travel Service Synchronous Customer details: 150 ms Recommended desinaions: 250 ms Price calculaion for a customer and desinaion: 170 ms (each) Weather forecast for a desinaion: 330 ms (each) ms 19

20 The Travel Service Asynchronous 730 ms 20

21 The Travel Service 21

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

23 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 } }); 23

24 JAX-RS Client API New JAX-RS ReacJve Invoker // JAX-RS 2.0 Response response = client.target(recommandationservice).request().get(); Future<Response> futureresponse = client.target(recommandationservice).request().async().get(); // JAX-RS 2.1 CompletionStage<Response> completionstageresp = client.target(recommandationservice).request().rx().get(); 24

25 CompleIonStage API A model for a Task That performs an acion and may return a value That can be triggered by another task That may trigger another task That can be executed in a different thread A CompleJonStage is an element of an asynchronous chain 25

26 CompleIonStage Pipeline CS 1 CS 21 CS 31 CS 41 CS 22 CS 32 26

27 The Travel Service CompletionStage<JsonObject> queryforecastcs = client.target("forecast").queryparam("format", "json").request().rx().get(jsonobject.class); Function<JsonObject, Forecast> unmarshallforecast = jsonobject -> JsonBuilder.create().fromJson(jsonObject.toString(), Forecast.class); Function<Destination, CompletionStage<Void>> populatewithforecast = destination -> queryforecastcs.thenapply(unmarshallforecast).thenaccept(forecast -> destination.setforecast(forecast)); Function<Destination, CompletionStage<Void>> populatewithquotation = destination -> queryquotationcs.thenapply(unmarshallquotation).thenaccept(quotation -> destination.setquotation(quotation)); 27

28 The Travel Service Function<Destination, CompletableFuture<Void>> populatedestination = destination -> CompletableFuture.allOf( populatewithforecast.apply(destination).tocompletablefuture(), populatewithquotation.apply(destination).tocompletablefuture() ).tocompletablefuture(); 28

29 The Travel Service Function<Destination, CompletableFuture<Void>> populatedestination = destination -> CompletableFuture.allOf( populatewithforecast.apply(destination).tocompletablefuture(), populatewithquotation.apply(destination).tocompletablefuture() ).tocompletablefuture(); Function<List<Destination>, CompletableFuture<?>[]> populatedestinations = destinations -> destinations.stream().map(populatedestination).toarray(completablefuture[]::new); 29

30 The Travel public void final AsyncResponse asyncresponse) { CompletionStage<List<Destination>> destinationcs = client.target("destination").queryparam("format", "json").request().rx().get(/* some JSONB code */); CompletionStage<List<Destination>> updateddestinationscs = destinationcs.thencompose(completablefuture.allof(populatedestinations)); } asyncresponse.resume(updateddestinationscs.tocompletablefuture().get()); 30

31 The Travel public CompletionStage<Destination> populatedestination() { CompletionStage<List<Destination>> destinationcs = client.target("destination").queryparam("format", "json").request().rx().get(/* some JSONB code */); CompletionStage<List<Destination>> updateddestinationscs = destinationcs.thencompose(completablefuture.allof(populatedestinations)); } return updateddestinationscs; 31

32 ExcepIon Handling CS 1 CS 21 CS 31 CS 41 CS 22 CS 32 32

33 ExcepIon Handling excepjonaly() Returns a new CompleJonStage That completes when the CS completes Either with the same result (normal compleion) Or with the transformed excepion stage.exceptionaly( // Function exception -> dosomethingnottoostupidwith(exception)); 33

34 ExcepIon Handling handle() Returns a new CompleJonStage That completes when the CS completes Calls the BiFuncJon with a null as result or excepion stage.handle( // BiFunction (result, exception) -> dosomethingwith(result, exception)); 34

35 ExcepIon Handling whencomplete() Returns a new CompleJonStage With the same result or excepion as this stage That executes the given acion when this stage completes stage.whencomplete( // BiConsumer + async version (result, exception) -> dosomethingwith(result, exception)); 35

36 ExcepIon Handling CompletionStage<Void> quotation = client.target("quotation").request().rx().get(jsonobject.class).thenapply(unmarshallquotation).exceptionnaly(throwable -> null).thenaccept(destination::setquotation); 36

37 ExcepIon Handling CompletionStage<Void> quotation = client.target("quotation").request().rx().get(jsonobject.class).thenapply(unmarshallquotation).handle(((quotation, throwable) -> { if (throwable == null) { destination.setquotation(quotation); } else { // try to do something smart with the exception } } 37

38 JAX-RS ReacIve Extensions Supported on all HTTP Methods of the Client API DELETE GET HEAD OPTIONS POST PUT TRACE 38

39 JAX-RS ReacIve Extensions ImplementaIons MUST support an invoker for CompleJonStage ImplementaIons MAY support other reacive APIs Jersey CompleIonStageRxInvoker (Default) RxListenableFutureInvoker Guava RxObservableInvoker RxJava RxFlowableInvoker RxJava2 client.register(rxflowableinvokerprovider.class); client.target(...)....rx(rxflowableinvoker.class).get(); h`ps://github.com/jersey/jersey/tree/master/ext/rx 39

40 CDI 40

41 CDI 2.0 Context and Dependency InjecJon JSR 365 Java EE 8 Java SE focus Modular specificaion CDI Container bootstraping Obersevers Ordering Asynchronous Events 41

42 Asynchronous Events // Event<Payload> event; public void acriticalbusinessmethod() { } CompletionStage<Payload> cs = event.fireasync(new Payload()); // Consumer public void anoberser(@observesasync Payload event) { // do something with the payload } 42

43 Asynchronous Events // Event<Payload> event; public void acriticalbusinessmethod() { } CompletionStage<Payload> cs = event.fireasync(new Payload(), executor); 43

44 Asynchronous Events // Event<Payload> event; public void acriticalbusinessmethod() { } CompletionStage<Payload> cs = event.fireasync(new Payload(), SwingUtilities::invokeLater); 44

45 Wrap-up 45

46 Java EE 8 ModernizaIon & SimplificaIon 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 (*) ReacIve 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 integraion, Portable IdenIty Store, AuthenIcaIon & Security Context 46

47

What s New in JAX-RS 2.1?

What s New in JAX-RS 2.1? What s New in JAX-RS 2.1? CON3625 David Delabassée @delabassee Java and Container NaMve PlaOorm - Oracle October, 2017 1 @delabassee 2 Safe Harbor Statement The following is intended to outline our general

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. 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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

<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

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

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

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

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

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

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

The New HTTP Client API in Java 11

The New HTTP Client API in Java 11 The New HTTP Client API in Java 11 Sergey Kuksenko Java Platform Group, Oracle October, 2018 Safe Harbor Statement The following is intended to outline our general product directon. It is intended for

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

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

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

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

RESTful Microservices

RESTful Microservices RESTful Microservices In Java With Jersey Jakub Podlešák So9ware Engineer Oracle, ApplicaAon Server Group September 29, 2014 Copyright 2014, Oracle and/or its affiliates. All rights reserved. Safe Harbor

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

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

[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

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

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

<Insert Picture Here> Exploring Java EE 6 The Programming Model Explained

<Insert Picture Here> Exploring Java EE 6 The Programming Model Explained Exploring Java EE 6 The Programming Model Explained Lee Chuk Munn chuk-munn.lee@oracle.com The following is intended to outline our general product direction. It is intended for information

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

Completable Future. Srinivasan Raghavan Senior Member of Technical Staff Java Platform Group

Completable Future. Srinivasan Raghavan Senior Member of Technical Staff Java Platform Group Completable Future Srinivasan Raghavan Senior Member of Technical Staff Java Platform Group Program Agenda 1 2 3 4 java.util.future Introduction Cloud Services Design and the fight for Performance CompletableFuture

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

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

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

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

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

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

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

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

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

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

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

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

CPL 2016, week 6. Asynchronous execution. Oleg Batrashev. March 14, Institute of Computer Science, Tartu, Estonia

CPL 2016, week 6. Asynchronous execution. Oleg Batrashev. March 14, Institute of Computer Science, Tartu, Estonia CPL 2016, week 6 Asynchronous execution Oleg Batrashev Institute of Computer Science, Tartu, Estonia March 14, 2016 Overview Studied so far: 1. Inter-thread visibility: JMM 2. Inter-thread synchronization:

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

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

What's new and noteworthy in Java EE 8? Dirk Weil, GEDOPLAN GmbH

What's new and noteworthy in Java EE 8? Dirk Weil, GEDOPLAN GmbH What's new and noteworthy in Java EE 8? 13.03.2018 Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Consulting, coaching, concepts, reviews, development GEDOPLAN IT Training

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

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

JAX-RS and Jersey Paul Sandoz

JAX-RS and Jersey Paul Sandoz JAX-RS and Jersey Paul Sandoz JAX-RS co-spec lead and Jersey lead mailto:paul.sandoz@sun.com http://blogs.sun.com/sandoz https://twitter.com/paulsandoz/ 1 Overview Terminology Information & Status Integration

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

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

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

Best Practices for JSF Portlet Migration and Development

Best Practices for JSF Portlet Migration and Development Best Practices for JSF Portlet Migration and Development IBM WebSphere Portal: Open Mic April 23, 2013 Jaspreet Singh Architect for RAD Portal tools Mansi Gaba Staff software engineer for RAD Portal tools

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

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

open source community experience distilled

open source community experience distilled Java EE 6 Development with NetBeans 7 Develop professional enterprise Java EE applications quickly and easily with this popular IDE David R. Heffelfinger [ open source community experience distilled PUBLISHING

More information

Spring MVC 4.x Spring 5 Web Reactive

Spring MVC 4.x Spring 5 Web Reactive Part 1 Spring MVC 4.x Spring 5 Web Reactive Rossen Stoyanchev @rstoya05 Spring MVC 4.3 Reactive programming for Java devs Spring 5 Web Reactive Shortcut Annotations @RequestMapping @GetMapping @PostMapping

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

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

<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

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 Developing Enterprise Applications with J2EE Enterprise Technologies Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 5 days Course Description:

More information

Oracle Corporation

Oracle Corporation 1 2012 Oracle Corporation Exploring Java EE 6 and WebLogic 12c Arun Gupta blogs.oracle.com/arungupta, @arungupta 2 2012 Oracle Corporation The following is intended to outline our general product direction.

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

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

Business Logic and Spring Framework

Business Logic and Spring Framework Business Logic and Spring Framework Petr Křemen petr.kremen@fel.cvut.cz Winter Term 2017 Petr Křemen (petr.kremen@fel.cvut.cz) Business Logic and Spring Framework Winter Term 2017 1 / 32 Contents 1 Business

More information

Red Hat JBoss Enterprise Application Platform 7.2

Red Hat JBoss Enterprise Application Platform 7.2 Red Hat JBoss Enterprise Application Platform 7.2 Introduction to JBoss EAP For Use with Red Hat JBoss Enterprise Application Platform 7.2 Last Updated: 2018-11-29 Red Hat JBoss Enterprise Application

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

Modern web applications and web sites are not "islands". They need to communicate with each other and share information.

Modern web applications and web sites are not islands. They need to communicate with each other and share information. 441 Modern web applications and web sites are not "islands". They need to communicate with each other and share information. For example, when you develop a web application, you may need to do some of

More information

Fire Exit Announcement

Fire Exit Announcement Fire Exit Announcement Please note the locations of the surrounding emergency exits & located the nearest lit EXIT sign to you In the event of a fire alarm or other emergency, please calmly exit to the

More information

Contents at a Glance

Contents at a Glance Contents at a Glance 1 Java EE and Cloud Computing... 1 2 The Oracle Java Cloud.... 25 3 Build and Deploy with NetBeans.... 49 4 Servlets, Filters, and Listeners... 65 5 JavaServer Pages, JSTL, and Expression

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

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

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

CONVERTIGO SDK THE ULTIMATE CLIENT MOBILE API FOR CONVERTIGO MBAAS

CONVERTIGO SDK THE ULTIMATE CLIENT MOBILE API FOR CONVERTIGO MBAAS CONVERTIGO SDK THE ULTIMATE CLIENT MOBILE API FOR CONVERTIGO MBAAS WHY CONVERTIGO SDK? Abstracts Mobile app developer from protocol complexity Gives simple cross-platform API to access Convertigo MBaaS

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

Java EE 7: Back-End Server Application Development

Java EE 7: Back-End Server Application Development Oracle University Contact Us: Local: 0845 777 7 711 Intl: +44 845 777 7 711 Java EE 7: Back-End Server Application Development Duration: 5 Days What you will learn The Java EE 7: Back-End Server Application

More information

Exam Questions 1Z0-419

Exam Questions 1Z0-419 Exam Questions 1Z0-419 Oracle Application Development Framework 12c Essentials https://www.2passeasy.com/dumps/1z0-419/ 1.Which statement is true about an ADF Business Components list of values? (Choose

More information

Javaentwicklung in der Oracle Cloud

Javaentwicklung in der Oracle Cloud Javaentwicklung in der Oracle Cloud Sören Halter Principal Sales Consultant 2016-11-17 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information

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

B U I L D I N G O N T H E G A T E W A Y. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

B U I L D I N G O N T H E G A T E W A Y. Copyright 2015, Oracle and/or its affiliates. All rights reserved. B U I L D I N G O N T H E G A T E W A Y 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

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

Java SE 8 Programming

Java SE 8 Programming Java SE 8 Programming Training Calendar Date Training Time Location 16 September 2019 5 Days Bilginç IT Academy 28 October 2019 5 Days Bilginç IT Academy Training Details Training Time : 5 Days Capacity

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

More information

What's upcoming to OSGi

What's upcoming to OSGi What's upcoming to OSGi OSGi R7 Release is coming. Are you ready? Raymond Augé raymond.auge@liferay.com Name @twitterhandle 3 Module Layer New Developers and SCM metadata headers: Bundle-Developers: raymond.auge;email=raymond.auge@liferay.com;

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

Complete Java Contents

Complete Java Contents Complete Java Contents Duration: 60 Hours (2.5 Months) Core Java (Duration: 25 Hours (1 Month)) Java Introduction Java Versions Java Features Downloading and Installing Java Setup Java Environment Developing

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

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

CO Java EE 6: Develop Web Services with JAX-WS & JAX-RS

CO Java EE 6: Develop Web Services with JAX-WS & JAX-RS CO-77754 Java EE 6: Develop Web Services with JAX-WS & JAX-RS Summary Duration 5 Days Audience Java Developer, Java EE Developer, J2EE Developer Level Professional Technology Java EE 6 Delivery Method

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

"Web Age Speaks!" Webinar Series

Web Age Speaks! Webinar Series "Web Age Speaks!" Webinar Series Java EE Patterns Revisited WebAgeSolutions.com 1 Introduction Bibhas Bhattacharya CTO bibhas@webagesolutions.com Web Age Solutions Premier provider of Java & Java EE training

More information