Jump to content

Java Community Process

From Alfawiki
Java Community Process
Company typeConsortium
IndustrySoftware development, Information technology
Founded1998
Area served
Worldwide
ProductsJava Specification Requests (JSRs), Technology Compatibility Kits, Reference Implementations
Websitejcp.org

The Java Community Process (JCP), founded in 1998, serves as an official framework that allows various participants to collaboratively create standardized technical specifications for Java technologies. To join, candidates must demonstrate considerable expertise in the Java programming language, its standards, and software engineering best practices. Typically, invitations are extended to individuals recognized for their significant contributions and standing within the Java ecosystem.

Prospective members are assessed by the JCP Executive Committee to confirm their capability to actively engage with Java Specification Requests (JSRs), which outline suggested specifications and innovations for the Java platform. These members are instrumental in advancing the Java community and its product releases, requiring substantial technical proficiency and industry experience to foster the development and widespread adoption of the Java language.

While organizational members pay an annual fee, individual participation is offered at no cost. JSRs undergo a structured public review process before receiving final endorsement from the Executive Committee. Approved JSRs provide a reference implementation—a freely available source code version—and a Technology Compatibility Kit designed to ensure adherence to the defined API standards.

The governance of the JCP itself is specified by a JSR; as of 2020, JSR 387 establishes version 2.11 of the process.

List of JSRs

The Java ecosystem includes hundreds of JSRs, many of which constitute essential standards underpinning its business environment. Prominent examples 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
5 Java API for XML Processing (JAXP) 1.0
8 OSGI Open Services Gateway Specification
12 Java Data Objects (JDO) 1.0
14 Add Generic Types To The Java Programming Language (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
36 Connected Device Configuration (CDC) 1.0 for Java ME
40 Java Metadata Interface (JMI) 1.0
51 Non-blocking I/O (NIO) Grizzly, Netty
52 JavaServer Pages Standard Tag Library (JSTL) 1.0 and 1.1
53 Java Servlet 2.3 and JavaServer Pages (JSP) 1.2 Specifications
54 Java Database Connectivity (JDBC) 3.0
58 J2EE 1.3
59 J2SE 1.4 (Merlin)
68 Java Platform, Micro Edition (Java ME) 1.0
73 Java Data Mining API (JDM) 1.0
80 Java Universal Serial Bus API
82 Java APIs for Bluetooth
93 Java API for XML Registries (JAXR) 1.0
102 Java Document Object Model (JDOM) 1.0
112 Java EE Connector Architecture (JCA) 1.5
127 JavaServer Faces (JSF) 1.0 and 1.1
135 Java Mobile Media API (MMAPI) for Java ME
140 Service Location Protocol (SLP) API for Java
151 Java Platform, Enterprise Edition (J2EE) 1.4
154 Java Servlet 2.4 and 2.5 Specifications
160 Java Management Extensions Remote API 1.0
166 Concurrency Utilities for Java SE and EE
176 Java Platform, Standard Edition (J2SE) 5.0 ("Tiger")
220 Enterprise JavaBeans (EJB) 3.0
221 Java Database Connectivity (JDBC) 4.0
222 Java Architecture for XML Binding (JAXB) 2.0
224 Java API for XML Web Services (JAX-WS)
252 JavaServer Faces (JSF) 1.2
255 Java Management Extensions (JMX) 2.0
270 Java Platform, Standard Edition (Java SE) 6 ("Mustang")
299 Contexts and Dependency Injection for Java EE platform (CDI) Weld Apache OpenWebBeans
311 Jakarta RESTful Web Services, JAX-RS versions 1.x
314 JavaServer Faces (JSF) 2.0 Mojarra JavaServer Faces Apache MyFaces
317 Java Persistence API (JPA) 2.0 EclipseLink, Hibernate, openJPA
336 [OpenJDK 7] - Java SE 7 Release Contents
337 [OpenJDK 8] - Java SE 8 Release Contents
338 Java Persistence API (JPA) 2.1 EclipseLink, Hibernate, openJPA
Other significant JSRs address updates to the Java Language Specification, Transaction APIs, JVM enhancements, and modularity advancements.


Criticism

Following Oracle's acquisition of Sun Microsystems, the original creator of the Java programming language, the JCP's executive board has been criticized as a mere rubber stamp organization.

In December 2010, the Apache Software Foundation withdrew from the board, citing Oracle's refusal to grant a license for the Technology Compatibility Kit required by Apache's Java implementation.

JCP Program and Industry Awards

2012 — 10th Annual JCP Award Recipients
Award Recipient Contribution Notes JSR # Awarded?
JCP Member/Participant of the Year London Java Community and SouJava Initiated "Adopt a JSR!" program to assist Java developers within the JCP. Yes
Stephen Colebourne Developed the Date and Time API for Java. Comprehensive and sophisticated work; demonstrated exceptional dedication. 310
Markus Eisele Active contributor to the German Java community and member of JSR 342 Expert Group. 342
JUG Chennai Recognized as India's most active JCP group with strong commercial competitiveness.
Werner Keil Engaged energetically in seven JSRs and served on the Executive Committee.
Antoine Sabot-Durand Efficiently delivered "JSR Early Draft Release"; Agorava Project candidate for JBoss Enterprise Framework.
Outstanding Spec Lead Victor Grazi, Credit Suisse Led development of Java Money & Currency API; specialized in monetary and currency modeling. 354 Yes
Michael Ernst Managed Annotations on Java Types with exemplary leadership. 308
Nigel Deakin, Oracle Corporation Directed Java Message Service 2.0; contributed diligent leadership to JMS 2 Expert Group. 343
Pete Muir, Red Hat Oversaw Contexts and Dependency Injection for Java EE 1.1 updates to version 2.8, ensuring transparency. 346
Most Significant JSR Jitendra Kotamraju Advanced API for JSON Processing to enhance Java's web capabilities. 353
Victor Grazi, Credit Suisse Improved Money and Currency API by refining monetary calculations and fixing critical defects. 354
Mitch Upton Enhanced Java State Management to support Application Servers, Distributed Services, and cloud environments. 350
Nigel Deakin Modernized Java Message Service 2 with rapid development efforts. 343
Patrick Curran "JCP.Next" initiative leader focusing on evolving future JCP processes. 348 / 355 / 358 Yes

See also

External links