El Java Community Process ( JCP ), establecido en 1998, es un mecanismo formalizado que permite a las partes interesadas desarrollar especificaciones técnicas estándar para la tecnología Java . Cualquiera puede convertirse en miembro de JCP rellenando un formulario disponible en el sitio web de JCP . La membresía de JCP para organizaciones y entidades comerciales requiere tarifas anuales, pero es gratuita para las personas. [1]
El JCP implica el uso de solicitudes de especificación de Java ( JSR ), los documentos formales que describen las especificaciones y tecnologías propuestas para agregar a la plataforma Java . Las revisiones públicas formales de los JSR se llevan a cabo antes de que un JSR sea definitivo y el Comité Ejecutivo del JCP lo vote. Un JSR final proporciona una implementación de referencia que es una implementación gratuita de la tecnología en forma de código fuente y un kit de compatibilidad tecnológica para verificar la especificación API .
Un JSR describe el propio JCP. A partir de 2020 [actualizar], JSR 387 describe la versión actual (2.11) del JCP.
Lista de JSR
Hay cientos de JSR. Algunos de los JSR más visibles incluyen:
JSR # | Especificación o tecnología | Implementaciones de referencia | Otras implementaciones |
---|---|---|---|
1 | Especificación en tiempo real para Java (RTSJ) 1.0 | ||
3 | Extensiones de administración de Java (JMX) 1.0, 1.1 y 1.2 [2] | ||
5 | API de Java para procesamiento XML (JAXP) 1.0 | ||
8 | Especificación OSGI Open Services Gateway | ||
9 | Jiro (Especificación de arquitectura de gestión federada) 1.0 | ||
12 | Objetos de datos Java (JDO) 1.0 | ||
13 | BigDecimal mejorado ( Java Platform, Standard Edition # java.math ) | ||
14 | Agregar tipos genéricos al lenguaje de programación Java (a partir de J2SE 5.0) | ||
dieciséis | Arquitectura de conector Java EE (JCA) 1.0 | ||
19 | Enterprise JavaBeans (EJB) 2.0 | ||
22 | Especificación de la API JAIN SLEE (JSLEE) 1.0 | ||
30 | Configuración de dispositivo limitado conectado (CLDC) 1.0 para Java ME | ||
31 | Arquitectura Java para enlaces XML (JAXB) 1.0 | ||
32 | Especificación JAIN SIP API (JSIP) 1.0, 1.1 y 1.2 para Java ME | ||
36 | Configuración de dispositivo conectado (CDC) 1.0 para Java ME | ||
37 | Perfil de dispositivo de información móvil (MIDP) 1.0 para Java ME | ||
40 | Interfaz de metadatos de Java (JMI) 1.0 | ||
41 | Una facilidad de afirmación simple (a partir de J2SE 1.4) | ||
47 | Especificación de la API de registro (a partir de J2SE 1.4) | ||
48 | Especificación de servicios WBEM (a partir de J2SE 1.4) | ||
51 | E / S sin bloqueo (NIO) (a partir de J2SE 1.4) | Grizzly , Netty | |
52 | Biblioteca de etiquetas estándar de JavaServer Pages (JSTL) 1.0 y 1.1 [3] | ||
53 | Especificaciones de Java Servlet 2.3 y JavaServer Pages (JSP) 1.2 | ||
54 | Conectividad de base de datos Java (JDBC) 3.0 | ||
56 | Protocolo de lanzamiento de red Java y API (JNLP) 1.0, 1.5 y 6.0 [4] ( Java Web Start ) | ||
58 | Plataforma Java 2, edición empresarial (J2EE) 1.3 | ||
59 | Plataforma Java 2, edición estándar (J2SE) 1.4 (Merlin) | ||
63 | API de Java para procesamiento XML (JAXP) 1.1 y 1.2 [5] | ||
68 | Plataforma Java, Micro Edition (Java ME) 1.0 | ||
73 | API de minería de datos de Java (JDM) 1.0 | ||
75 | Paquetes opcionales de PDA para la plataforma J2ME | ||
77 | Gestión J2EE | ||
80 | API USB de Java | ||
82 | API de Java para Bluetooth | ||
88 | Implementación de aplicaciones Java EE | ||
91 | API de tickets de problemas de OSS | ||
93 | API de Java para registros XML (JAXR) 1.0 | ||
94 | API del motor de reglas de Java | ||
102 | Modelo de objetos de documento Java (JDOM) 1.0 | ||
110 | API de Java para WSDL (WSDL4J) 1.0 | ||
112 | Arquitectura de conector Java EE (JCA) 1.5 | ||
113 | Java Speech API 2 (JSAPI2) | ||
114 | Implementaciones de conjuntos de filas de Java Database Connectivity (JDBC) | ||
116 | SIP Servlet API 1.0 | ||
118 | Perfil de dispositivo de información móvil (MIDP) 2.0 para Java ME | ||
120 | API de mensajería inalámbrica (WMA) | ||
121 | API de aislamiento de aplicaciones | ||
127 | JavaServer Faces (JSF) 1.0 y 1.1 [6] | ||
133 | Revisión de especificación de subproceso y modelo de memoria Java | ||
135 | API de Java Mobile Media (MMAPI) para Java ME | ||
139 | Configuración de dispositivo limitado conectado (CLDC) 1.1 para Java ME | ||
140 | API de Protocolo de ubicación de servicios (SLP) para Java | ||
141 | API de protocolo de descripción de sesión (SDP) para Java | ||
151 | Plataforma Java 2, edición empresarial (J2EE) 1.4 | ||
152 | Páginas de JavaServer (JSP) 2.0 | ||
153 | Enterprise JavaBeans (EJB) 2.1 | ||
154 | Especificaciones de Java Servlet 2.4 y 2.5 [7] | ||
160 | API remota 1.0 de Java Management Extensions (JMX) | ||
163 | Arquitectura de creación de perfiles de plataforma Java (JPPA), que incluye (entre otras especificaciones) la especificación de la interfaz Java Virtual Machine Tools | ||
166 | Concurrencia Utilidades (como de J2SE 5.0 java.util.concurrent , java.util.concurrent.atomic y java.util.concurrent.locks ) | ||
168 | Especificación de portlet 1.0 | ||
170 | API de repositorio de contenido para Java (JCR) 1.0 | ||
172 | Especificación de servicios web para Java ME | ||
173 | StAX (API de transmisión para XML) | ||
175 | Un recurso de metadatos para el lenguaje de programación Java | ||
176 | Plataforma Java 2, edición estándar (J2SE) 5.0 (Tiger) | ||
177 | API de servicios de seguridad y confianza para J2ME (SATSA) | ||
179 | Ubicación API 1.0 para Java ME | ||
180 | API de Protocolo de inicio de sesión (SIP) para Java ME | ||
181 | Metadatos de servicios web para la plataforma Java | ||
184 | API de gráficos 3D para dispositivos móviles para Java ME 1.0 y 1.1 | ||
185 | Tecnología Java para la industria inalámbrica (JTWI) | ||
187 | Mensajería instantánea ( Java ME y Java SE ) | ||
198 | Una API de extensión estándar para entornos de desarrollo integrados | ||
199 | API del compilador de Java | ||
200 | Formato de transferencia de red Pack200 para archivos Java | ||
201 | Ampliación del lenguaje de programación Java con enumeraciones, Autoboxing, bucles for mejorados e importación estática (a partir de J2SE 5.0) | ||
202 | Actualización de la especificación del archivo de clase Java | ||
203 | Más E / S sin bloqueo (Java) (NIO2) | ||
204 | Soporte de caracteres suplementarios Unicode (a partir de J2SE 5.0 agrega soporte para Unicode 3.1) | ||
205 | API de mensajería inalámbrica 2.0 (WMA) 2.0 | ||
206 | API de Java para procesamiento XML (JAXP) 1.3 | ||
208 | Integración empresarial de Java (JBI) 1.0 | ||
211 | API de controlador de contenido | ||
215 | Proceso de comunidad Java (JCP) 2.6 | ||
218 | Configuración de dispositivo conectado (CDC) 1.1 para Java ME | ||
219 | Perfil de la fundación 1.1 | ||
220 | Enterprise JavaBeans (EJB) 3.0 | ||
221 | Conectividad de base de datos Java (JDBC) 4.0 | ||
222 | Arquitectura Java para enlaces XML (JAXB) 2.0 | ||
223 | Secuencias de comandos para la plataforma Java para Java SE 6 | ||
224 | API de Java para servicios web XML (JAX-WS), sucesor de JAX-RPC | ||
225 | API de XQuery para Java (XQJ) | ||
226 | API de gráficos vectoriales 2D escalables para Java ME | ||
229 | API de pago (PAPI) | ||
231 | Enlaces de Java para OpenGL | ||
234 | API de complementos multimedia avanzados para Java ME | ||
235 | Objetos de datos de servicio (SDO) | ||
239 | Enlaces de Java para OpenGL ES | ||
240 | Especificación de la API JAIN SLEE (JSLEE) 1.1 | ||
241 | El lenguaje de programación Groovy | ||
243 | Objetos de datos Java (JDO) 2.0 | ||
244 | Java Platform, Enterprise Edition (Java EE) 5 | ||
245 | Páginas de JavaServer (JSP) 2.1 | ||
247 | API de minería de datos de Java (JDM) 2.0 | ||
248 | Arquitectura de servicios móviles | ||
249 | Arquitectura de servicio móvil 2 | ||
250 | Anotaciones comunes para la plataforma Java (para la función de metadatos para Java ) | ||
252 | JavaServer Faces (JSF) 1.2 | ||
253 | API de telefonía móvil (MTA) | ||
255 | Extensiones de administración de Java (JMX) 2.0 | ||
256 | API de sensor móvil | ||
257 | API de comunicación sin contacto ( NFC ) | ||
260 | Actualización de la tecnología de etiquetas Javadoc | ||
269 | API de procesamiento de anotaciones conectables (para la función de metadatos para Java ) | ||
270 | Java Platform, Standard Edition (Java SE) 6 (Mustang) | ||
271 | Perfil de dispositivo de información móvil (MIDP) 3.0 para Java ME | ||
274 | El lenguaje de secuencias de comandos BeanShell | ||
275 | Especificación de unidades (ver Unidades de medida ) | ||
276 | Metadatos en tiempo de diseño para componentes JavaServer Faces | ||
277 | Sistema de módulos Java | ||
280 | API XML para Java ME | ||
281 | API de servicios IMS (ver IMS ) | ||
282 | Especificación en tiempo real para Java (RTSJ) 1.1 | ||
283 | API de repositorio de contenido para Java (JCR) 2.0 | ||
286 | Especificación de portlet 2.0 | ||
289 | API de servlet SIP 1.1 | ||
290 | Integración de marcado de interfaz de usuario XML y lenguaje Java (XML-UI) | ||
291 | Soporte de componentes dinámicos para Java SE (consulte OSGi ) | ||
292 | Compatibilidad con lenguajes escritos dinámicamente en la plataforma JavaTM | ||
293 | Ubicación API 2.0 para Java ME | ||
294 | Soporte de modularidad mejorado en el lenguaje de programación Java | ||
296 | Marco de aplicaciones Swing (Java SE 7) | ||
299 | Contextos e inyección de dependencia para la plataforma Java EE (CDI) | Soldar | OpenWebBeans |
301 | Puente de portlet JSF | ||
303 | Validación de Bean | Validador de hibernación | |
307 | API de movilidad de red y datos móviles (no oficial al 20 de julio de 2007, pero el lanzamiento oficial está previsto para el 2. Q. 2008 | ||
308 | Anotaciones sobre tipos de Java (Java SE 8) | ||
314 | JavaServer Faces (JSF) 2.0 | Caras de Mojarra JavaServer | Apache MyFaces |
316 | Java Platform, Enterprise Edition (Java EE) 6 | ||
317 | API de persistencia de Java (JPA) 2.0 | EclipseLink | Hibernar , openJPA |
322 | Arquitectura de conector Java EE (JCA) 1.6 | ||
325 | Habilitadores de comunicación IMS (ICE) (ver IMS ) | ||
330 | Inyección de dependencia para Java | ||
336 | Contenido de la versión de Java SE 7 | [OpenJDK 7] | ? |
337 | Contenido de la versión de Java SE 8 | [OpenJDK 8] | ? |
338 | API de persistencia de Java (JPA) 2.1 | EclipseLink | Hibernar , openJPA |
343 | Servicio de mensajes Java 2.0 (JMS) | ||
352 | Lote de Java | IBM Java Batch | JBeret , lote de primavera |
354 | API Java Money & Currency | ||
356 | API de Java para WebSocket | ||
365 | Contextos e inyección de dependencia para Java 2.0 | Soldar | |
367 | API de Java para enlaces JSON (JSON-B) | Eclipse Yasson | Jackson |
370 | API de Java para servicios web RESTful (JAX-RS) 2.1 | Proyecto Jersey | |
374 | API de Java para procesamiento JSON 1.1 | Eclipse JSON-P | Jackson |
376 | Sistema de módulo de plataforma Java (reemplaza 277 | ||
380 | Validación de Bean 2.0 | Validador de hibernación | |
901 | La Especificación del lenguaje Java , tercera edición (JLS) (a partir de J2SE 5.0 incorpora cambios de JSR 14, 41, 133, 175, 201 y 204) | ||
907 | API de transacciones de Java (JTA) 1.0 y 1.1 | ||
912 | API de Java 3D 1.3 | ||
913 | Proceso de la comunidad de Java (JCP) 2.0, 2.1 y 2.5. [8] | ||
914 | API de Java Message Service (JMS) 1.0 y 1.1 | ||
924 | Especificación de máquina virtual Java , segunda edición (JVM) (a partir de J2SE 5.0). [9] | OpenJDK | |
926 | API de Java 3D 1.5 |
Crítica
La junta ejecutiva de JCP se ha caracterizado como una " organización de sello de goma " desde que Oracle adquirió Sun Microsystems (el desarrollador original del lenguaje Java ). [10]
La Apache Software Foundation renunció a su puesto en la junta en diciembre de 2010 porque Oracle no estaba dispuesto a licenciar el Kit de compatibilidad tecnológica para la versión de Java de Apache. [11]
Premios de la industria y el programa JCP
Fuente: [12]
Otorgar | Candidato | Contribuciones | Detalles | JSR # | ¿Ganar? |
---|---|---|---|---|---|
Miembro / participante del año de JCP | Comunidad de Java de Londres y SouJava | "Adoptar un JSR!" Programa de | Apoyar a los desarrolladores de Java a través del JCP. | ¡Ganar! | |
Stephen Colebourne | API de fecha y hora para Java . | Completo y avanzado. Trabajo incansable. | 310 | ||
Markus Eisele | Trabajo activo entre la comunidad Java alemana y en el Grupo de Expertos JSR 342 . | 342 | |||
JUG Chennai | Convertirse en la organización JCP más activa de la India y en una organización de servicios competitiva en el mercado comercial. | ||||
Werner Keil | Energía y participación increíbles en siete JSR , así como en el Comité Ejecutivo. | ||||
Antoine Sabot-Durand |
| ||||
Líder de especificaciones excepcional | Victor Grazi, Credit Suisse | API Java Money & Currency | Experiencia dedicada y enfocada en la resolución de problemas relacionados con el dinero y las divisas . | 354 | ¡Ganar! |
Michael Ernst | Anotaciones sobre tipos de Java | Enfoque sensato; un gran ejemplo de JSR bien administrado. | 308 | ||
Nigel Deakin, Oráculo | Servicio de mensajes Java 2.0 | Un trabajo excelente, minucioso e inteligente que mantiene el JMS 2 EG abierto y avanza a un gran ritmo. | 343 | ||
Pete Muir, sombrero rojo | Contextos e inyección de dependencia para Java EE 1.1 | Actualizar voluntariamente a 2.8 a finales de 2011 y mantener lo que ya eran métodos transparentes en la gestión de su Grupo de Expertos. | 346 | ||
JSR más significativo | Jitendra Kotamraju | API para procesamiento JSON | Un paso importante para llevar Java al mundo de la web moderna. | 353 | |
Victor Grazi, Credit Suisse | API Money and Currency | Nuevas formas de manejar importes monetarios y cálculos de divisas . Se corrigieron errores críticos de representación y formato de números de Java más allá de los valores monetarios. | 354 | ||
Mitch Upton | Gestión del estado de Java | El potencial para mejorar el aspecto de los servidores de aplicaciones y los servicios distribuidos en un futuro próximo, así como para simplificar la implementación en entornos PaaS y en la nube. | 350 | ||
Nigel Deakin | Servicio de mensajes Java 2 | Modernice JMS a un ritmo rápido. | 343 | ||
Patrick Curran | JCP.Next | Estableciendo la dirección y los procedimientos para el JCP de próxima generación. | 348 355 358 | ¡Ganar! |
Ver también
- Propuesta de mejora de JDK
Notas
- ^ "Convertirse en miembro de JCP" . Consultado el 11 de junio de 2011 .
- ^ JSR 3 originalmente especificó la versión JMX 1.0. Dos versiones "finales" posteriores han proporcionado JMX 1.1 y JMX 1.2. JMX 2.0 está especificado por JSR 255.
- ^ JSR 52 originalmente especificó la versión JSTL 1.0. Una versión de mantenimiento posterior proporcionó JSTL 1.1.
- ^ JSR 56 originalmente especificó la versión JNLP 1.0. Una versión "final" posterior proporcionó JNLP 1.5, que era principalmente una versión de mantenimiento. [1] En febrero de 2006, la versión de mantenimiento JNLP 6.0 se completó pero no se finalizó.
- ^ JSR 63 originalmente especificó la versión JAXP 1.1. Una versión de mantenimiento posterior de JSR 63 proporcionó la especificación JAXP 1.2. [2] JAXP 1.3 está especificado por JSR 206.
- ^ JSR 127 originalmente especificó la versión JSF 1.0. Una versión de mantenimiento posterior proporcionó la especificación JSF 1.1. [3] JSF 1.2 está especificado por JSR 252.
- ^ JSR 154 originalmente especificó la versión Java Servlet 2.4. En febrero de 2006 se está revisando un borrador de mantenimiento de la especificación de servlet 2.5, cuyo cierre está programado para el 20 de marzo de 2006.
- ^ JSR 913 originalmente especificó JCP 2.0. Posteriormente se modificó mediante varios cambios en las reglas de votación para producir la versión 2.1 y luego se modificó aún más mediante reglas de licencia, políticas y procesos para llegar a la versión 2.5. JCP 2.6 está definido por JSR 215. [4]
- ^ JSR 924 originalmente especificó cambios en la JVM para admitir cambios en J2SE 5.0. A partir de 2006[actualizar] se está llevando a cabo una actualización de mantenimiento para respaldar los cambios propuestos por JSR 202.
- ^ Handy, Alex. "Java está abierto, pero ¿lo es el proceso?" . Tiempos SD . Consultado el 21 de septiembre de 2011 .
- ^ Whiting, Rick. "Apache abandona la junta directiva de Java por disputa con Oracle" . CRN . Consultado el 21 de septiembre de 2011 .
- ^ El programa Java Community Process (SM) - Prensa y éxito - Historias de noticias . Jcp.org. Consultado el 17 de julio de 2013.
- ^ El programa Java Community Process (SM) - Prensa y éxito - Historias de noticias . Jcp.org. Consultado el 17 de julio de 2013.
enlaces externos
- Página de inicio de Java Community Process
- Lista de todos los JSR clasificados como finales
- Lista de todos los JSR