Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Adopt-a-jsr Mar 1 2017 JAX-RS update
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
JSR 370: JAX-RS 2.1
Progress update
Pavel Bucek
Oracle Corporation
March 01, 2017
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
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 to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
3
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Spec leads (Oracle)
– Santiago Pericas-Geertsen
– Pavel Bucek
• Members
– Adam Bien
– Sebastian Daschner
– Andy McCright (IBM)
– Markus Karg
– Marcos Luna
– Alessio Soldano (Red Hat)
– Julian Reschke
– Sergey Beryozkin (Talend SA)
– Casey Lee (Vision Service Plan)
4
JAX-RS EG
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
Reactive Client
Server Sent Events (SSE)
Java 9 readiness
How can you help?
Roadmap
1
2
3
4
5
5
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Enables easy use of the reactive
programming style on the client
side
• CompletionStage (Java SE 8)
– Provides lots of functionality
– cs.thenCombine(…)
• Pluggable support for other
frameworks (RxJava, ..)
Confidential – Oracle Internal 6
JAX-RS Client Rx API
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
JAX-RS Client Rx API - Pluggability
• Register RxInvokerProvider
• Rx(RxInvokerSubclass.class)
Confidential – Oracle Internal 7
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Support for SSE
• Server
– Managing individual clients or grouping
them into “broadcast domains”
– Reusing MessageBodyWriter to
produce event body
• Client
– Accessing SSE endpoints / resources
– Reusing MessageBodyReader to parse
event body
Confidential – Oracle Internal 8
JAX-RS Server Sent Events
• Client
– SseEventSource (publisher)
– InboundSseEvent
• Server
– SseBroadcaster (publisher)
– SseEventsink (subscriber)
– Sse
– OutboundSseEvent
• Common
– SseSubscription, SseEvent
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
JAX-RS Server Sent Events – server
Confidential – Oracle Internal 9
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
JAX-RS Server Sent Events – client
Confidential – Oracle Internal 10
Client – event subscriber
Client – event publisher
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
JAX-RS Java 9 readiness
• Added module-info.java
• JAX-RS API project build
enhancements
– When built with Java 9,
module-info.class is added,
rest is compiled with Java 8
• TODO:
– Service loader
– (spec defines exact algorithm)
Confidential – Oracle Internal 11
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
How can you help?
• Evangelism
– Conference talks, blog posts, examples, test how the API feels like when used in real
world applications
– Testing the RI – Jersey
• https://jersey.java.net/
• https://java.net/jira/browse/JERSEY
• Reactive Client is done (2.26-b02), SSE will be ready soon (as 2.26-b03)
• Submit bugs/improvements
– https://java.net/jira/browse/JAX_RS_SPEC
– users@jax-rs-spec.java.net
– https://jax-rs-spec.java.net/
12
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
JAX-RS 2.1 milestone releases
Confidential – Oracle Highly Restricted
• JAX-RS 2.1-m01 – Sep 14, 2016 - initial milestone
• JAX-RS 2.1-m02 – Jan 13, 2017 - Reactive Client API draft
• JAX-RS 2.1-m03 – Jan 23, 2017 - Incorporated feedback to Reactive client
• JAX-RS 2.1-m04 – Feb 10, 2017 - SSE API draft
• JAX-RS 2.1-m05 – Feb 24, 2017 - Incorporated feedback to SSE API, EDR
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Proposed features
• “Big Items”
– Client RX ✔
– Server Sent Events ✔
– Non-blocking I/O … in progress
• Other Improvements
– Spec Integration Improvements
• JSON-B, Servlet 4, Bean Validation
• … not started yet.
– Java SE 9 Module System Support ✔
Planning
• Early Draft Review – 02-03/2017 …
in progress
• Public Review – 04-05/2017
• Public Final Draft Ballot – 06/2017
• JAX-RS 2.1 Final Release –
B07/2017
Confidential – Oracle Highly Restricted
JAX-RS 2.1 Roadmap
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 15
Adopt-a-jsr Mar 1 2017 JAX-RS update
Adopt-a-jsr Mar 1 2017 JAX-RS update

More Related Content

Adopt-a-jsr Mar 1 2017 JAX-RS update

  • 2. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | JSR 370: JAX-RS 2.1 Progress update Pavel Bucek Oracle Corporation March 01, 2017
  • 3. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 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 to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 3
  • 4. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Spec leads (Oracle) – Santiago Pericas-Geertsen – Pavel Bucek • Members – Adam Bien – Sebastian Daschner – Andy McCright (IBM) – Markus Karg – Marcos Luna – Alessio Soldano (Red Hat) – Julian Reschke – Sergey Beryozkin (Talend SA) – Casey Lee (Vision Service Plan) 4 JAX-RS EG
  • 5. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Program Agenda Reactive Client Server Sent Events (SSE) Java 9 readiness How can you help? Roadmap 1 2 3 4 5 5
  • 6. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Enables easy use of the reactive programming style on the client side • CompletionStage (Java SE 8) – Provides lots of functionality – cs.thenCombine(…) • Pluggable support for other frameworks (RxJava, ..) Confidential – Oracle Internal 6 JAX-RS Client Rx API
  • 7. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | JAX-RS Client Rx API - Pluggability • Register RxInvokerProvider • Rx(RxInvokerSubclass.class) Confidential – Oracle Internal 7
  • 8. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Support for SSE • Server – Managing individual clients or grouping them into “broadcast domains” – Reusing MessageBodyWriter to produce event body • Client – Accessing SSE endpoints / resources – Reusing MessageBodyReader to parse event body Confidential – Oracle Internal 8 JAX-RS Server Sent Events • Client – SseEventSource (publisher) – InboundSseEvent • Server – SseBroadcaster (publisher) – SseEventsink (subscriber) – Sse – OutboundSseEvent • Common – SseSubscription, SseEvent
  • 9. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | JAX-RS Server Sent Events – server Confidential – Oracle Internal 9
  • 10. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | JAX-RS Server Sent Events – client Confidential – Oracle Internal 10 Client – event subscriber Client – event publisher
  • 11. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | JAX-RS Java 9 readiness • Added module-info.java • JAX-RS API project build enhancements – When built with Java 9, module-info.class is added, rest is compiled with Java 8 • TODO: – Service loader – (spec defines exact algorithm) Confidential – Oracle Internal 11
  • 12. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | How can you help? • Evangelism – Conference talks, blog posts, examples, test how the API feels like when used in real world applications – Testing the RI – Jersey • https://jersey.java.net/ • https://java.net/jira/browse/JERSEY • Reactive Client is done (2.26-b02), SSE will be ready soon (as 2.26-b03) • Submit bugs/improvements – https://java.net/jira/browse/JAX_RS_SPEC – users@jax-rs-spec.java.net – https://jax-rs-spec.java.net/ 12
  • 13. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | JAX-RS 2.1 milestone releases Confidential – Oracle Highly Restricted • JAX-RS 2.1-m01 – Sep 14, 2016 - initial milestone • JAX-RS 2.1-m02 – Jan 13, 2017 - Reactive Client API draft • JAX-RS 2.1-m03 – Jan 23, 2017 - Incorporated feedback to Reactive client • JAX-RS 2.1-m04 – Feb 10, 2017 - SSE API draft • JAX-RS 2.1-m05 – Feb 24, 2017 - Incorporated feedback to SSE API, EDR
  • 14. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Proposed features • “Big Items” – Client RX ✔ – Server Sent Events ✔ – Non-blocking I/O … in progress • Other Improvements – Spec Integration Improvements • JSON-B, Servlet 4, Bean Validation • … not started yet. – Java SE 9 Module System Support ✔ Planning • Early Draft Review – 02-03/2017 … in progress • Public Review – 04-05/2017 • Public Final Draft Ballot – 06/2017 • JAX-RS 2.1 Final Release – B07/2017 Confidential – Oracle Highly Restricted JAX-RS 2.1 Roadmap
  • 15. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 15

Editor's Notes

  1. This is a Title Slide with Java Graphic Theme ideal for including a brief title, subtitle and presenter information. Do not customize this slide with your own picture. To reuse this branded background in another presentation on PC Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Reuse Slides. Click Browse in the Reuse Slides panel and select Browse Files. Double-click the PowerPoint presentation that contains the background you wish to copy. Check Keep Source Formatting and click the slide that contains the background you want. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Right-click any selected slide, point to Layout, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates. To reuse this branded background in another presentation on Mac Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Insert Slides from Other Presentation… Navigate to the PowerPoint presentation file that contains the background you wish to copy. Double-click or press Insert. This prompts the Slide Finder dialogue box. Make sure Keep design of original slides is unchecked and click the slide(s) that contains the background you want. Hold Shift key to select multiple slides. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Click Layout from the Home tab's Slides group, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates.
  2. This is a Safe Harbor Front slide, one of two Safe Harbor Statement slides included in this template. One of the Safe Harbor slides must be used if your presentation covers material affected by Oracle’s Revenue Recognition Policy To learn more about this policy, e-mail: Revrec-americasiebc_us@oracle.com For internal communication, Safe Harbor Statements are not required. However, there is an applicable disclaimer (Exhibit E) that should be used, found in the Oracle Revenue Recognition Policy for Future Product Communications. Copy and paste this link into a web browser, to find out more information. http://my.oracle.com/site/fin/gfo/GlobalProcesses/cnt452504.pdf For all external communications such as press release, roadmaps, PowerPoint presentations, Safe Harbor Statements are required. You can refer to the link mentioned above to find out additional information/disclaimers required depending on your audience.