Java Community Process

From Wikipedia, the free encyclopedia

The Java Community Process or JCP, established in 1998, is a formalized process which allows interested parties to be involved in the definition of future versions and features of the Java platform.

The JCP process involves the use of Java Specification Request (JSR), which are formal documents that describe proposed specifications and technologies to be added to the Java platform. Formal public reviews of JSRs are conducted before the JSR becomes final and is voted on by the JCP Executive Committee. A final JSR provides a reference implementation which provides a free implementation of the technology in source code form and a Technology Compatibility Kit to verify the API specification.

The JCP itself is described by a JSR. As of 2006, the current version of the JCP in use is 2.6 as described by JSR 215.

There are over 300 JSRs. Some of the more visible JSRs are:

JSR # Specification or Technology
1 Real-Time Specification for Java (RTSJ) 1.0
3 Java Management Extensions (JMX) 1.0, 1.1, & 1.2[1]
5 Java API for XML Processing (JAXP) 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
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)
51 New I/O APIs for the Java Platform (NIO) (as of J2SE 1.4)
52 JavaServer Pages Standard Tag Library (JSTL) 1.0 and 1.1[2]
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[3] (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[4]
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
80 Java USB API
82 Java APIs for Bluetooth
93 Java API for XML Registries (JAXR) 1.0
94 Java Rule 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
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
121 Application Isolation API
127 JavaServer Faces (JSF) 1.0 and 1.1[5]
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[6]
160 Java Management Extensions (JMX) Remote API 1.0
166 Concurrency Utilities (as of J2SE 5.0 java.util.concurrent, java.util.concurrent.atomic and java.util.concurrent.locks)
168 Java Portlet specification 1.0
170 Content repository API for Java (JCR) 1.0
175 A Metadata Facility for the Java Programming Language
176 Java 2 Platform, Standard Edition (J2SE) 5.0 (Tiger)
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
198 A Standard Extension API for Integrated Development Environments
199 Java Compiler API
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 New I/O APIs for the Java Platform (NIO2)
204 Unicode Supplementary Character Support (as of J2SE 5.0 adds support for Unicode 3.1)
206 Java API for XML Processing (JAXP) 1.3
208 Java Business Integration (JBI) 1.0
215 Java Community Process (JCP) 2.6
218 Connected Device Configuration (CDC) 1.1 for Java ME
220 Enterprise JavaBeans (EJB) 3.0
221 Java Database Connectivity (JDBC) 4.0
222 Java Architecture for XML Binding (JAXB) 2.0
225 XQuery API for Java (XQJ)
231 Java Bindings for OpenGL
234 Java advanced multimedia supplements for Java ME
235 Service Data Objects (SDO)
239 Java Bindings for OpenGL ES
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 Advanced
250 Common Annotations for the Java Platform (for the Metadata facility for Java)
252 JavaServer Faces (JSF) 1.2
255 Java Management Extensions (JMX) 2.0
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 JScience)
276 Design-time Metadata for JavaServer Faces Components
281 IMS Services API (See IMS)
282 Real-Time Specification for Java (RTSJ) 1.1
289 SIP Servlet API 1.1
291 Dynamic Component Support for Java SE (see OSGi)
293 Location API 2.0 for Java ME
308 Annotations on Java Types (Java SE 7)
900 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[7]
914 Java Message Service (JMS) API 1.0 and 1.1
924 Java Virtual Machine Specification, Second Edition (JVM) (as of J2SE 5.0)[8]
926 Java 3D API 1.4

[edit] Notes

  1. ^ JSR 3 originally specified the JMX 1.0 release. Two subsequent "final" releases have provided JMX 1.1 and JMX 1.2. JMX 2.0 is specified by JSR 255.
  2. ^ JSR 52 originally specified the JSTL 1.0 release. A subsequent maintenance release provided JSTL 1.1.
  3. ^ JSR 56 originally specified the JNLP 1.0 release. A subsequent "final" release[1] provided JNLP 1.5, which was primarily a maintenance release. As of February, 2006, the JNLP 6.0 maintenance release has been completed but not finalized.
  4. ^ JSR 63 originally specified the JAXP 1.1 release. A subsequent maintenance release of JSR 63 provided the JAXP 1.2 specification.[2] JAXP 1.3 is specified by JSR 206.
  5. ^ JSR 127 originally specified the JSF 1.0 release. A subsequent maintenance release provided the JSF 1.1 specification.[3] JSF 1.2 is specified by JSR 252.
  6. ^ JSR 154 originally specified the Java Servlet 2.4 release. As of February, 2006 a maintenance draft of the 2.5 servlet specification is under review, scheduled to close on March 20, 2006.
  7. ^ JSR 913 originally specified JCP 2.0. It was subsequently amended by various changes to voting rules to produce version 2.1 and then further changed by licensing rules, policy, and processes to get to version 2.5. JCP 2.6 is defined by JSR 215.[4]
  8. ^ JSR 924 originally specified changes to the JVM to support changes in J2SE 5.0. As of 2006 a maintenance update to support changes proposed by JSR 202 is underway.

[edit] External links

Java (Sun)
Major Technologies: Java (programming language) | Java Platform | Java Development Kit | Java Virtual Machine | Java Runtime Environment
History: Java version history | Criticism of Java | Java Community Process | Sun Microsystems
Language Features: Bytecode | Syntax | Applets | Servlets | JavaServer Pages