Введение

Процесс сообщества Java (JCP), учрежденный в 1998 году, является формальным механизмом, позволяющим заинтересованным сторонам разрабатывать стандартные технические спецификации для технологии Java. Чтобы стать членом JCP, необходимо обладать глубокими знаниями языка программирования Java, его спецификаций и лучших практик разработки программного обеспечения. Вступление в JCP предполагает тщательный анализ профиля кандидата, включая оценку действующими членами. Как правило, профессионалы приглашаются в JCP на основе их вклада и репутации в сообществе Java. После приглашения новый член проходит оценку Исполнительного комитета JCP, чтобы убедиться в его способности эффективно участвовать в разработке Запросов спецификаций Java (JSR). Эти официальные документы описывают предлагаемые спецификации и технологии, которые будут добавлены на платформу Java. Новым членам рекомендуется активно участвовать и играть ключевую роль в поддержке сообщества Java и его релизов. Для существенного вклада в развитие и использование языка Java необходимо, чтобы члены обладали опытом и глубокими техническими знаниями в сочетании с солидным профессиональным опытом. Членство для организаций и коммерческих организаций требует уплаты ежегодных взносов, но для физических лиц оно бесплатное. JSR проходят формальные публичные обсуждения перед окончательным утверждением, а Исполнительный комитет JCP голосует за их одобрение. Утвержденный JSR предоставляет эталонную реализацию – бесплатную реализацию технологии в виде исходного кода – и комплект совместимости технологий для проверки спецификации API. Сам JCP описывается в JSR. По состоянию на 2020 год JSR 387 описывает текущую версию (2.11) JCP.

Перечень СОП

Есть сотни JSR. Некоторые из наиболее заметных JSR включают:

JSR #Спецификация или технологияРеферентные реализацииДругие реализации 1Спецификация реального времени для Java (RTSJ) 1.0 3Расширения управления Java (JMX) 1.0, 1.1 и 1.2 5Java API для обработки XML (JAXP) 1.0 8Спецификация шлюза открытых служб OSGI 9Jiro (спецификация федеративной архитектуры управления) 1.0 12Объекты данных Java (JDO) 1.0 13Улучшенный BigDecimal (Java Platform, Standard Edition #java.math) 14Добавление обобщенных типов в язык программирования Java (по состоянию на J2SE 5.0) 16Архитектура коннекторов Java EE (JCA) 1.0 19Enterprise JavaBeans (EJB) 2.0 22Спецификация API JAIN SLEE (JSLEE) 1.0 30Ограниченная конфигурация устройства Connected Limited Device Configuration (CLDC) 1.0 для Java ME 31Архитектура Java для привязки XML (JAXB) 1.0 32Спецификация API JAIN SIP (JSIP) 1.0, 1.1 и 1.2 для Java ME 36Конфигурация Connected Device Configuration (CDC) 1.0 для Java ME 37Профиль информационного устройства Mobile Information Device Profile (MIDP) 1.0 для Java ME 40Интерфейс метаданных Java (JMI) 1.0 41Простая система утверждений (по состоянию на J2SE 1.4) 47Спецификация API логирования (по состоянию на J2SE 1.4) 48Спецификация служб WBEM (по состоянию на J2SE 1.4) 51Неблокирующий ввод-вывод (NIO) (по состоянию на J2SE 1.4) Grizzly, Netty 52Стандартная библиотека тегов JavaServer Pages (JSTL) 1.0 и 1.1 53Спецификации Java Servlet 2.3 и JavaServer Pages (JSP) 1.2 54Java Database Connectivity (JDBC) 3.0 56Протокол и API запуска Java Network Launching Protocol and API (JNLP) 1.0, 1.5 и 6.0 (Java Web Start) 58Java 2 Platform, Enterprise Edition (J2EE) 1.3 59Java 2 Platform, Standard Edition (J2SE) 1.4 (Merlin) 63Java API для обработки XML (JAXP) 1.1 и 1.2 68Java Platform, Micro Edition (Java ME) 1.0 73Java API для интеллектуального анализа данных (JDM) 1.0 75Дополнительные пакеты PDA для платформы J2ME 77Управление J2EE 80Java USB API 82Java API для Bluetooth 88Развертывание приложений Java EE 91API для заявок OSS 93Java API для XML-реестров (JAXR) 1.0 94Java Rules Engine API 102Java Document Object Model (JDOM) 1.0 110Java API для WSDL (WSDL4J) 1.0 112Архитектура коннекторов Java EE (JCA) 1.5 113Java Speech API 2 (JSAPI2) 114Реализации Rowset для Java Database Connectivity (JDBC) 116SIP Servlet API 1.0 118Профиль информационного устройства Mobile Information Device Profile (MIDP) 2.0 для Java ME 120API для беспроводной обмена сообщениями (WMA) 121API изоляции приложений 127JavaServer Faces (JSF) 1.0 и 1.1 133Пересмотр модели памяти Java и спецификации потоков 135Java Mobile Media API (MMAPI) для Java ME 139Ограниченная конфигурация устройства Connected Limited Device Configuration (CLDC) 1.1 для Java ME 140API протокола обнаружения служб (SLP) для Java 141API протокола описания сеансов (SDP) для Java 151Java 2 Platform, Enterprise Edition (J2EE) 1.4 152JavaServer Pages (JSP) 2.0 153Enterprise JavaBeans (EJB) 2.1 154Спецификации Java Servlet 2.4 и 2.5 160Удаленный API расширений управления Java (JMX) 1.0 163Архитектура профилирования Java Platform Profiling Architecture (JPPA), которая включает (среди других спецификаций) спецификацию интерфейса инструментов виртуальной машины Java 166Утилиты параллелизма (по состоянию на J2SE 5.0) 168Спецификация порталов 1.0 170API репозитория контента для Java (JCR) 1.0 172Спецификация веб-сервисов для Java ME 173StAX (Streaming API for XML) 175Метаданные для языка программирования Java 176Java 2 Platform, Standard Edition (J2SE) 5.0 (Tiger) 177API безопасности и доверия для J2ME (SATSA) 179API определения местоположения 1.0 для Java ME 180API протокола инициации сеанса (SIP) для Java ME 181Метаданные веб-сервисов для платформы Java 184API мобильной 3D-графики для Java ME 1.0 и 1.1 185Java Technology for the Wireless Industry (JTWI) 187Мгновенные сообщения (Java ME и Java SE) 198Стандартный API расширения для интегрированных сред разработки 199Java Compiler API 200Формат сетевого переноса Pack200 для Java-архивов 201Расширение языка программирования Java перечислениями, автоматической упаковкой, расширенными циклами for и статическим импортом (по состоянию на J2SE 5.0) 202Обновление спецификации файла класса Java 203Более неблокирующий ввод-вывод (Java) (NIO2) 204Поддержка дополнительных символов Unicode (по состоянию на J2SE 5.0 добавляет поддержку Unicode 3.1) 205API для беспроводной обмена сообщениями 2.0 (WMA) 2.0 206Java API для обработки XML (JAXP) 1.3 208Java Business Integration (JBI) 1.0 211API обработчика контента 215Java Community Process (JCP) 2.6 218Конфигурация Connected Device Configuration (CDC) 1.1 для Java ME 219Foundation Profile 1.1 220Enterprise JavaBeans (EJB) 3.0 221Java Database Connectivity (JDBC) 4.0 222Архитектура Java для привязки XML (JAXB) 2.0 223Скриптинг для платформы Java для Java SE 6 224Java API для XML Web Services (JAX WS), преемник JAX RPC 225XQuery API для Java (XQJ) 226Масштабируемый 2D-векторный графический API для Java ME 229Payment API (PAPI) 231Java Bindings for OpenGL 234Advanced Multimedia Supplements API для Java ME 235Service Data Objects (SDO) 239Java Bindings for OpenGL ES 240Спецификация API JAIN SLEE (JSLEE) 1.1 241Язык программирования Groovy 243Java Data Objects (JDO) 2.0 244Java Platform, Enterprise Edition (Java EE) 5 245JavaServer Pages (JSP) 2.1 247Java API для интеллектуального анализа данных (JDM) 2.0 248Mobile Service Architecture 249Mobile Service Architecture 2 250Общие аннотации для платформы Java (для механизма метаданных для Java) 252JavaServer Faces (JSF) 1.2 253Mobile Telephony API (MTA) 255Java Management Extensions (JMX) 2.0 256Mobile Sensor API 257Contactless Communication API (NFC) 260Обновление технологии тегов Javadoc 269Pluggable Annotations Processing API (для механизма метаданных для Java) 270Java Platform, Standard Edition (Java SE) 6 (Mustang) 271Профиль информационного устройства Mobile Information Device Profile (MIDP) 3.0 для Java ME 274Язык программирования BeanShell 275Спецификация единиц измерения (см. Units of Measurement) 276Метаданные времени разработки для компонентов JavaServer Faces 277Java Module System 280XML API для Java ME 281IMS Services API (См. IMS) 282Спецификация реального времени для Java (RTSJ) 1.1 283API репозитория контента для Java (JCR) 2.0 286Спецификация порталов 2.0 289SIP Servlet API 1.1 290Интеграция языка Java и XML для пользовательского интерфейса (XML UI) 291Поддержка динамических компонентов для Java SE (см. OSGi) 292Поддержка динамически типизированных языков на платформе Java 293API определения местоположения 2.0 для Java ME 294Улучшенная поддержка модульности в языке программирования Java 296Swing Application Framework (Java SE 7) 299Contexts and Dependency Injection для платформы Java EE (CDI) Weld OpenWebBeans 301JSF Portlet Bridge 303Bean Validation Hibernate Validator 307Network Mobility and Mobile Data API (неофициально по состоянию на 20 июля 2007 г., но официальный релиз запланирован на 2 квартал 2008 г.) 308Annotations on Java Types (Java SE 8) 314JavaServer Faces (JSF) 2.0 Mojarra JavaServer Faces Apache MyFaces 316Java Platform, Enterprise Edition (Java EE) 6 317Java Persistence API (JPA) 2.0 EclipseLink Hibernate, openJPA 322Java EE Connector Architecture (JCA) 1.6 325IMS Communication Enablers (ICE) (См. IMS) 330Dependency Injection for Java 336Java SE 7 Содержание релиза [OpenJDK 7]? 337Java SE 8 Содержание релиза [OpenJDK 8]? 338Java Persistence API (JPA) 2.1 EclipseLink Hibernate, openJPA 343Java Message Service 2.0 (JMS) 352Java Batch IBM Java Batch JBeret, Spring Batch 354Java Money & Currency API 356Java API для WebSocket 365Contexts and Dependency Injection for Java 2.0 Weld 367Java API для JSON Binding (JSON B) Eclipse Yasson Jackson 370Java API для RESTful Web Services (JAX RS) 2.1 Project Jersey 374Java API для JSON 1.1 Обработка Eclipse JSON P Jackson 376Java Platform Module System (заменяет 277) 380Bean Validation 2.0 Hibernate Validator 901Спецификация языка Java, третье издание (JLS) (по состоянию на J2SE 5.0 включает изменения из JSRs 14, 41, 133, 175, 201 и 204) 907Java Transaction API (JTA) 1.0 и 1.1 912Java 3D API 1.3 913Java Community Process (JCP) 2.0, 2.1 и 2.5 914Java Message Service (JMS) API 1.0 и 1.1 924Спецификация виртуальной машины Java, второе издание (JVM) (по состоянию на J2SE 5.0). OpenJDK 926Java 3D API 1.5

Критика

Исполнительный совет JCP характеризуется как "организация, ставящая формальные отметки" с тех пор, как Oracle приобрела Sun Microsystems (первоначального разработчика языка Java). Apache Software Foundation покинула совет в декабре 2010 года, поскольку Oracle отказывалась лицензировать Technology Compatibility Kit для версии Java, разработанной Apache.