The Java Community Process (JCP), established in 1998, is a formalized mechanism that allows interested parties to develop standard technical specifications for Java technology. Anyone can become a JCP Member by filling a form available at the JCP website. JCP membership for organizations and commercial entities requires annual fees – but is free for individuals.[1]
The JCP involves the use of Java Specification Requests (JSRs) – the formal documents that describe proposed specifications and technologies for adding to the Java platform. Formal public reviews of JSRs take place before a JSR becomes final and the JCP Executive Committee votes on it. A final JSR provides a reference implementation that is a free implementation of the technology in source code form and a Technology Compatibility Kit to verify the API specification.
A JSR describes the JCP itself. As of 2020[update], JSR 387 describes the current version (2.11) of the JCP.
There are hundreds of JSRs. Some of the more visible JSRs include:
JSR # | Specification or Technology | Reference implementations | Other implementations |
---|---|---|---|
1 | Real-Time Specification for Java (RTSJ) 1.0 | ||
3 | Java Management Extensions (JMX) 1.0, 1.1, & 1.2[2] | ||
5 | Java API for XML Processing (JAXP) 1.0 | ||
8 | OSGI Open Services Gateway Specification | ||
9 | Jiro (Federated Management Architecture Specification) 1.0 | ||
12 | Java Data Objects (JDO) 1.0 | ||
13 | Improved BigDecimal (Java Platform, Standard Edition#java.math) | ||
14 | Add Generic Types To The Java Programming Language (as of J2SE 5.0) | ||
16 | Java EE Connector Architecture (JCA) 1.0 | ||
19 | Enterprise JavaBeans (EJB) 2.0 | ||
22 | JAIN SLEE API Specification (JSLEE) 1.0 | ||
30 | Connected Limited Device Configuration (CLDC) 1.0 for Java ME | ||
31 | Java Architecture for XML Binding (JAXB) 1.0 | ||
32 | JAIN SIP API Specification (JSIP) 1.0, 1.1 and 1.2 for Java ME | ||
36 | Connected Device Configuration (CDC) 1.0 for Java ME | ||
37 | Mobile Information Device Profile (MIDP) 1.0 for Java ME | ||
40 | Java Metadata Interface (JMI) 1.0 | ||
41 | A Simple Assertion Facility (as of J2SE 1.4) | ||
47 | Logging API Specification (as of J2SE 1.4) | ||
48 | WBEM Services Specification (as of J2SE 1.4) | ||
51 | Non-blocking I/O (NIO) (as of J2SE 1.4) | Grizzly, Netty | |
52 | JavaServer Pages Standard Tag Library (JSTL) 1.0 and 1.1[3] | ||
53 | Java Servlet 2.3 and JavaServer Pages (JSP) 1.2 Specifications | ||
54 | Java Database Connectivity (JDBC) 3.0 | ||
56 | Java Network Launching Protocol and API (JNLP) 1.0, 1.5 and 6.0[4] (Java Web Start) | ||
58 | Java 2 Platform, Enterprise Edition (J2EE) 1.3 | ||
59 | Java 2 Platform, Standard Edition (J2SE) 1.4 (Merlin) | ||
63 | Java API for XML Processing (JAXP) 1.1 and 1.2[5] | ||
68 | Java Platform, Micro Edition (Java ME) 1.0 | ||
73 | Java Data Mining API (JDM) 1.0 | ||
75 | PDA Optional Packages for the J2ME Platform | ||
77 | J2EE Management | ||
80 | Java USB API | ||
82 | Java APIs for Bluetooth | ||
88 | Java EE Application Deployment | ||
91 | OSS Trouble Ticket API | ||
93 | Java API for XML Registries (JAXR) 1.0 | ||
94 | Java Rules Engine API | ||
102 | Java Document Object Model (JDOM) 1.0 | ||
110 | Java APIs for WSDL (WSDL4J) 1.0 | ||
112 | Java EE Connector Architecture (JCA) 1.5 | ||
113 | Java Speech API 2 (JSAPI2) | ||
114 | Java Database Connectivity (JDBC) Rowset Implementations | ||
116 | SIP Servlet API 1.0 | ||
118 | Mobile Information Device Profile (MIDP) 2.0 for Java ME | ||
120 | Wireless Messaging API (WMA) | ||
121 | Application Isolation API | ||
127 | JavaServer Faces (JSF) 1.0 and 1.1[6] | ||
133 | Java Memory Model and Thread Specification Revision | ||
135 | Java Mobile Media API (MMAPI) for Java ME | ||
139 | Connected Limited Device Configuration (CLDC) 1.1 for Java ME | ||
140 | Service Location Protocol (SLP) API for Java | ||
141 | Session Description Protocol (SDP) API for Java | ||
151 | Java 2 Platform, Enterprise Edition (J2EE) 1.4 | ||
152 | JavaServer Pages (JSP) 2.0 | ||
153 | Enterprise JavaBeans (EJB) 2.1 | ||
154 | Java Servlet 2.4 and 2.5 Specifications[7] | ||
160 | Java Management Extensions (JMX) Remote API 1.0 | ||
163 | Java Platform Profiling Architecture (JPPA), which includes (among other specifications) the specification of Java Virtual Machine Tools Interface | ||
166 | Concurrency Utilities (as of J2SE 5.0 java.util.concurrent , java.util.concurrent.atomic and java.util.concurrent.locks )
| ||
168 | Portlet specification 1.0 | ||
170 | Content repository API for Java (JCR) 1.0 | ||
172 | Web Services Specification for Java ME | ||
173 | StAX (Streaming API for XML) | ||
175 | A Metadata Facility for the Java Programming Language | ||
176 | Java 2 Platform, Standard Edition (J2SE) 5.0 (Tiger) | ||
177 | Security and Trust Services API for J2ME (SATSA) | ||
179 | Location API 1.0 for Java ME | ||
180 | Session Initiation Protocol (SIP) API for Java ME | ||
181 | Web Services Metadata for the Java Platform | ||
184 | Mobile 3D Graphics API for Java ME 1.0 and 1.1 | ||
185 | Java Technology for the Wireless Industry (JTWI) | ||
187 | Instant messaging (Java ME and Java SE) | ||
198 | A Standard Extension API for Integrated Development Environments | ||
199 | Java Compiler API | ||
200 | Pack200 Network Transfer Format for Java Archives | ||
201 | Extending the Java Programming Language with Enumerations, Autoboxing, Enhanced for loops and Static Import (as of J2SE 5.0) | ||
202 | Java Class File Specification Update | ||
203 | More Non-blocking I/O (Java) (NIO2) | ||
204 | Unicode Supplementary Character Support (as of J2SE 5.0 adds support for Unicode 3.1) | ||
205 | Wireless Messaging API 2.0 (WMA) 2.0 | ||
206 | Java API for XML Processing (JAXP) 1.3 | ||
208 | Java Business Integration (JBI) 1.0 | ||
211 | Content Handler API | ||
215 | Java Community Process (JCP) 2.6 | ||
218 | Connected Device Configuration (CDC) 1.1 for Java ME | ||
219 | Foundation Profile 1.1 | ||
220 | Enterprise JavaBeans (EJB) 3.0 | ||
221 | Java Database Connectivity (JDBC) 4.0 | ||
222 | Java Architecture for XML Binding (JAXB) 2.0 | ||
223 | Scripting for the Java Platform for Java SE 6 | ||
224 | Java API for XML Web Services (JAX-WS), successor of JAX-RPC | ||
225 | XQuery API for Java (XQJ) | ||
226 | Scalable 2D Vector Graphics API for Java ME | ||
229 | Payment API (PAPI) | ||
231 | Java Bindings for OpenGL | ||
234 | Advanced Multimedia Supplements API for Java ME | ||
235 | Service Data Objects (SDO) | ||
239 | Java Bindings for OpenGL ES | ||
240 | JAIN SLEE API Specification (JSLEE) 1.1 | ||
241 | The Groovy Programming Language | ||
243 | Java Data Objects (JDO) 2.0 | ||
244 | Java Platform, Enterprise Edition (Java EE) 5 | ||
245 | JavaServer Pages (JSP) 2.1 | ||
247 | Java Data Mining API (JDM) 2.0 | ||
248 | Mobile Service Architecture | ||
249 | Mobile Service Architecture 2 | ||
250 | Common Annotations for the Java Platform (for the Metadata facility for Java) | ||
252 | JavaServer Faces (JSF) 1.2 | ||
253 | Mobile Telephony API (MTA) | ||
255 | Java Management Extensions (JMX) 2.0 | ||
256 | Mobile Sensor API | ||
257 | Contactless Communication API (NFC) | ||
260 | Javadoc Tag Technology Update | ||
269 | Pluggable Annotations Processing API (for the Metadata facility for Java) | ||
270 | Java Platform, Standard Edition (Java SE) 6 (Mustang) | ||
271 | Mobile Information Device Profile (MIDP) 3.0 for Java ME | ||
274 | The BeanShell Scripting Language | ||
275 | Units specification (see Units of Measurement) | ||
276 | Design-time Metadata for JavaServer Faces Components | ||
277 | Java Module System | ||
280 | XML API for Java ME | ||
281 | IMS Services API (See IMS) | ||
282 | Real-Time Specification for Java (RTSJ) 1.1 | ||
283 | Content repository API for Java (JCR) 2.0 | ||
286 | Portlet Specification 2.0 | ||
289 | SIP Servlet API 1.1 | ||
290 | Java Language & XML User Interface Markup Integration (XML-UI) | ||
291 | Dynamic Component Support for Java SE (see OSGi) | ||
292 | Supporting Dynamically Typed Languages on the JavaTM Platform | ||
293 | Location API 2.0 for Java ME | ||
294 | Improved Modularity Support in the Java Programming Language | ||
296 | Swing Application Framework (Java SE 7) | ||
299 | Contexts and Dependency Injection for the Java EE platform (CDI) | Weld | OpenWebBeans |
301 | JSF Portlet Bridge | ||
303 | Bean Validation | Hibernate Validator | |
307 | Network Mobility and Mobile Data API (not official as of July, 20th, 2007 but official release is planned for 2. Q. 2008 | ||
308 | Annotations on Java Types (Java SE 8) | ||
314 | JavaServer Faces (JSF) 2.0 | Mojarra JavaServer Faces | Apache MyFaces |
316 | Java Platform, Enterprise Edition (Java EE) 6 | ||
317 | Java Persistence API (JPA) 2.0 | EclipseLink | Hibernate, openJPA |
322 | Java EE Connector Architecture (JCA) 1.6 | ||
325 | IMS Communication Enablers (ICE) (See IMS) | ||
330 | Dependency Injection for Java | ||
336 | Java SE 7 Release Contents | [OpenJDK 7] | ? |
337 | Java SE 8 Release Contents | [OpenJDK 8] | ? |
338 | Java Persistence API (JPA) 2.1 | EclipseLink | Hibernate, openJPA |
343 | Java Message Service 2.0 (JMS) | ||
352 | Java Batch | IBM Java Batch | JBeret, Spring Batch |
354 | Java Money & Currency API | ||
356 | Java API for WebSocket | ||
365 | Contexts and Dependency Injection for Java 2.0 | Weld | |
367 | Java API for JSON Binding (JSON-B) | Eclipse Yasson | Jackson |
370 | Java API for RESTful Web Services (JAX-RS) 2.1 | Project Jersey | |
374 | Java API for JSON Processing 1.1 | Eclipse JSON-P | Jackson |
376 | Java Platform Module System (supersedes 277 | ||
380 | Bean Validation 2.0 | Hibernate Validator | |
901 | The Java Language Specification, Third Edition (JLS) (as of J2SE 5.0 incorporates changes from JSRs 14, 41, 133, 175, 201, and 204) | ||
907 | Java Transaction API (JTA) 1.0 and 1.1 | ||
912 | Java 3D API 1.3 | ||
913 | Java Community Process (JCP) 2.0, 2.1 & 2.5.[8] | ||
914 | Java Message Service (JMS) API 1.0 and 1.1 | ||
924 | Java Virtual Machine Specification, Second Edition (JVM) (as of J2SE 5.0).[9] | OpenJDK | |
926 | Java 3D API 1.5 |
The JCP's executive board has been characterized as a "rubber stamp organization" since Oracle acquired Sun Microsystems (the original developer of the Java language).[10]
The Apache Software Foundation resigned its seat on the board in December 2010 because Oracle was unwilling to license the Technology Compatibility Kit for Apache's version of Java.[11]
Source:[12]
Award | Nominee | Contributions | Details | JSR # | Win? |
---|---|---|---|---|---|
JCP Member/Participant of the Year | London Java Community and SouJava | ″Adopt a JSR!″ program | Supporting Java developers through the JCP. | Win! | |
Stephen Colebourne | Date and time API for Java. | Comprehensive and advanced. Tireless work. | 310 | ||
Markus Eisele | Active work among the German Java community and in the JSR 342 Expert Group. | 342 | |||
JUG Chennai | Becoming the most active JCP organization in India and a competitive service organization in the commercial marketplace. | ||||
Werner Keil | Incredible energy and participation in seven JSRs as well as the Executive Committee. | ||||
Antoine Sabot-Durand |
|
||||
Outstanding Spec Lead | Victor Grazi,
Credit Suisse |
Java Money & Currency API | Dedicated, focused expertise in solving issues representing money and currencies. | 354 | Win! |
Michael Ernst | Annotations on Java Types | Level-headed approach; a great example of a well-run JSR. | 308 | ||
Nigel Deakin, | Java Message Service 2.0 | Outstanding, thorough, and intelligent work keeping the JMS 2 EG open and moving forward at a great pace. | 343 | ||
Pete Muir,
Red Hat |
Contexts and Dependency Injection for Java EE 1.1 | Voluntarily upgrading to 2.8 in late 2011 and maintaining what were already transparent methods in running his Expert Group. | 346 | ||
Most Significant JSR | Jitendra Kotamraju | API for JSON Processing | An important step in bringing Java into the world of the modern web. | 353 | |
Victor Grazi,
Credit Suisse |
Money and Currency API | New ways of handling monetary amounts and currency computations. Fixing critical Java Number Format and Representation bugs beyond monetary values. | 354 | ||
Mitch Upton | Java State Management | The potential to improve how Application Servers and Distributed Services are going to look in the near future as well as simplifying deployment in PaaS and Cloud environments. | 350 | ||
Nigel Deakin | Java Message Service 2 | Modernize JMS at a rapid pace. | 343 | ||
Patrick Curran | JCP.Next | Setting the direction and procedures for the next-generation JCP. | 348 355 358 | Win! |
By: Wikipedia.org
Edited: 2021-06-18 09:38:32
Source: Wikipedia.org