[CON7983] JAX-RS 2.1 for Java EE 8

Size: px
Start display at page:

Download "[CON7983] JAX-RS 2.1 for Java EE 8"

Transcription

1

2

3 [CON7983] JAX-RS 2.1 for Java EE 8 Ed Burns Pavel Bucek Oracle September, 2016

4 Safe Harbor Statement The preceding is intended to outline our general product direcuon. It is intended for informauon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcuonality, and should not be relied upon in making purchasing decisions. The development, release, and Uming of any features or funcuonality described for Oracle s products remains at the sole discreuon of Oracle. 4

5 Speaker Bios Ed Burns Pavel Bucek Servlet and JSF co-spec lead Frequent internauonal conference speaker Author of four Enterprise Java related books from McGraw-Hill Java API for WebSocket spec lead Long Ume Jersey developer and implementauon lead REST expert 5

6 Program Agenda JAX-RS in Java EE 8 ReacUve API, NIO Improvements Server sent events Java EE integrauon, Circuit breakers, HTTP/2 Roadmap, Q&A ConfidenUal Oracle Internal/Restricted/Highly Restricted 6 E

7 JAX-RS in Java EE 8 ExisUng proposal of scope remains unchanged We will fold in and make adjustments to beher align JAX-RS with Java EE 8 focus on microservices, containers, and other key aspects of the Java EE 8 update. Jersey will conunue to be the reference implementauon GlassFish will conunue to be the release vehicle 7 E

8 Why JAX-RS is important If you are doing REST in Java, you are likely doing JAX-RS Most popular alternauve is Spring RestController Several popular frameworks depend on or leverage Jersey Dropwizard Spring Boot Apache Camel Ehcache Server MulUple implementauons Jersey (Reference ImplementaUon) RESTEasy Apache CXF 8 E

9 Brief Aside Cavium Java on ARM64 Servers and Scaling with Many Core Processors [CON8256] Tuesday, Sep 20, 4:00 p.m. - 5:00 p.m. Hilton - Golden Gate 6/7/8 9 E

10 JAX-RS history JAX-RS 1.1 JSR 311, Java EE 6, 2009 Java API for REST services, POJO based, HTTP centric, Container independent, JAX-RS 2.0 JSR 339, Java EE 7, 2014 REST Client API, Filters and interceptors, Async processing, Bean validauon, JSON-P, JAX-RS 2.1 JSR-370, Java EE 8, 2017 Non-blocking IO, ReacUve clients, Server Sent Events 10 E

11 InnovaUon and StandardizaUon Jersey and other sources influence JAX-RS Jersey 1.x 2.x 3.x Client ReacUve API? Filters SSE JAX-RS x 11 E

12 InnovaUon and StandardizaUon Jersey and other sources influence JAX-RS Jersey JAX-RS 1.0 client filters E

13 InnovaUon and StandardizaUon Jersey and other sources influence JAX-RS Jersey JAX-RS 2.0 reactive SSE... client filters 13 E

14 InnovaUon and StandardizaUon Jersey and other sources influence JAX-RS Jersey JAX-RS client filters reactive SSE 14 E

15 ReacUve Client API - Future<T> JAX-RS E

16 ReacUve API Copyright 2016, Oracle and/or its affiliates. All rights reserved. 16

17 ReacUve Client API - InvocaUonCallback<T> JAX-RS E

18 ReacUve Client API - CompletableFuture<T> JAX-RS 2.1 Java 8 improved Future<T> CompletableFuture<T> is an implementauon of CompleUonStage<T> Lots and lots of features (~38 methods) ComposiUon, callbacks, thenapply, thenaccept, thenrun, thencombine,... Ideal for sequenual reacuve invocauon Get responses from s1 and s2, combine results, call s3 and print out response 18 E

19 ReacUve Client API - CompletableFuture<T> JAX-RS 2.1 CompletableFuture vs Invoca@onCallback 19 P

20 ReacUve Client API - CompletableFuture<T> JAX-RS P

21 ReacUve Client API JAX-RS 2.1 Client RX API is extensible RxInvoker<T> InvocaUon.Builder <T extends RxInvoker> T rx(class<t> clazz) Guava ListenableFuture RxJava Observable SpecificaUon itself most likely won t require support for anything else than CompletableFuture<T>, but implementauons CAN provide support for whatever they like. 21 E

22 ReacUve Client API in Jersey Nice example of implementauon first approach hhps://github.com/jersey/jersey/tree/master/ext/rx (similar to SSE, which was also implemented in Jersey.. Long Ume ago. In this galaxy.) 22 E

23 TradiUonal Synchronous Request/Response public class StoreResource public List<PromotedProduct> getwishlistedpromotions() { List<PromotedProduct> result = new LinkedList<>(); for (String productid : usermanagementservice.getwishlistedproducts(userid)) { List<Promotion> promotions = promotionservice.getpromotionsfor(productid); Product product = productcatalog.getdetail(productid); } result.add(new PromotedProduct(promotions, product)); } return result; } ConfidenUal Oracle Internal/Restricted/Highly Restricted 23 E

24 ProgrammaUc (Semi)ReacUve public class StoreResource String userid; private vola@le boolean done = false; private final TransferQueue<PromotedProduct> events = @Produces("text/event-stream") public void final AsyncResponse asyncresponse) { asyncresponse.resume(new StreamingOutput() public void write(outputstream out) { while (!done) { PromotedProduct product = events.take(); out.write(product.tossejson()); } } }); } CompletableFuture<ServletInputStream> productidstreamfuture = usermanagementservice.getasyncwishlistedproducts(userid); productidstreamfuture.whencomplete((servletinput, excepuon) -> { if (excepuon!= null) { asyncresponse.resume(cause); } servletinput.setreadlistener(new ReadListener public void ondataavailable() { try { do { OpUonal<String> productidopuonal = readnextproductid(input); productidopuonal.ifpresent(this::processproductid); } while (input.isready()); } catch (IOExcepUon e) { handleexcepuon(e); } public void onalldataread() { done = true; public void onerror(throwable t) { handleexcepuon(t); } }); }); } private processproductid(string productid) { CompletableFuture<List<PromoUon>> promouonsfuture = promouonservice.getasyncpromouonsfor(productid); } CompletableFuture<Product> productfuture = productcatalog.getdetail(productid); promouonsfuture.thencombine(productfuture, (promouons, product) -> { events.transfer(new PromotedProduct(promoUons, product)) }).excepuonally(this::handleexcepuon); // more methods ConfidenUal Oracle Internal/Restricted/Highly Restricted 24 E

25 DeclaraUve ReacUve public class StoreResource String public PromotedProduct List<Promotion> Product product) { return new PromotedProduct(promotions, product); } getpromouons Product ID public List<Promotion> getpromotions(@result("productid") String productid) { return promotionservice.getpromotionsfor(productid); } PromoUons??? Product Detail public Product getproductdetail(@result("productid") String productid) { return productcatalog.getdetail(productid); public EventSource<String> getproductidevents() { return usermanagementservice.getwishlistedproducts(userid); } Promoted Product getwishlistedpromouon Emit as SSE Event ConfidenUal Oracle Internal/Restricted/Highly Restricted 25 E

26 Non-blocking I/O Async / reacuve is not non-blocking! Async processing usually just fires another thread, which is BLOCKED unul it does what it needs JAX-RS supports Async processing since 2.0 (Since Servlet 3.0) Server side suspend current thread, do the work in different one, resume the response. Client side future / callback 26 P

27 Non-blocking I/O JAX-RS defines several APIs where standard Java Input/Output Streams are used because of that, any JAX-RS implementauon is blocking by design MessageBodyReader and MessageBodyWriter will need to be changed It s not clear how yet Several opuons, from new MBR/MBW interfaces, to something similar to Servlet input/output stream 27 P

28 Non-blocking I/O JAX-RS 2.1 milestone 1 JAX-RS API NIO Proposal NioInvoker NioWriterHandler NioOutputStream extends OutputStream Work in progress 28 P

29 Server Sent Events JAX-RS 2.1 Special Media Type text/event-stream W3 standard, part of HTML 5 Server to Client communicauon channel Text protocol, separate messages with some metadata event, data, id, retry 29 P

30 Server Sent Events JAX-RS 2.1 Client GET /sse Accept: text/event-stream Server HTTP/ OK Content-Type: text/event-stream Date: Tue, 06 Sep :39:30 GMT Transfer-Encoding: chunked event: custom-message data: JAX-RS 2.1 event: custom-message data: test event: custom-message data: JavaOne P

31 Server Sent Events JAX-RS 2.1 Client GET /sse Accept: text/event-stream Server HTTP/ OK Content-Type: text/event-stream Date: Tue, 06 Sep :39:30 GMT Transfer-Encoding: chunked event: custom-message data: JAX-RS 2.1 event: custom-message data: test event: custom-message data: JavaOne

32 Server Sent Events Use ExecutorService instead 32 P

33 Server Sent Events 33 P

34 Server Sent Events 34 P

35 Server Sent Events JAX-RS 2.1 Even beher with HTTP/2 Shared TCP connecuon one stream can be used as a SSE channel (server to client) other one as a client to server This setup is starung to be comparable to WebSocket But sull not the same Web Protocols for Java Developers [CON4156] Embarcadero@Parc55, Thu 11:30am 35 E

36 IntegraUons with other SpecificaUons Copyright 2016, Oracle and/or its affiliates. All rights reserved. 36 P

37 IntegraUon with JSON-B JSR 367 Java API for JSON Binding New specificauon to be introduced in Java EE 8 Seamless integrauon, similar to what JAX-RS provides for JAX-B Official support for applicauon/json Configurable binding properues Formang, encoding, naming and ordering strategies, adapters, 37 P

38 Improved CDI integrauon JAX-RS 2.1 Improved behavior of resources, which are also CDI beans Constructor selecuon Generic param ) String param Bootstrapping and running outside of Java EE Standalone Java SE ApplicaUon ImplementaUon perspecuve It would be really nice to have the opuon to select runume DI framework HK2 vs CDI vs Guice vs 38 P

39 Java EE Security API JAX-RS 2.0 already contains support for Security Inject SecurityContext AuthenUcaUon scheme User principal @RolesAllowed Security specificauon is going to add OAuth and OpenID Connect support 39 P

40 IntegraUon with Java EE ConfiguraUon specificauon Standard ConfiguraUon API Externalized configurauon Support for various property formats, Layering, Overrides Support for muluple configurauon sources Mutable and immutable configurauon properues ConfiguraUon for Java EE 8 and the Cloud [CON7979] Wednesday, 11:30 40 P

41 IntegraUon with Java EE ConfiguraUon specificauon 41 P

42 Circuit breakers success or fail Closed fail count reached Open success fail Reset Umeout Half Open 42 E

43 Circuit breakers Generic way to deal with failures in remote service invocauon process ProtecUng system resources by monitoring calls to remote service If some certain number of failures is reached, no further calls are made and the error is returned immediately When a circuit is open, error supplier might provide replacement answer Could be completely different (empty) answer, or cached value from previous successful invocauon Several HTTP properues which could trigger failure TCP level: connect error, connect Umeout, connecuon Umeout,.. HTTP level: status code, 43 E

44 Circuit breakers JAX-RS ProgrammaUc approach change in the JAX-RS client API DeclaraUve approach classes to the Client Something else Configurable SLA (success/fail evaluauon and threshold) per external service Expert group will decide whether or how is this going to be included 44 E

45 HTTP/2 and JAX-RS Does JAX-RS needs to be updated to work on top of HTTP/2? HTTP/2 is sull request/response New features are mostly implemented in lower layers Will be JAX-RS API faster on HTTP/2? HTTP/2 is binary protocol if you are sending / receiving binary data, you ll get instant boost of throughput. (Base64) Resource-wise, HTTP/2 is more effecuve than its predecessor Persistent connecuons, streams*, compressed headers, Be aware of number of objects needed to process single HTTP request 45 E

46 HTTP/2 and JAX-RS Servlet 4.0: Status Update and HTTP/2 Comes to Java EE 8 [CON7980] Tuesday, Sep 20, 4:00 p.m. - 5:00 p.m. Parc 55 - Cyril Magnin II/III 46 E

47 HTTP/2 and JAX-RS HTTP/1.x HTTP/2 HTTP/2 + Push Ume How to use HTTP/2 features from JAX-RS? JAX-RS Servlet integrauon InjecUng HhpServletRequest, HhpServletResponse, ServletContext, ServletConfig 47 E

48 Java EE Roadmap Engage Java EE Community Feedback through Survey Launch Java EE Next JSRs Java EE 8 Specs, RI, TCK complete IniUal microservices support Define Java EE 9 Early access implementauon of Java EE 9 Java EE 9 Specs, RI, TCK complete Modular Java EE runume Enhanced microservices support 48 P

49 Next Steps Give us your feedback Take the survey hhp://glassfish.org/survey Send technical comments to (JAX-RS) (Java EE) Join the JCP come to Hackergarden in Java Hub hhps://jcp.org/en/parucipauon/membership_drive Join or track the JSRs as they progress hhps://java.net/projects/javaee-spec/pages/specificauons Adopt-a-JSR hhps://community.oracle.com/community/java/jcp/adopt-a-jsr 49 P

50 Where to Learn More at JavaOne Session Number Session Title Day / Time CON1558 What's New in the Java API for JSON Binding Monday 5:30 p.m. BOF7984 Java EE for the Cloud Monday 7:00 p.m. CON4022 CDI 2.0 Is Coming Tuesday 11:00 a.m. CON7983 JAX-RS 2.1 for Java EE 8 Tuesday 12:30 p.m. CON8292 Portable Cloud ApplicaUons with Java EE Tuesday 2:30 p.m. CON7980 Servlet 4.0: Status Update and HTTP/2 Tuesday 4:00 p.m. CON7978 Security for Java EE 8 and the Cloud Tuesday 5:30 p.m. CON7979 ConfiguraUon for Java EE 8 and the Cloud Wednesday 11:30 a.m. CON7977 Java EE Next HTTP/2 and REST Wednesday 1:00 p.m. CON6077 The Illusion of Statelessness Wednesday 4:30 p.m. CON 7981 JSF 2.3 Thursday 11:30 a.m. 50 P

51

52

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<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

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

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

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

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

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

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

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

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

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

What is tackled in the Java EE Security API (Java EE 8)

What is tackled in the Java EE Security API (Java EE 8) What is tackled in the Java EE Security API (Java EE 8) WHY UPDATE? ALREADY AVAILABLE? AGENDA JAVA EE SECURITY JSR-375 SOTERIA CONCEPTS DEMO RUDY DE BUSSCHER C4J Senior Java Web Developer, Java Coach JSR-375

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

Oracle Corporation

Oracle Corporation 1 2012 Oracle Corporation Oracle WebLogic Server 12c: Developing Modern, Lightweight Java EE 6 Applications Will Lyons, Director of WebLogic Server Product Management Pieter Humphrey, Principal Product

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

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

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

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

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

Community Participation in the JCP Program: a winning combination November 2012

Community Participation in the JCP Program: a winning combination  November 2012 1 Community Participation in the JCP Program: a winning combination heather@jcp.org http://jcp.org November 2012 JCP.next.1 (JSR 348) JCP 2.8, implemented in October 2011 Three themes aimed at: Transparency

More information

JCP 2.8 Progress Report Public EC Meeting. Heather VanCura 20 November 2012

JCP 2.8 Progress Report Public EC Meeting. Heather VanCura  20 November 2012 JCP 2.8 Progress Report Public EC Meeting Heather VanCura heather@jcp.org http://jcp.org 20 November 2012 1 Putting the community back into the JCP No more barriers to participation. All members of the

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

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

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

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

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

Connecting your Microservices and Cloud Services with Oracle Integration CON7348

Connecting your Microservices and Cloud Services with Oracle Integration CON7348 Connecting your Microservices and Cloud Services with Oracle Integration CON7348 Robert Wunderlich Sr. Principal Product Manager September 19, 2016 Copyright 2016, Oracle and/or its affiliates. All rights

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

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

Copyright 2012, Oracle and/or its affiliates. All rights reserved. 1 JSR344 (JSF 2.2) Status Update to JCP EC 11 September 2012 Edward Burns @edburns JCP Spec Lead 2 The following is intended to outline our general product direction. It is intended for information purposes

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

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

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

JAX-RS. Sam Guinea

JAX-RS. Sam Guinea JAX-RS Sam Guinea guinea@elet.polimi.it http://servicetechnologies.wordpress.com/ JAX-RS Java API that provides support in creating services according to the REST architectural style. JAX-RS uses annotations

More information

TheServerSide.com. Part 3 of dependency injection in Java EE 6

TheServerSide.com. Part 3 of dependency injection in Java EE 6 TheServerSide.com Part 3 of dependency injection in Java EE 6 This series of articles introduces Contexts and Dependency Injection for Java EE (CDI), a key part of the Java EE 6 platform. Standardized

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

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

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

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How!

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! TS-6824 JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! Brendan Murray Software Architect IBM http://www.ibm.com 2007 JavaOne SM Conference Session TS-6824 Goal Why am I here?

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

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

<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

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

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

Copyright 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Copyright 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13 1 To Building WebSocket Apps in Java using JSR 356 Arun Gupta blogs.oracle.com/arungupta, @arungupta 2 The preceding 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.1, May 18, 2018 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile

More information

<Insert Picture Here> Developer Secrets to Achieving World Domination

<Insert Picture Here> Developer Secrets to Achieving World Domination Developer Secrets to Achieving World Domination Mike Keith, Oracle Standard Disclaimer The following is intended to outline our general product direction. It is intended for information

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

Create and Secure Your REST APIs with Apache CXF

Create and Secure Your REST APIs with Apache CXF Create and Secure Your REST APIs with Apache CXF Andrei Shakirin, Talend ashakirin@talend.com ashakirin.blogspot.com Agenda REST Principles in API Design Using CXF JAX-RS Features Secure REST API AboutMe

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

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

Zero Latency HTTP The comet Technique

Zero Latency HTTP The comet Technique Zero Latency HTTP The comet Technique Filip Hanik SpringSource Inc Keystone, Colorado, 2008 Slide 1 Who am I bla bla fhanik@apache.org Tomcat Committer / ASF member Co-designed the Comet implementation

More information

Rest Client for MicroProfile. John D. Ament

Rest Client for MicroProfile. John D. Ament Rest Client for MicroProfile John D. Ament 1.0-T9, December 05, 2017 Table of Contents Microprofile Rest Client..................................................................... 2 MicroProfile Rest

More information

APPLICATION SECURITY ENHANCEMENTS IN JAVA EE 6

APPLICATION SECURITY ENHANCEMENTS IN JAVA EE 6 APPLICATION SECURITY ENHANCEMENTS IN JAVA EE 6 SRINI PENCHIKALA JavaOne 2010 Conference ABOUT THE SPEAKER Security Architect Certified Scrum Master Author, Editor (InfoQ) IASA Austin Chapter Leader Detroit

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

JSR 367 (JSON Binding) Review

JSR 367 (JSON Binding) Review JSR 367 (JSON Binding) Review September 15 2016 Dmitry Kornilov Agenda Goals Information to be gathered Next Steps Issues Q&A 2 Goals 3 Goals (1/2) Support binding (serialization and deserialization) for

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

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

Design patterns using Spring and Guice

Design patterns using Spring and Guice Design patterns using Spring and Guice Dhanji R. Prasanna MANNING contents 1 Dependency 2 Time preface xv acknowledgments xvii about this book xix about the cover illustration xxii injection: what s all

More information

Microprofile Fault Tolerance. Emily Jiang 1.0,

Microprofile Fault Tolerance. Emily Jiang 1.0, Microprofile Fault Tolerance Emily Jiang 1.0, 2017-09-13 Table of Contents 1. Architecture.............................................................................. 2 1.1. Rational..............................................................................

More information

Kaazing Gateway: An Open Source

Kaazing Gateway: An Open Source Kaazing Gateway: An Open Source HTML 5 Websocket Server Speaker Jonas Jacobi Co-Founder: Kaazing Co-Author: Pro JSF and Ajax, Apress Agenda Real-Time Web? Why Do I Care? Scalability and Performance Concerns

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

Eclipse Incubator. https://projects.eclipse.org/projects/technology.microprofile - ASLv2 License.

Eclipse Incubator. https://projects.eclipse.org/projects/technology.microprofile - ASLv2 License. Current Status 1 Eclipse Incubator https://projects.eclipse.org/projects/technology.microprofile - ASLv2 License http://microprofile.io/ - Home Page https://github.com/eclipse - Eclipse Foundation GitHub

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

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

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

Apache Tamaya Configuring your Containers...

Apache Tamaya Configuring your Containers... Apache Tamaya Configuring your Containers... BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH About Me Anatole Tresch Principal Consultant,

More information

JSR 311: JAX-RS: The Java API for RESTful Web Services

JSR 311: JAX-RS: The Java API for RESTful Web Services JSR 311: JAX-RS: The Java API for RESTful Web Services Marc Hadley, Paul Sandoz, Roderico Cruz Sun Microsystems, Inc. http://jsr311.dev.java.net/ TS-6411 2007 JavaOne SM Conference Session TS-6411 Agenda

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

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

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

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

NoSQL + SQL = MySQL Get the Best of Both Worlds

NoSQL + SQL = MySQL Get the Best of Both Worlds NoSQL + SQL = MySQL Get the Best of Both Worlds Jesper Wisborg Krogh Senior Principal Technical Support Engineer Oracle, MySQL Support October 22, 2018 NEXT 15-MINUTE BRIEFING NoSQL + SQL = MySQL Safe

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

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

Seam 3. Pete Muir JBoss, a Division of Red Hat

Seam 3. Pete Muir JBoss, a Division of Red Hat Seam 3 Pete Muir JBoss, a Division of Red Hat Road Map Introduction Java EE 6 Java Contexts and Dependency Injection Seam 3 Mission Statement To provide a fully integrated development platform for building

More information

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff Microservices mit Java, Spring Boot & Spring Cloud Eberhard Wolff Fellow @ewolff What are Microservices? Micro Service: Definition > Small > Independent deployment units > i.e. processes or VMs > Any technology

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

Lessons learned from real-world deployments of Java EE 7. Arun Gupta, Red

Lessons learned from real-world deployments of Java EE 7. Arun Gupta, Red Lessons learned from real-world deployments of Java EE 7 Arun Gupta, Red Hat @arungupta DEVELOPER PRODUCTIVITY MEETING ENTERPRISE DEMANDS Java EE 7! More annotated POJOs! Less boilerplate code! Cohesive

More information

Oracle Developer Day

Oracle Developer Day Oracle Developer Day Sponsored by: Session5 Focusing on the UI Speaker Speaker Title Page 1 1 Agenda Building the User Interface UI Development Page Flow A Focus on Faces Introducing Java Server Faces

More information

Java ME Directions. JCP F2F - Austin. Florian Tournier - Oracle May 9, Copyright 2017, Oracle and/or its affiliates. All rights reserved.

Java ME Directions. JCP F2F - Austin. Florian Tournier - Oracle May 9, Copyright 2017, Oracle and/or its affiliates. All rights reserved. Java ME Directions JCP F2F - Austin Florian Tournier - Oracle May 9, 2017 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes

More information

Overview. Principal Product Manager Oracle JDeveloper & Oracle ADF

Overview. Principal Product Manager Oracle JDeveloper & Oracle ADF Rich Web UI made simple an ADF Faces Overview Dana Singleterry Dana Singleterry Principal Product Manager Oracle JDeveloper & Oracle ADF Agenda Comparison: New vs. Old JDeveloper Provides JSF Overview

More information

Reactive Streams in the Web. Florian Stefan ebay Classifieds Group GOTO Berlin 2017

Reactive Streams in the Web. Florian Stefan ebay Classifieds Group GOTO Berlin 2017 Reactive Streams in the Web Florian Stefan ebay Classifieds Group GOTO Berlin 2017 Who am I? Florian Stefan mobile.de (ebay Classifieds Group) https://ebaytech.berlin/ fstefan@ebay.com @f_s_t_e_f_a_n https://github.com/florian-stefan/

More information