© Luqman Saeed 2020
Luqman SaeedIntroducing Jakarta EE CDIhttps://doi.org/10.1007/978-1-4842-5642-8_2

2. What Is a Java Specification Request (JSR)?

Luqman Saeed
(1)
Accra, Ghana
 
At its core, a Java Specification Request is a formal, open standard document proposal that is made by an individual or organization to the Java Community Process (JCP)1. It contains proposed changes, additions, or improvements to the Java technology platform.
Many essential points can be gleaned from this definition. First is that a JSR is a formal document. What this means is that a JSR or a request for adding to the Java technology group must take a certain predefined format. This format is defined by the JCP.
Also, a JSR is an open standard document. What this means, again, is that a JSR is a document that conforms to certain established rules and regulations regarding its distribution and contributions to it. It also means that whatever is contained in the JSR is easily accessible to anyone interested in assessing it.
Flowing from the definition of a Java Specification Request is that a JSR can be made by either an individual or organization. Any member of the JCP can make a JSR. JCP membership is opened to the public; it’s free for individuals as well. So what this means is that you cannot make a request to the JCP without being a member of the organization.
Finally, a JSR is a document that proposes changes, additions, or improvements to the Java technology platform. Every JSR contains new features, bug fixes, or general improvements, in one way or the other, to the Java technology stack.
Every major API available on Java EE is actually a JSR specification that has gone through the process of being approved by the JCP. All JSRs have a process they have to go through to be approved by the JCP.
Once a JSR is approved by the JCP, it becomes part of the Java stack and can be safely used in production. The JSR process ensures that only well tested technologies become part of the Java stack, preventing unnecessary bloat in the form of fad technologies.
The JSR process also ensures that APIs are carefully crafted in such a way as to preserve backward compatibility. If there is one thing Java is known for, it’s backward compatibility, and the JSR process ensures that this crucial Java feature is maintained.
As a JSR is just an abstract specification, it needs some form of implementation to be useful. That is where the concept of reference implementation (covered in Chapter 3) comes in.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.131.110.169