Proceso de la comunidad Java

El Java Community Process (JCP) , establecido en 1998, es un mecanismo formal que permite a las partes interesadas desarrollar especificaciones técnicas estándar para la tecnología Java. Para convertirse en miembro del JCP se requieren sólidos conocimientos del lenguaje de programación Java, sus especificaciones y las mejores prácticas en el desarrollo de software. La membresía en el JCP implica una revisión detallada del perfil del candidato, incluida una evaluación por parte de los miembros actuales. Por lo general, se invita a los profesionales a unirse al JCP en función de sus contribuciones y reputación dentro de la comunidad Java.

Una vez invitado, el nuevo miembro se somete a una evaluación por parte del Comité Ejecutivo del JCP, que garantiza que puede contribuir de manera efectiva a las Solicitudes de especificaciones de Java (JSR). Estos documentos formales describen las especificaciones y tecnologías propuestas que se agregarán a la plataforma Java . Se alienta a los nuevos miembros a participar activamente y desempeñar un papel crucial en el apoyo a la comunidad Java y sus lanzamientos. Es esencial que los miembros posean experiencia y conocimientos técnicos profundos, combinados con una sólida experiencia profesional, para contribuir significativamente al crecimiento y uso del lenguaje Java .

La membresía para organizaciones y entidades comerciales requiere el pago de cuotas anuales, pero es gratuita para individuos. Los JSR se someten a revisiones públicas formales antes de convertirse en definitivos, y el Comité Ejecutivo del JCP vota sobre su aprobación. Un JSR finalizado 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 de tecnología para verificar la especificación de la API.

El propio JCP se describe mediante un JSR. A partir de 2020 [actualizar], el JSR 387 describe la versión actual (2.11) del JCP.

Lista de JSR

Existen cientos de JSR. Algunos de los JSR más visibles son:

JSR #Especificación o tecnologíaImplementaciones de referenciaOtras implementaciones
1Especificación en tiempo real para Java (RTSJ) 1.0
3Extensiones de administración de Java (JMX) 1.0, 1.1 y 1.2 [1]
5API de Java para procesamiento XML (JAXP) 1.0
8Especificación de la pasarela de servicios abiertos OSGI
9Jiro (Especificación de arquitectura de gestión federada) 1.0
12Objetos de datos de Java (JDO) 1.0
13BigDecimal mejorado ( plataforma Java, edición estándar#java.math )
14Añadir tipos genéricos al lenguaje de programación Java (a partir de J2SE 5.0)
16Arquitectura del conector Java EE (JCA) 1.0
19JavaBeans empresariales (EJB) 2.0
22Especificación API JAIN SLEE (JSLEE) 1.0
30Configuración limitada de dispositivo conectado (CLDC) 1.0 para Java ME
31Arquitectura Java para enlace XML (JAXB) 1.0
32Especificación de la API de SIP de JAIN (JSIP) 1.0, 1.1 y 1.2 para Java ME
36Configuración de dispositivo conectado (CDC) 1.0 para Java ME
37Perfil de dispositivo de información móvil (MIDP) 1.0 para Java ME
40Interfaz de metadatos de Java (JMI) 1.0
41Una facilidad de aserción simple (a partir de J2SE 1.4)
47Especificación de API de registro (a partir de J2SE 1.4)
48Especificación de servicios WBEM (a partir de J2SE 1.4)
51E/S sin bloqueo (NIO) (a partir de J2SE 1.4)Oso pardo , Netty
52Biblioteca de etiquetas estándar de JavaServer Pages (JSTL) 1.0 y 1.1 [2]
53Especificaciones de Java Servlet 2.3 y JavaServer Pages (JSP) 1.2
54Conectividad de base de datos Java (JDBC) 3.0
56Protocolo y API de lanzamiento de red Java (JNLP) 1.0, 1.5 y 6.0 [3] ( Java Web Start )
58Plataforma Java 2, edición empresarial (J2EE) 1.3
59Plataforma Java 2, edición estándar (J2SE) 1.4 (Merlin)
63API de Java para procesamiento XML (JAXP) 1.1 y 1.2 [4]
68Plataforma Java, edición micro (Java ME) 1.0
73API de minería de datos de Java (JDM) 1.0
75Paquetes opcionales de PDA para la plataforma J2ME
77Gestión J2EE
80API USB de Java
82API de Java para Bluetooth
88Implementación de aplicaciones Java EE
91API de tickets de problemas de OSS
93API de Java para registros XML (JAXR) 1.0
94API del motor de reglas de Java
102Modelo de objetos de documento de Java (JDOM) 1.0
110API de Java para WSDL (WSDL4J) 1.0
112Arquitectura del conector Java EE (JCA) 1.5
113API de voz Java 2 (JSAPI2)
114Implementaciones de conjuntos de filas de conectividad de bases de datos Java (JDBC)
116API de servlet SIP 1.0
118Perfil de dispositivo de información móvil (MIDP) 2.0 para Java ME
120API de mensajería inalámbrica (WMA)
121API de aislamiento de aplicaciones
127JavaServer Faces (JSF) 1.0 y 1.1 [5]
133Revisión de la especificación de subprocesos y modelos de memoria de Java
135API de medios móviles de Java (MMAPI) para Java ME
139Configuración limitada de dispositivos conectados (CLDC) 1.1 para Java ME
140API del Protocolo de localización de servicios (SLP) para Java
141API del Protocolo de descripción de sesión (SDP) para Java
151Plataforma Java 2, edición empresarial (J2EE) 1.4
152Páginas JavaServer (JSP) 2.0
153JavaBeans empresariales (EJB) 2.1
154Especificaciones de Java Servlet 2.4 y 2.5 [6]
160API remota de extensiones de administración de Java (JMX) 1.0
163Arquitectura de perfiles de la plataforma Java (JPPA), que incluye (entre otras especificaciones) la especificación de la interfaz de herramientas de máquina virtual Java
166Utilidades de concurrencia (a partir de J2SE 5.0java.util.concurrent y )java.util.concurrent.atomicjava.util.concurrent.locks
168Especificación de portlet 1.0
170API de repositorio de contenido para Java (JCR) 1.0
172Especificación de servicios web para Java ME
173StAX (API de transmisión para XML)
175Una herramienta de metadatos para el lenguaje de programación Java
176Plataforma Java 2, edición estándar (J2SE) 5.0 (Tiger)
177API de servicios de seguridad y confianza para J2ME (SATSA)
179API de ubicación 1.0 para Java ME
180API del Protocolo de inicio de sesión (SIP) para Java ME
181Metadatos de servicios web para la plataforma Java
184API de gráficos 3D móviles para Java ME 1.0 y 1.1
185Tecnología Java para la industria inalámbrica (JTWI)
187Mensajería instantánea ( Java ME y Java SE )
198Una API de extensión estándar para entornos de desarrollo integrados
199API del compilador de Java
200Formato de transferencia de red Pack200 para archivos Java
201Ampliación del lenguaje de programación Java con enumeraciones, autoboxing, bucles for mejorados e importación estática (a partir de J2SE 5.0)
202Actualización de la especificación de archivos de clase Java
203Más E/S sin bloqueo (Java) (NIO2)
204Compatibilidad con caracteres suplementarios Unicode (a partir de J2SE 5.0 se agrega compatibilidad con Unicode 3.1)
205API de mensajería inalámbrica 2.0 (WMA) 2.0
206API de Java para procesamiento XML (JAXP) 1.3
208Integración empresarial con Java (JBI) 1.0
211API de manejo de contenido
215Proceso de la comunidad Java (JCP) 2.6
218Configuración de dispositivo conectado (CDC) 1.1 para Java ME
219Perfil de la Fundación 1.1
220JavaBeans empresariales (EJB) 3.0
221Conectividad de base de datos Java (JDBC) 4.0
222Arquitectura Java para enlace XML (JAXB) 2.0
223Creación de scripts para la plataforma Java para Java SE 6
224API de Java para servicios web XML (JAX-WS), sucesor de JAX-RPC
225API XQuery para Java (XQJ)
226API de gráficos vectoriales escalables en 2D para Java ME
229API de pago (PAPI)
231Enlaces de Java para OpenGL
234API de complementos multimedia avanzados para Java ME
235Objetos de datos de servicio (SDO)
239Enlaces de Java para OpenGL ES
240Especificación de API JAIN SLEE (JSLEE) 1.1
241El lenguaje de programación Groovy
243Objetos de datos de Java (JDO) 2.0
244Plataforma Java, edición empresarial (Java EE) 5
245Páginas JavaServer (JSP) 2.1
247API de minería de datos de Java (JDM) 2.0
248Arquitectura de servicios móviles
249Arquitectura de servicios móviles 2
250Anotaciones comunes para la plataforma Java (para la función Metadatos para Java )
252JavaServer Faces (JSF) 1.2
253API de telefonía móvil (MTA)
255Extensiones de administración de Java (JMX) 2.0
256API de sensores móviles
257API de comunicación sin contacto ( NFC )
260Actualización de la tecnología de etiquetas Javadoc
269API de procesamiento de anotaciones conectables (para la función de metadatos de Java )
270Plataforma Java, edición estándar (Java SE) 6 (Mustang)
271Perfil de dispositivo de información móvil (MIDP) 3.0 para Java ME
274El lenguaje de programación BeanShell
275Especificación de unidades (ver Unidades de medida )
276Metadatos en tiempo de diseño para componentes de JavaServer Faces
277Sistema de módulos Java
280API XML para Java ME
281API de servicios IMS (Ver IMS )
282Especificación en tiempo real para Java (RTSJ) 1.1
283API de repositorio de contenido para Java (JCR) 2.0
286Especificación de portlet 2.0
289API de servlet SIP 1.1
290Integración del lenguaje Java y el marcado de interfaz de usuario XML (XML-UI)
291Compatibilidad de componentes dinámicos con Java SE (consulte OSGi )
292Compatibilidad con lenguajes tipados dinámicamente en la plataforma JavaTM
293API de ubicación 2.0 para Java ME
294Soporte de modularidad mejorado en el lenguaje de programación Java
296Marco de aplicación Swing (Java SE 7)
299Contextos e inyección de dependencias para la plataforma Java EE (CDI)SoldarOpenWebBeans
301Puente de portlets JSF
303Validación de BeanValidador de Hibernate
307API de movilidad de red y datos móviles (no oficial a partir del 20 de julio de 2007, pero su lanzamiento oficial está previsto para el segundo trimestre de 2008)
308Anotaciones sobre tipos de Java (Java SE 8)
311JAX-RS : La API de Java para servicios web RESTful (1.0 y 1.1)
314JavaServer Faces (JSF) 2.0Caras de Mojarra JavaServerApache MyFaces
316Plataforma Java, edición empresarial (Java EE) 6
317API de persistencia de Java (JPA) 2.0Enlace EclipseHibernación , openJPA
322Arquitectura del conector Java EE (JCA) 1.6
325Facilitadores de comunicación IMS (ICE) (Ver IMS )
330Inyección de dependencia para Java
336Contenido de la versión de Java SE 7[OpenJDK 7]?
337Contenido de la versión de Java SE 8[OpenJDK 8]?
338API de persistencia de Java (JPA) 2.1Enlace EclipseHibernación , openJPA
339JAX-RS 2.0 : La API de Java para servicios web RESTful
343Servicio de mensajes Java 2.0 (JMS)
352Procesamiento por lotes de JavaIBM Java Batch [ enlace roto ]JBeret, promoción de primavera
354API de dinero y divisas de Java
356API de Java para WebSocket
365Contextos e inyección de dependencias para Java 2.0Soldar
367API de Java para vinculación JSON (JSON-B)Eclipse YassonJackson
370API de Java para servicios web RESTful (JAX-RS) 2.1Proyecto Jersey
374API de Java para procesamiento de JSON 1.1Eclipse JSON-P Archivado el 31 de mayo de 2019 en Wayback MachineJackson
376Sistema de módulos de la plataforma Java (reemplaza al 277)
380Validación de Bean 2.0Validador de Hibernate
901La especificación del lenguaje Java, tercera edición (JLS) (a partir de J2SE 5.0 incorpora cambios de las JSR 14, 41, 133, 175, 201 y 204)
907API de transacciones Java (JTA) 1.0 y 1.1
912API 1.3 de Java 3D
913Proceso de la comunidad Java (JCP) 2.0, 2.1 y 2.5. [7]
914API 1.0 y 1.1 del servicio de mensajes Java (JMS)
924Especificación de la máquina virtual Java , segunda edición (JVM) (a partir de J2SE 5.0). [8]OpenJDK
926API 1.5 de Java 3D

Crítica

Un representante de JCP (a la derecha) habla con la prensa especializada durante un panel de discusión en la conferencia JavaOne en 2012

La junta ejecutiva del JCP ha sido caracterizada como una " organización que se limita a certificar las cosas " desde que Oracle adquirió Sun Microsystems (el desarrollador original del lenguaje Java ). [9]

La Apache Software Foundation renunció a su puesto en la junta directiva en diciembre de 2010 porque Oracle no estaba dispuesto a otorgar licencia del Kit de compatibilidad tecnológica para la versión de Java de Apache. [10]

Programa JCP y premios de la industria

Fuente: [11]

2012 — Ganadores de la décima edición anual del premio JCP [12]
OtorgarCandidatoContribucionesDetallesJSR #¿Ganar?
Miembro/Participante del año del JCPComunidad Java de Londres y SouJava¡Adopte un programa JSR!Apoyo a los desarrolladores de Java a través del JCP.¡Ganar!
Esteban ColebourneAPI de fecha y hora para Java .Amplio y avanzado. Trabajo incansable.310
Markus EiseleTrabajo activo dentro de la comunidad Java alemana y en el grupo de expertos JSR 342.342
JUG ChennaiConvertirse en la organización JCP más activa en la India y una organización de servicios competitiva en el mercado comercial.
Werner KeilIncreíble energía y participación en siete JSR así como en el Comité Ejecutivo.
Antoine Sabot-Durand
  • Lanzamiento del borrador preliminar de JSR : se realizó de manera rápida y eficiente;
  • Candidato del proyecto Agorava para JBoss Enterprise Framework (el sucesor de la familia Seam de proyectos de código abierto y casos de uso de CDI para Java EE7 ).
Líder de especificaciones excepcionalVíctor Grazi,

Crédito Suizo

API de dinero y divisas de JavaExperiencia dedicada y enfocada en resolver problemas de representación de dinero y monedas .354¡Ganar!
Michael ErnstAnotaciones sobre tipos de Java Un enfoque sensato; un gran ejemplo de un JSR bien gestionado.308
Nigel Deakin,

Oráculo

Servicio de mensajes Java 2.0Un trabajo excepcional, minucioso e inteligente que mantiene el JMS 2 EG abierto y avanzando a un gran ritmo.343
Pete Muir,

Sombrero rojo

Contextos e inyección de dependencias para Java EE 1.1A finales de 2011, se actualizó voluntariamente a 2.8 y se mantuvieron métodos que ya eran transparentes en el funcionamiento de su Grupo de Expertos.346
JSR más significativoJitendra KotamrajuAPI para procesamiento de JSONUn paso importante para llevar Java al mundo de la web moderna.353
Víctor Grazi,

Crédito Suizo

API de dinero y divisas Nuevas formas de manejar cantidades monetarias y cálculos monetarios . Corrección de errores críticos de representación y formato de números en Java más allá de los valores monetarios.354
Mitch UptonGestión del estado de JavaEl potencial para mejorar el aspecto que tendrán los servidores de aplicaciones y los servicios distribuidos en el futuro cercano, así como para simplificar la implementación en entornos PaaS y de nube.350
Nigel DeakinServicio de mensajes Java 2Modernice JMS a un ritmo rápido.343
Patrick CurranJCP.SiguienteEstablecer la dirección y los procedimientos para el JCP de próxima generación.348 355 358¡Ganar!

Véase también

Notas

  1. ^ JSR 3 especificó originalmente la versión JMX 1.0. Dos versiones "finales" posteriores proporcionaron JMX 1.1 y JMX 1.2. JMX 2.0 está especificado por JSR 255.
  2. ^ JSR 52 especificó originalmente la versión JSTL 1.0. Una versión de mantenimiento posterior proporcionó JSTL 1.1.
  3. ^ JSR 56 especificó originalmente 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 había completado, pero no estaba finalizada.
  4. ^ JSR 63 especificó originalmente 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á especificada por JSR 206.
  5. ^ JSR 127 especificó originalmente la versión JSF 1.0. Una versión de mantenimiento posterior proporcionó la especificación JSF 1.1.[3] JSF 1.2 está especificada por JSR 252.
  6. ^ JSR 154 especificó originalmente la versión 2.4 de Java Servlet. En febrero de 2006 se estaba revisando un borrador de mantenimiento de la especificación 2.5 de servlet, cuya finalización está prevista para el 20 de marzo de 2006.
  7. ^ La JSR 913 especificó originalmente la versión JCP 2.0. Posteriormente se modificó con varios cambios en las reglas de votación para producir la versión 2.1 y luego se modificó aún más con reglas de licencia, políticas y procesos para llegar a la versión 2.5. La JCP 2.6 está definida por la JSR 215.[4]
  8. ^ Originalmente, JSR 924 especificaba cambios en la JVM para admitir los cambios en J2SE 5.0. A partir de 2006, [actualizar]se está llevando a cabo una actualización de mantenimiento para admitir los cambios propuestos por JSR 202.
  9. ^ Handy, Alex (12 de septiembre de 2011). "Java está abierto, pero ¿lo está el proceso?". SD Times . Consultado el 21 de septiembre de 2011 .
  10. ^ Whiting, Rick (10 de diciembre de 2010). "Apache abandona la junta directiva de Java por una disputa con Oracle". CRN . Consultado el 21 de septiembre de 2011 .
  11. ^ El programa Java Community Process(SM) - Prensa y éxito - Noticias. Jcp.org. Recuperado el 17 de julio de 2013.
  12. ^ El programa Java Community Process(SM) - Prensa y éxito - Noticias. Jcp.org. Recuperado el 17 de julio de 2013.
  • Página de inicio del proceso de la comunidad Java
  • Lista de todos los JSR calificados como finales
  • Lista de todos los JSR
Obtenido de "https://es.wikipedia.org/w/index.php?title=Proceso_comunitario_de_Java&oldid=1249091687"