SlideShare a Scribd company logo
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Adopt-a-JSR session
JSON-P (JSR-374) + JSON-B (JSR-367)
Dmitry Kornilov
JSON-B/P Spec Lead
January 28, 2017
Copyright © 2016, 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.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Dmitry Kornilov
• Software Developer @ Oracle
• JSON-B (JSR-367) spec lead
• JSON-P (JSR-374) spec lead
• Outstanding Spec Lead 2016
• EclipseLink project committer
• dmitry.kornilov@oracle.com
• @m0mus
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
JSON Processing (JSR-374)
JSON Binding (JSR-367)
1
2
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JSON Processing
JSR-374
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JSON Processing Overview
• JSON Processing API
– Standard API to parse, generate, transform, query JSON
– Object Model and Streaming API
• Similar to DOM and StAX
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JSON Processing
• Streaming API
– JsonParser
– JsonGenerator
• Object model API
– JsonReader
– JsonWriter
– JsonPointer
– JsonPatch
– JsonMergePatch
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JSON-P 1.1 (JSR-374)
• Update JSON-P spec to stay current with emerging standards (RFC 7159)
• Support for IETF standards on
– JSON Pointer (RFC 6901)
– JSON Patch (RFC 6902)
– JSON Merge Patch (RFC 7396)
• Add editing/transformation operations to JSON objects and arrays
• Support for a streaming API, together with Collectors
• Support for processing big JSON, e.g. add filters to JSON parsing
• JDK9 support
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
History
• 09 Dec 2014 – JSR Submitted
• 03 Aug 2015 – Early Draft Review
• 31 Oct 2016 – JSR Renewal Ballot
• 21 Jan 2017 – Public Draft Submitted
• 20 Jan 2017 – TCK completed
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roadmap
• Feb 2017 – Public Review Ballot
• Mar 2017 – Public Final Draft Ballot
• Apr 2017 – Release
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Releases
• JSON-P 1.0.0-M1 released 28/01/2017
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
How can you help?
• Test new functionality
– JsonPointer, JsonPatch, JsonMergePatch
• Tests on real life use cases
• Performance testing
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JSON-P Links
• Specification
– https://json-processing-spec.java.net
• RI:
– https://jsonp.java.net
• GitHub
– https://github.com/json-p
• JCP
– https://jcp.org/en/jsr/detail?id=374
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
I found a bug! What shall I do?
• Check our issue tracker. Maybe this bug is already submitted:
– https://java.net/jira/browse/JSONP
• Clearly describe the bug
• Provide a test so we can simulate it
• Submit an issue to JSON-P bugs tracker here:
– https://java.net/jira/browse/JSONP
• If you have a fix (we appreciate it) submit your merge request here:
– https://github.com/json-p/api-ri
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
I would like to suggest a new feature!
• Discuss it in our mailing list:
– users@json-processing-spec.java.net
• Create a feature request in our issues tracker:
– https://java.net/jira/browse/JSONP
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JSON Binding
JSR-367
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JSON Binding Overview
JSON-B is standard binding layer for converting Java objects to/from JSON
documents
public class Customer {
public int id = 1;
public String firstName = “John”;
public String lastName = “Doe”;
….
}
{
"id": 1,
"firstName" : "John",
"lastName" : "Doe",
}
Java JSON
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JSON-B Goals (1/2)
• Support binding (serialization and deserialization) for all RFC 7159-
compatible JSON documents.
• JSON-related specifications will be surveyed to determine their relationship
to JSON-Binding.
• Maintain consistency with JAXB and other Java EE and SE APIs where
appropriate.
• Define default mapping of Java classes and instances to JSON document
counterparts.
• Allow customization of the default mapping definition.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JSON-B Goals (2/2)
• Default use of the APIs should not require prior knowledge of the JSON
document format and specification.
• Define or enable integration with JSR 374: Java API for JSON Processing
(JSON-P) 1.1.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Non-Goals
• Preserving equivalence (Round-trip)
– The specification recommends, but does not require equivalence of content for
deserialized and serialized JSON documents.
• JSON Schema
– Generation of JSON Schema from Java classes, as well as validation based on JSON
schema.
• JEP 198 Lightweight JSON API
– Support and integration with Lightweight JSON API as defined within JEP 198 is out of
scope of this specification.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
History
• 26 Aug 2014 – JSR Submitted
• 23 Sep 2014 – Expert Group Formation
• 20 Aug 2015 – Early Draft Review
• 25 May 2016 – Public Review
• 26 July 2016 – Public Draft Ballot
• 20 Jan 2017 – TCK completed
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Roadmap
• Feb 2017 – Minor fixes, GlassFish integration, JDK9 support
• Mar 2017 – Public Final Draft Ballot
• Apr 2017 – Release
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Releases
• JSON-B API 1.0.0-M1 released 28/01/2017
• Yasson 1.0.0-M1 released 26/01/2017
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JSON-B API related Links
• JSON-B web site
– http://json-b.net
• JSON-B API
– https://java.net/projects/jsonb-spec
• JCP page
– https://www.jcp.org/en/jsr/detail?id=367
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Yasson-related Links
• Yasson on Eclipse.org
– https://projects.eclipse.org/projects/rt.yasson
• Yasson on GitHub
– https://github.com/eclipse/yasson
• Yasson user forums
– https://www.eclipse.org/forums/index.php/f/356/
• Mailing list:
– https://dev.eclipse.org/mailman/listinfo/yasson-dev
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
JSON-B Demo
• GitHub
– https://github.com/m0mus/JavaOne2016-JSONB-Demo
• Demonstrates
– Default mapping
– Adapters
– Serializers
– Mapping of generic class
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
How can you help?
• Yasson
– Tests on real life use cases
– Performance testing
– Performance comparison
– Performance optimization
• Evangelism
– Samples, guides, manuals
– Blog articles
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
I found a bug! What shall I do?
• Check our issue tracker. Maybe this bug is already submitted:
– https://github.com/eclipse/yasson
• Clearly describe the bug
• Provide a test so we can simulate it
• Submit an issue to Yasson bugs tracker here:
– https://github.com/eclipse/yasson/issues
• If you have a fix (we appreciate it) submit your merge request here:
– https://github.com/eclipse/yasson
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
I would like to suggest a new feature!
• Discuss it in our mailing list:
– users@jsonb-spec.java.net
• Create a feature request in our API issues tracker:
– https://java.net/jira/browse/JSONB_SPEC

More Related Content

What's hot

Modularization With Project Jigsaw in JDK 9
Modularization With Project Jigsaw in JDK 9Modularization With Project Jigsaw in JDK 9
Modularization With Project Jigsaw in JDK 9
Simon Ritter
 
Bytecode Verification, the Hero That Java Needs [JavaOne 2016 CON1500]
Bytecode Verification, the Hero That Java Needs [JavaOne 2016 CON1500]Bytecode Verification, the Hero That Java Needs [JavaOne 2016 CON1500]
Bytecode Verification, the Hero That Java Needs [JavaOne 2016 CON1500]
David Buck
 
What's coming in Java EE 8
What's coming in Java EE 8What's coming in Java EE 8
What's coming in Java EE 8
David Delabassee
 
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesJavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth Slides
Edward Burns
 
Visualizing and Analyzing GC Logs with R
Visualizing and Analyzing GC Logs with RVisualizing and Analyzing GC Logs with R
Visualizing and Analyzing GC Logs with R
Poonam Bajaj Parhar
 
JCP 20 Year Anniversary
JCP 20 Year AnniversaryJCP 20 Year Anniversary
JCP 20 Year Anniversary
Heather VanCura
 
Sem tech 2010_integrity_constraints
Sem tech 2010_integrity_constraintsSem tech 2010_integrity_constraints
Sem tech 2010_integrity_constraintsClark & Parsia LLC
 
Stardog 1.1: An Easier, Smarter, Faster RDF Database
Stardog 1.1: An Easier, Smarter, Faster RDF DatabaseStardog 1.1: An Easier, Smarter, Faster RDF Database
Stardog 1.1: An Easier, Smarter, Faster RDF Database
kendallclark
 
Harnessing the Power of Optimizer Hints
Harnessing the Power of Optimizer HintsHarnessing the Power of Optimizer Hints
Harnessing the Power of Optimizer Hints
Maria Colgan
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8
Hirofumi Iwasaki
 
Project Jigsaw in JDK9
Project Jigsaw in JDK9Project Jigsaw in JDK9
Project Jigsaw in JDK9
Simon Ritter
 
What's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and BeyondWhat's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and Beyond
Oracle
 
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
Leonardo Zanivan
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)
Ryusuke Kajiyama
 
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management CloudeProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
Marco Gralike
 
JDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java SmallerJDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java Smaller
Simon Ritter
 
Functional programming with_jdk8-s_ritter
Functional programming with_jdk8-s_ritterFunctional programming with_jdk8-s_ritter
Functional programming with_jdk8-s_ritter
Simon Ritter
 
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Reza Rahman
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
David Delabassee
 
Get Rid Of OutOfMemoryError messages
Get Rid Of OutOfMemoryError messagesGet Rid Of OutOfMemoryError messages
Get Rid Of OutOfMemoryError messages
Poonam Bajaj Parhar
 

What's hot (20)

Modularization With Project Jigsaw in JDK 9
Modularization With Project Jigsaw in JDK 9Modularization With Project Jigsaw in JDK 9
Modularization With Project Jigsaw in JDK 9
 
Bytecode Verification, the Hero That Java Needs [JavaOne 2016 CON1500]
Bytecode Verification, the Hero That Java Needs [JavaOne 2016 CON1500]Bytecode Verification, the Hero That Java Needs [JavaOne 2016 CON1500]
Bytecode Verification, the Hero That Java Needs [JavaOne 2016 CON1500]
 
What's coming in Java EE 8
What's coming in Java EE 8What's coming in Java EE 8
What's coming in Java EE 8
 
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesJavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth Slides
 
Visualizing and Analyzing GC Logs with R
Visualizing and Analyzing GC Logs with RVisualizing and Analyzing GC Logs with R
Visualizing and Analyzing GC Logs with R
 
JCP 20 Year Anniversary
JCP 20 Year AnniversaryJCP 20 Year Anniversary
JCP 20 Year Anniversary
 
Sem tech 2010_integrity_constraints
Sem tech 2010_integrity_constraintsSem tech 2010_integrity_constraints
Sem tech 2010_integrity_constraints
 
Stardog 1.1: An Easier, Smarter, Faster RDF Database
Stardog 1.1: An Easier, Smarter, Faster RDF DatabaseStardog 1.1: An Easier, Smarter, Faster RDF Database
Stardog 1.1: An Easier, Smarter, Faster RDF Database
 
Harnessing the Power of Optimizer Hints
Harnessing the Power of Optimizer HintsHarnessing the Power of Optimizer Hints
Harnessing the Power of Optimizer Hints
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8
 
Project Jigsaw in JDK9
Project Jigsaw in JDK9Project Jigsaw in JDK9
Project Jigsaw in JDK9
 
What's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and BeyondWhat's New in WebLogic 12.1.3 and Beyond
What's New in WebLogic 12.1.3 and Beyond
 
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)
 
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management CloudeProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
 
JDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java SmallerJDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java Smaller
 
Functional programming with_jdk8-s_ritter
Functional programming with_jdk8-s_ritterFunctional programming with_jdk8-s_ritter
Functional programming with_jdk8-s_ritter
 
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
 
Get Rid Of OutOfMemoryError messages
Get Rid Of OutOfMemoryError messagesGet Rid Of OutOfMemoryError messages
Get Rid Of OutOfMemoryError messages
 

Viewers also liked

JSON Support in Java EE 8
JSON Support in Java EE 8JSON Support in Java EE 8
JSON Support in Java EE 8
Dmitry Kornilov
 
Configuration for Java EE: Config JSR and Tamaya
Configuration for Java EE: Config JSR and TamayaConfiguration for Java EE: Config JSR and Tamaya
Configuration for Java EE: Config JSR and Tamaya
Dmitry Kornilov
 
Java EE 8 Update
Java EE 8 UpdateJava EE 8 Update
Java EE 8 Update
Ryan Cuprak
 
Configure Your Projects with Apache Tamaya
Configure Your Projects with Apache TamayaConfigure Your Projects with Apache Tamaya
Configure Your Projects with Apache Tamaya
Anatole Tresch
 
2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion
mnriem
 
いまさら聞けないJSONPのまとめ
いまさら聞けないJSONPのまとめいまさら聞けないJSONPのまとめ
いまさら聞けないJSONPのまとめ
Yujiro Araki
 
A first Draft to Java Configuration
A first Draft to Java ConfigurationA first Draft to Java Configuration
A first Draft to Java Configuration
Anatole Tresch
 
Using RSS feeds for content curation and social scheduling
Using RSS feeds for content curation and social schedulingUsing RSS feeds for content curation and social scheduling
Using RSS feeds for content curation and social scheduling
Anna Hamilton-Gunn
 
Participate in the Future of Java Oredev
Participate in the Future of Java OredevParticipate in the Future of Java Oredev
Participate in the Future of Java Oredev
Heather VanCura
 
How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...
Mani Sarkar
 
Web protocols for java developers
Web protocols for java developersWeb protocols for java developers
Web protocols for java developers
Pavel Bucek
 
How to run a hackday
How to run a hackdayHow to run a hackday
How to run a hackday
RichardWarburton
 
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckServlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Edward Burns
 
http2 最速実装 v2
http2 最速実装 v2 http2 最速実装 v2
http2 最速実装 v2
Yoshihiro Iwanaga
 
Java ee 8 + security overview
Java ee 8 + security overviewJava ee 8 + security overview
Java ee 8 + security overview
Rudy De Busscher
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
David Delabassee
 
Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann
Kile Niklawski
 
HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜
Kaoru Maeda
 
Adopt a JSR: CDI 2.0 at Devoxx UK
Adopt a JSR: CDI 2.0 at Devoxx UKAdopt a JSR: CDI 2.0 at Devoxx UK
Adopt a JSR: CDI 2.0 at Devoxx UK
Antoine Sabot-Durand
 
Java one 2015 [con3339]
Java one 2015 [con3339]Java one 2015 [con3339]
Java one 2015 [con3339]
Arshal Ameen
 

Viewers also liked (20)

JSON Support in Java EE 8
JSON Support in Java EE 8JSON Support in Java EE 8
JSON Support in Java EE 8
 
Configuration for Java EE: Config JSR and Tamaya
Configuration for Java EE: Config JSR and TamayaConfiguration for Java EE: Config JSR and Tamaya
Configuration for Java EE: Config JSR and Tamaya
 
Java EE 8 Update
Java EE 8 UpdateJava EE 8 Update
Java EE 8 Update
 
Configure Your Projects with Apache Tamaya
Configure Your Projects with Apache TamayaConfigure Your Projects with Apache Tamaya
Configure Your Projects with Apache Tamaya
 
2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion
 
いまさら聞けないJSONPのまとめ
いまさら聞けないJSONPのまとめいまさら聞けないJSONPのまとめ
いまさら聞けないJSONPのまとめ
 
A first Draft to Java Configuration
A first Draft to Java ConfigurationA first Draft to Java Configuration
A first Draft to Java Configuration
 
Using RSS feeds for content curation and social scheduling
Using RSS feeds for content curation and social schedulingUsing RSS feeds for content curation and social scheduling
Using RSS feeds for content curation and social scheduling
 
Participate in the Future of Java Oredev
Participate in the Future of Java OredevParticipate in the Future of Java Oredev
Participate in the Future of Java Oredev
 
How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...
 
Web protocols for java developers
Web protocols for java developersWeb protocols for java developers
Web protocols for java developers
 
How to run a hackday
How to run a hackdayHow to run a hackday
How to run a hackday
 
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckServlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
 
http2 最速実装 v2
http2 最速実装 v2 http2 最速実装 v2
http2 最速実装 v2
 
Java ee 8 + security overview
Java ee 8 + security overviewJava ee 8 + security overview
Java ee 8 + security overview
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
 
Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann
 
HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜
 
Adopt a JSR: CDI 2.0 at Devoxx UK
Adopt a JSR: CDI 2.0 at Devoxx UKAdopt a JSR: CDI 2.0 at Devoxx UK
Adopt a JSR: CDI 2.0 at Devoxx UK
 
Java one 2015 [con3339]
Java one 2015 [con3339]Java one 2015 [con3339]
Java one 2015 [con3339]
 

Similar to Adopt-a-JSR session (JSON-B/P)

Java API for JSON Binding - Introduction and update
Java API for JSON Binding - Introduction and updateJava API for JSON Binding - Introduction and update
Java API for JSON Binding - Introduction and update
Martin Grebac
 
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Heather VanCura
 
Introduction to Yasson
Introduction to YassonIntroduction to Yasson
Introduction to Yasson
Dmitry Kornilov
 
Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
mfrancis
 
Adopt-a-jsr Mar 1 2017 JAX-RS update
Adopt-a-jsr Mar 1 2017 JAX-RS updateAdopt-a-jsr Mar 1 2017 JAX-RS update
Adopt-a-jsr Mar 1 2017 JAX-RS update
Pavel Bucek
 
Bringing Java into the Open
Bringing Java into the Open Bringing Java into the Open
Bringing Java into the Open
Heather VanCura
 
Advance your Career and Help Define Java’s Future
Advance your Career and Help Define Java’s FutureAdvance your Career and Help Define Java’s Future
Advance your Career and Help Define Java’s Future
Heather VanCura
 
Configuration for Java EE and the Cloud
Configuration for Java EE and the CloudConfiguration for Java EE and the Cloud
Configuration for Java EE and the Cloud
Dmitry Kornilov
 
Java EE 8 Overview (Japanese)
Java EE 8 Overview (Japanese)Java EE 8 Overview (Japanese)
Java EE 8 Overview (Japanese)
Logico
 
APAC Tour 2019 update
APAC Tour 2019 updateAPAC Tour 2019 update
APAC Tour 2019 update
Heather VanCura
 
The Future of Java and You
The Future of Java and YouThe Future of Java and You
The Future of Java and You
Heather VanCura
 
Valencia EMEA Java User Group Summit
Valencia EMEA Java User Group SummitValencia EMEA Java User Group Summit
Valencia EMEA Java User Group Summit
Heather VanCura
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25
Jon Petter Hjulstad
 
Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016
Anil Nair
 
Join the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & PuneJoin the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & Pune
Heather VanCura
 
REST Enabling Your Oracle Database
REST Enabling Your Oracle DatabaseREST Enabling Your Oracle Database
REST Enabling Your Oracle Database
Jeff Smith
 
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
LDBC council
 
What's New in Primavera Gateway 16.1
What's New in Primavera Gateway 16.1What's New in Primavera Gateway 16.1
What's New in Primavera Gateway 16.1
p6academy
 
JUG Tour November 2017
JUG Tour November 2017JUG Tour November 2017
JUG Tour November 2017
Heather VanCura
 
The Future of Java and You
The Future of Java and YouThe Future of Java and You
The Future of Java and You
Heather VanCura
 

Similar to Adopt-a-JSR session (JSON-B/P) (20)

Java API for JSON Binding - Introduction and update
Java API for JSON Binding - Introduction and updateJava API for JSON Binding - Introduction and update
Java API for JSON Binding - Introduction and update
 
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374
 
Introduction to Yasson
Introduction to YassonIntroduction to Yasson
Introduction to Yasson
 
Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
 
Adopt-a-jsr Mar 1 2017 JAX-RS update
Adopt-a-jsr Mar 1 2017 JAX-RS updateAdopt-a-jsr Mar 1 2017 JAX-RS update
Adopt-a-jsr Mar 1 2017 JAX-RS update
 
Bringing Java into the Open
Bringing Java into the Open Bringing Java into the Open
Bringing Java into the Open
 
Advance your Career and Help Define Java’s Future
Advance your Career and Help Define Java’s FutureAdvance your Career and Help Define Java’s Future
Advance your Career and Help Define Java’s Future
 
Configuration for Java EE and the Cloud
Configuration for Java EE and the CloudConfiguration for Java EE and the Cloud
Configuration for Java EE and the Cloud
 
Java EE 8 Overview (Japanese)
Java EE 8 Overview (Japanese)Java EE 8 Overview (Japanese)
Java EE 8 Overview (Japanese)
 
APAC Tour 2019 update
APAC Tour 2019 updateAPAC Tour 2019 update
APAC Tour 2019 update
 
The Future of Java and You
The Future of Java and YouThe Future of Java and You
The Future of Java and You
 
Valencia EMEA Java User Group Summit
Valencia EMEA Java User Group SummitValencia EMEA Java User Group Summit
Valencia EMEA Java User Group Summit
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25
 
Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016Anil nair rac_internals_sangam_2016
Anil nair rac_internals_sangam_2016
 
Join the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & PuneJoin the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & Pune
 
REST Enabling Your Oracle Database
REST Enabling Your Oracle DatabaseREST Enabling Your Oracle Database
REST Enabling Your Oracle Database
 
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
 
What's New in Primavera Gateway 16.1
What's New in Primavera Gateway 16.1What's New in Primavera Gateway 16.1
What's New in Primavera Gateway 16.1
 
JUG Tour November 2017
JUG Tour November 2017JUG Tour November 2017
JUG Tour November 2017
 
The Future of Java and You
The Future of Java and YouThe Future of Java and You
The Future of Java and You
 

More from Dmitry Kornilov

Helidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptxHelidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptx
Dmitry Kornilov
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and Tomorrow
Dmitry Kornilov
 
Building Cloud-Native Applications with Helidon
Building Cloud-Native Applications with HelidonBuilding Cloud-Native Applications with Helidon
Building Cloud-Native Applications with Helidon
Dmitry Kornilov
 
Nonblocking Database Access in Helidon SE
Nonblocking Database Access in Helidon SENonblocking Database Access in Helidon SE
Nonblocking Database Access in Helidon SE
Dmitry Kornilov
 
JSON Support in Jakarta EE: Present and Future
JSON Support in Jakarta EE: Present and FutureJSON Support in Jakarta EE: Present and Future
JSON Support in Jakarta EE: Present and Future
Dmitry Kornilov
 
Building cloud native microservices with project Helidon
Building cloud native microservices with project HelidonBuilding cloud native microservices with project Helidon
Building cloud native microservices with project Helidon
Dmitry Kornilov
 
Developing cloud-native microservices using project Helidon
Developing cloud-native microservices using project HelidonDeveloping cloud-native microservices using project Helidon
Developing cloud-native microservices using project Helidon
Dmitry Kornilov
 
From Java EE to Jakarta EE
From Java EE to Jakarta EEFrom Java EE to Jakarta EE
From Java EE to Jakarta EE
Dmitry Kornilov
 
Helidon: Java Libraries for Writing Microservices
Helidon: Java Libraries for Writing MicroservicesHelidon: Java Libraries for Writing Microservices
Helidon: Java Libraries for Writing Microservices
Dmitry Kornilov
 
JSON Support in Java EE 8
JSON Support in Java EE 8JSON Support in Java EE 8
JSON Support in Java EE 8
Dmitry Kornilov
 

More from Dmitry Kornilov (10)

Helidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptxHelidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptx
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and Tomorrow
 
Building Cloud-Native Applications with Helidon
Building Cloud-Native Applications with HelidonBuilding Cloud-Native Applications with Helidon
Building Cloud-Native Applications with Helidon
 
Nonblocking Database Access in Helidon SE
Nonblocking Database Access in Helidon SENonblocking Database Access in Helidon SE
Nonblocking Database Access in Helidon SE
 
JSON Support in Jakarta EE: Present and Future
JSON Support in Jakarta EE: Present and FutureJSON Support in Jakarta EE: Present and Future
JSON Support in Jakarta EE: Present and Future
 
Building cloud native microservices with project Helidon
Building cloud native microservices with project HelidonBuilding cloud native microservices with project Helidon
Building cloud native microservices with project Helidon
 
Developing cloud-native microservices using project Helidon
Developing cloud-native microservices using project HelidonDeveloping cloud-native microservices using project Helidon
Developing cloud-native microservices using project Helidon
 
From Java EE to Jakarta EE
From Java EE to Jakarta EEFrom Java EE to Jakarta EE
From Java EE to Jakarta EE
 
Helidon: Java Libraries for Writing Microservices
Helidon: Java Libraries for Writing MicroservicesHelidon: Java Libraries for Writing Microservices
Helidon: Java Libraries for Writing Microservices
 
JSON Support in Java EE 8
JSON Support in Java EE 8JSON Support in Java EE 8
JSON Support in Java EE 8
 

Recently uploaded

Acorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutesAcorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutes
IP ServerOne
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
Howard Spence
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
khadija278284
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
Faculty of Medicine And Health Sciences
 
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
OECD Directorate for Financial and Enterprise Affairs
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Sebastiano Panichella
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Sebastiano Panichella
 
Eureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 PresentationEureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 Presentation
Access Innovations, Inc.
 
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Orkestra
 
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
0x01 - Newton's Third Law:  Static vs. Dynamic Abusers0x01 - Newton's Third Law:  Static vs. Dynamic Abusers
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
OWASP Beja
 
Getting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control TowerGetting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control Tower
Vladimir Samoylov
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
Sebastiano Panichella
 
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Matjaž Lipuš
 

Recently uploaded (13)

Acorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutesAcorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutes
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
 
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
 
Eureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 PresentationEureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 Presentation
 
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
 
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
0x01 - Newton's Third Law:  Static vs. Dynamic Abusers0x01 - Newton's Third Law:  Static vs. Dynamic Abusers
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
 
Getting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control TowerGetting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control Tower
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
 
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
 

Adopt-a-JSR session (JSON-B/P)

  • 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Adopt-a-JSR session JSON-P (JSR-374) + JSON-B (JSR-367) Dmitry Kornilov JSON-B/P Spec Lead January 28, 2017
  • 2. Copyright © 2016, 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 © 2016, Oracle and/or its affiliates. All rights reserved. | Dmitry Kornilov • Software Developer @ Oracle • JSON-B (JSR-367) spec lead • JSON-P (JSR-374) spec lead • Outstanding Spec Lead 2016 • EclipseLink project committer • dmitry.kornilov@oracle.com • @m0mus
  • 4. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Program Agenda JSON Processing (JSR-374) JSON Binding (JSR-367) 1 2
  • 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON Processing JSR-374
  • 6. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON Processing Overview • JSON Processing API – Standard API to parse, generate, transform, query JSON – Object Model and Streaming API • Similar to DOM and StAX
  • 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON Processing • Streaming API – JsonParser – JsonGenerator • Object model API – JsonReader – JsonWriter – JsonPointer – JsonPatch – JsonMergePatch
  • 8. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON-P 1.1 (JSR-374) • Update JSON-P spec to stay current with emerging standards (RFC 7159) • Support for IETF standards on – JSON Pointer (RFC 6901) – JSON Patch (RFC 6902) – JSON Merge Patch (RFC 7396) • Add editing/transformation operations to JSON objects and arrays • Support for a streaming API, together with Collectors • Support for processing big JSON, e.g. add filters to JSON parsing • JDK9 support
  • 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | History • 09 Dec 2014 – JSR Submitted • 03 Aug 2015 – Early Draft Review • 31 Oct 2016 – JSR Renewal Ballot • 21 Jan 2017 – Public Draft Submitted • 20 Jan 2017 – TCK completed
  • 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roadmap • Feb 2017 – Public Review Ballot • Mar 2017 – Public Final Draft Ballot • Apr 2017 – Release
  • 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Releases • JSON-P 1.0.0-M1 released 28/01/2017
  • 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | How can you help? • Test new functionality – JsonPointer, JsonPatch, JsonMergePatch • Tests on real life use cases • Performance testing
  • 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON-P Links • Specification – https://json-processing-spec.java.net • RI: – https://jsonp.java.net • GitHub – https://github.com/json-p • JCP – https://jcp.org/en/jsr/detail?id=374
  • 14. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | I found a bug! What shall I do? • Check our issue tracker. Maybe this bug is already submitted: – https://java.net/jira/browse/JSONP • Clearly describe the bug • Provide a test so we can simulate it • Submit an issue to JSON-P bugs tracker here: – https://java.net/jira/browse/JSONP • If you have a fix (we appreciate it) submit your merge request here: – https://github.com/json-p/api-ri
  • 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | I would like to suggest a new feature! • Discuss it in our mailing list: – users@json-processing-spec.java.net • Create a feature request in our issues tracker: – https://java.net/jira/browse/JSONP
  • 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON Binding JSR-367
  • 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON Binding Overview JSON-B is standard binding layer for converting Java objects to/from JSON documents public class Customer { public int id = 1; public String firstName = “John”; public String lastName = “Doe”; …. } { "id": 1, "firstName" : "John", "lastName" : "Doe", } Java JSON
  • 18. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON-B Goals (1/2) • Support binding (serialization and deserialization) for all RFC 7159- compatible JSON documents. • JSON-related specifications will be surveyed to determine their relationship to JSON-Binding. • Maintain consistency with JAXB and other Java EE and SE APIs where appropriate. • Define default mapping of Java classes and instances to JSON document counterparts. • Allow customization of the default mapping definition.
  • 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON-B Goals (2/2) • Default use of the APIs should not require prior knowledge of the JSON document format and specification. • Define or enable integration with JSR 374: Java API for JSON Processing (JSON-P) 1.1.
  • 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Non-Goals • Preserving equivalence (Round-trip) – The specification recommends, but does not require equivalence of content for deserialized and serialized JSON documents. • JSON Schema – Generation of JSON Schema from Java classes, as well as validation based on JSON schema. • JEP 198 Lightweight JSON API – Support and integration with Lightweight JSON API as defined within JEP 198 is out of scope of this specification.
  • 21. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | History • 26 Aug 2014 – JSR Submitted • 23 Sep 2014 – Expert Group Formation • 20 Aug 2015 – Early Draft Review • 25 May 2016 – Public Review • 26 July 2016 – Public Draft Ballot • 20 Jan 2017 – TCK completed
  • 22. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Roadmap • Feb 2017 – Minor fixes, GlassFish integration, JDK9 support • Mar 2017 – Public Final Draft Ballot • Apr 2017 – Release
  • 23. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Releases • JSON-B API 1.0.0-M1 released 28/01/2017 • Yasson 1.0.0-M1 released 26/01/2017
  • 24. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON-B API related Links • JSON-B web site – http://json-b.net • JSON-B API – https://java.net/projects/jsonb-spec • JCP page – https://www.jcp.org/en/jsr/detail?id=367
  • 25. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Yasson-related Links • Yasson on Eclipse.org – https://projects.eclipse.org/projects/rt.yasson • Yasson on GitHub – https://github.com/eclipse/yasson • Yasson user forums – https://www.eclipse.org/forums/index.php/f/356/ • Mailing list: – https://dev.eclipse.org/mailman/listinfo/yasson-dev
  • 26. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | JSON-B Demo • GitHub – https://github.com/m0mus/JavaOne2016-JSONB-Demo • Demonstrates – Default mapping – Adapters – Serializers – Mapping of generic class
  • 27. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | How can you help? • Yasson – Tests on real life use cases – Performance testing – Performance comparison – Performance optimization • Evangelism – Samples, guides, manuals – Blog articles
  • 28. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | I found a bug! What shall I do? • Check our issue tracker. Maybe this bug is already submitted: – https://github.com/eclipse/yasson • Clearly describe the bug • Provide a test so we can simulate it • Submit an issue to Yasson bugs tracker here: – https://github.com/eclipse/yasson/issues • If you have a fix (we appreciate it) submit your merge request here: – https://github.com/eclipse/yasson
  • 29. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | I would like to suggest a new feature! • Discuss it in our mailing list: – users@jsonb-spec.java.net • Create a feature request in our API issues tracker: – https://java.net/jira/browse/JSONB_SPEC