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