Процесс Java Community ( JCP ), созданная в 1998 году, является формализованный механизм , который позволяет заинтересованным сторонам разработать стандартные технические спецификации технологии Java . Любой желающий может стать членом JCP, заполнив форму, доступную на веб-сайте JCP . Членство в JCP для организаций и коммерческих структур требует ежегодных взносов, но бесплатно для физических лиц. [1]
JCP включает использование Java Specification Requests ( JSR ) - официальных документов, которые описывают предлагаемые спецификации и технологии для добавления в платформу Java . Официальные публичные обзоры JSR проводятся до того, как JSR станет окончательным и Исполнительный комитет JCP проголосует по нему. Окончательный JSR предоставляет эталонную реализацию, которая представляет собой бесплатную реализацию технологии в форме исходного кода, и комплект совместимости технологий для проверки спецификации API .
JSR описывает сам JCP. По состоянию на 2020 год [Обновить]JSR 387 описывает текущую версию (2.11) JCP.
Список JSR [ править ]
Существуют сотни JSR. Некоторые из наиболее заметных JSR включают:
JSR # | Спецификация или технология | Эталонные реализации | Другие реализации |
---|---|---|---|
1 | Спецификация реального времени для Java (RTSJ) 1.0 | ||
3 | Расширения управления Java (JMX) 1.0, 1.1 и 1.2 [2] | ||
5 | Java API для обработки XML (JAXP) 1.0 | ||
8 | Спецификация шлюза открытых служб OSGI | ||
9 | Jiro (Спецификация архитектуры федеративного управления) 1.0 | ||
12 | Объекты данных Java (JDO) 1.0 | ||
13 | Улучшенный BigDecimal ( платформа Java, стандартная версия # java.math ) | ||
14 | Добавление универсальных типов в язык программирования Java (начиная с J2SE 5.0) | ||
16 | Архитектура соединителя Java EE (JCA) 1.0 | ||
19 | Enterprise 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 | Спецификация JAIN SIP API (JSIP) 1.0, 1.1 и 1.2 для Java ME | ||
36 | Конфигурация подключенного устройства (CDC) 1.0 для Java ME | ||
37 | Профиль мобильного информационного устройства (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) | Гризли , Нетти | |
52 | Стандартная библиотека тегов JavaServer Pages (JSTL) 1.0 и 1.1 [3] | ||
53 | Технические характеристики Java Servlet 2.3 и JavaServer Pages (JSP) 1.2 | ||
54 | Подключение к базе данных Java (JDBC) 3.0 | ||
56 | Протокол запуска сети Java и API (JNLP) 1.0, 1.5 и 6.0 [4] ( Java Web Start ) | ||
58 | Платформа Java 2, Enterprise Edition (J2EE) 1.3 | ||
59 | Платформа Java 2, стандартная версия (J2SE) 1.4 (Merlin) | ||
63 | Java API для обработки XML (JAXP) 1.1 и 1.2 [5] | ||
68 | Платформа Java, Micro Edition (Java ME) 1.0 | ||
73 | API интеллектуального анализа данных Java (JDM) 1.0 | ||
75 | Дополнительные пакеты КПК для платформы J2ME | ||
77 | Управление J2EE | ||
80 | Java USB API | ||
82 | API Java для Bluetooth | ||
88 | Развертывание приложения Java EE | ||
91 | OSS Trouble Ticket API | ||
93 | Java API для реестров XML (JAXR) 1.0 | ||
94 | API механизма правил Java | ||
102 | Объектная модель документа Java (JDOM) 1.0 | ||
110 | API Java для WSDL (WSDL4J) 1.0 | ||
112 | Архитектура соединителя Java EE (JCA) 1.5 | ||
113 | Java Speech API 2 (JSAPI2) | ||
114 | Реализации набора строк Java Database Connectivity (JDBC) | ||
116 | SIP Servlet API 1.0 | ||
118 | Профиль мобильного информационного устройства (MIDP) 2.0 для Java ME | ||
120 | API беспроводной передачи сообщений (WMA) | ||
121 | API изоляции приложений | ||
127 | JavaServer Faces (JSF) 1.0 и 1.1 [6] | ||
133 | Версия модели памяти Java и спецификации потоков | ||
135 | Java Mobile Media API (MMAPI) для Java ME | ||
139 | Connected Limited Device Configuration (CLDC) 1.1 для Java ME | ||
140 | API протокола определения местоположения службы (SLP) для Java | ||
141 | API протокола описания сеанса (SDP) для Java | ||
151 | Платформа Java 2, Enterprise Edition (J2EE) 1.4 | ||
152 | JavaServer Pages (JSP) 2.0 | ||
153 | Enterprise JavaBeans (EJB) 2.1 | ||
154 | Технические характеристики Java Servlet 2.4 и 2.5 [7] | ||
160 | Расширения управления Java (JMX) Remote API 1.0 | ||
163 | Архитектура профилирования платформы Java (JPPA), которая включает (среди других спецификаций) спецификацию интерфейса Java Virtual Machine Tools. | ||
166 | Параллелизм Утилиты (по состоянию J2SE 5.0 java.util.concurrent , java.util.concurrent.atomic и java.util.concurrent.locks ) | ||
168 | Спецификация портлета 1.0 | ||
170 | API репозитория контента для Java (JCR) 1.0 | ||
172 | Спецификация веб-служб для Java ME | ||
173 | StAX (потоковый API для XML) | ||
175 | Средство метаданных для языка программирования Java | ||
176 | Платформа Java 2, стандартная версия (J2SE) 5.0 (Tiger) | ||
177 | API служб безопасности и доверия для J2ME (SATSA) | ||
179 | Location API 1.0 для Java ME | ||
180 | API протокола инициации сеанса (SIP) для Java ME | ||
181 | Метаданные веб-служб для платформы Java | ||
184 | API мобильной 3D-графики для Java ME 1.0 и 1.1 | ||
185 | Технология Java для беспроводной индустрии (JTWI) | ||
187 | Обмен мгновенными сообщениями ( Java ME и Java SE ) | ||
198 | Стандартный API расширения для интегрированных сред разработки | ||
199 | API компилятора Java | ||
200 | Формат сетевой передачи Pack200 для архивов Java | ||
201 | Расширение языка программирования Java с помощью перечислений, автобоксов, улучшенных циклов и статического импорта ( начиная с J2SE 5.0) | ||
202 | Обновление спецификации файла класса Java | ||
203 | Больше неблокирующего ввода-вывода (Java) (NIO2) | ||
204 | Поддержка дополнительных символов Unicode (начиная с J2SE 5.0 добавлена поддержка Unicode 3.1) | ||
205 | API беспроводной передачи сообщений 2.0 (WMA) 2.0 | ||
206 | Java API для обработки XML (JAXP) 1.3 | ||
208 | Бизнес-интеграция Java (JBI) 1.0 | ||
211 | Content Handler API | ||
215 | Процесс сообщества Java (JCP) 2.6 | ||
218 | Конфигурация подключенного устройства (CDC) 1.1 для Java ME | ||
219 | Профиль фундамента 1.1 | ||
220 | Enterprise JavaBeans (EJB) 3.0 | ||
221 | Подключение к базе данных Java (JDBC) 4.0 | ||
222 | Архитектура Java для привязки XML (JAXB) 2.0 | ||
223 | Сценарии для платформы Java для Java SE 6 | ||
224 | Java API для веб-служб XML (JAX-WS), преемник JAX-RPC | ||
225 | XQuery API для Java (XQJ) | ||
226 | API масштабируемой векторной 2D-графики для Java ME | ||
229 | Платежный API (PAPI) | ||
231 | Привязки Java для OpenGL | ||
234 | Advanced Multimedia Supplements API для Java ME | ||
235 | Объекты служебных данных (SDO) | ||
239 | Привязки Java для OpenGL ES | ||
240 | Спецификация API JAIN SLEE (JSLEE) 1.1 | ||
241 | Язык программирования Groovy | ||
243 | Объекты данных Java (JDO) 2.0 | ||
244 | Платформа Java, Enterprise Edition (Java EE) 5 | ||
245 | JavaServer Pages (JSP) 2.1 | ||
247 | API интеллектуального анализа данных Java (JDM) 2.0 | ||
248 | Архитектура мобильных услуг | ||
249 | Архитектура мобильных услуг 2 | ||
250 | Общие аннотации для платформы Java (для средства метаданных для Java ) | ||
252 | JavaServer Faces (JSF) 1.2 | ||
253 | API мобильной телефонии (MTA) | ||
255 | Расширения управления Java (JMX) 2.0 | ||
256 | API мобильных датчиков | ||
257 | API бесконтактной связи ( NFC ) | ||
260 | Обновление технологии тегов Javadoc | ||
269 | Подключаемый API обработки аннотаций (для средства метаданных для Java ) | ||
270 | Платформа Java, стандартная версия (Java SE) 6 (Mustang) | ||
271 | Профиль мобильного информационного устройства (MIDP) 3.0 для Java ME | ||
274 | Язык сценариев BeanShell | ||
275 | Спецификация единиц (см. Единицы измерения ) | ||
276 | Метаданные времени разработки для компонентов JavaServer Faces | ||
277 | Система модулей Java | ||
280 | XML API для Java ME | ||
281 | API служб IMS (см. IMS ) | ||
282 | Спецификация реального времени для Java (RTSJ) 1.1 | ||
283 | API репозитория контента для Java (JCR) 2.0 | ||
286 | Спецификация портлета 2.0 | ||
289 | SIP Servlet API 1.1 | ||
290 | Интеграция разметки пользовательского интерфейса Java и XML (XML-UI) | ||
291 | Поддержка динамических компонентов для Java SE (см. OSGi ) | ||
292 | Поддержка динамически типизированных языков на платформе JavaTM | ||
293 | Location API 2.0 для Java ME | ||
294 | Улучшенная поддержка модульности в языке программирования Java | ||
296 | Платформа приложений Swing (Java SE 7) | ||
299 | Внедрение контекстов и зависимостей для платформы Java EE (CDI) | Сварка | OpenWebBeans |
301 | Мост портлетов JSF | ||
303 | Бин-валидация | Валидатор гибернации | |
307 | API для сетевой мобильности и мобильных данных (неофициально по состоянию на 20 июля 2007 г., но официальный выпуск запланирован на 2 квартал 2008 г.) | ||
308 | Аннотации к типам Java (Java SE 8) | ||
314 | JavaServer Faces (JSF) 2.0 | JavaServer Faces Mojarra | Apache MyFaces |
316 | Платформа Java, Enterprise Edition (Java EE) 6 | ||
317 | API сохранения состояния Java (JPA) 2.0 | EclipseLink | Гибернация , openJPA |
322 | Архитектура соединителя Java EE (JCA) 1.6 | ||
325 | IMS Communication Enablers (ICE) (см. IMS ) | ||
330 | Внедрение зависимостей для Java | ||
336 | Содержание выпуска Java SE 7 | [OpenJDK 7] | ? |
337 | Содержание выпуска Java SE 8 | [OpenJDK 8] | ? |
338 | API сохранения состояния Java (JPA) 2.1 | EclipseLink | Гибернация , openJPA |
343 | Служба сообщений Java 2.0 (JMS) | ||
352 | Пакет Java | Пакетная обработка IBM Java | JBeret , Spring Batch |
354 | Java Money & Currency API | ||
356 | Java API для WebSocket | ||
365 | Внедрение контекстов и зависимостей для Java 2.0 | Сварка | |
367 | Java API для привязки JSON (JSON-B) | Затмение Яссона | Джексон |
370 | API Java для веб-служб RESTful (JAX-RS) 2.1 | Проект Джерси | |
374 | Java API для обработки JSON 1.1 | Затмение JSON-P | Джексон |
376 | Система модулей платформы Java (заменяет 277 | ||
380 | Проверка компонентов 2.0 | Валидатор гибернации | |
901 | Спецификация языка Java , третье издание (JLS) (начиная с J2SE 5.0 включает изменения из JSR 14, 41, 133, 175, 201 и 204) | ||
907 | Java Transaction API (JTA) 1.0 и 1.1 | ||
912 | Java 3D API 1.3 | ||
913 | Процесс сообщества Java (JCP) 2.0, 2.1 и 2.5. [8] | ||
914 | API службы сообщений Java (JMS) 1.0 и 1.1 | ||
924 | Спецификация виртуальной машины Java , второе издание (JVM) (начиная с J2SE 5.0). [9] | OpenJDK | |
926 | Java 3D API 1.5 |
Критика [ править ]
Исполнительный совет JCP был охарактеризован как « организация штампа » с тех пор, как Oracle приобрела Sun Microsystems (первоначального разработчика языка Java ). [10]
Фонд Apache Software Foundation отказался от своего места в совете директоров в декабре 2010 года, поскольку Oracle не желала лицензировать Technology Compatibility Kit для версии Java Apache. [11]
Программа JCP и отраслевые награды [ править ]
Источник: [12]
Награда | Номинант | Взносы | Подробности | JSR # | Победить? |
---|---|---|---|---|---|
Член JCP / Участник года | Лондонское сообщество Java и SouJava | "Принять JSR!" Программу | Поддержка разработчиков Java через JCP. | Победить! | |
Стивен Коулборн | API даты и времени для Java . | Комплексный и продвинутый. Неутомимая работа. | 310 | ||
Маркус Эйселе | Активная работа в немецком сообществе Java и в экспертной группе JSR 342 . | 342 | |||
JUG Ченнаи | Стать самой активной организацией JCP в Индии и конкурентоспособной сервисной организацией на коммерческом рынке. | ||||
Вернер Кейл | Невероятная энергия и участие в семи JSR, а также в Исполнительном комитете. | ||||
Антуан Сабо-Дюран |
| ||||
Ведущий специалист по спецификациям | Виктор Граци, Credit Suisse | Java Money & Currency API | Выделенный и сфокусированный опыт в решении вопросов, связанных с деньгами и валютами . | 354 | Победить! |
Майкл Эрнст | Аннотации к типам Java | Рассудительный подход; отличный пример хорошо работающего JSR. | 308 | ||
Найджел Дикин, Oracle | Служба сообщений Java 2.0 | Выдающаяся, тщательная и интеллектуальная работа, позволяющая JMS 2 EG оставаться открытой и быстро двигаться вперед. | 343 | ||
Пит Мьюир, Красная шляпа | Внедрение контекстов и зависимостей для Java EE 1.1 | Добровольно обновился до 2.8 в конце 2011 года и сохранил прозрачные методы работы своей экспертной группы. | 346 | ||
Наиболее значимый JSR | Джитендра Котамраджу | API для обработки JSON | Важный шаг на пути внедрения Java в мир современной сети. | 353 | |
Виктор Граци, Credit Suisse | Деньги и валюта API | Новые способы обработки денежных сумм и валютных расчетов. Исправление критических ошибок формата чисел и представления Java, выходящих за рамки денежных значений. | 354 | ||
Митч Аптон | Java Государственное управление | Потенциал улучшения внешнего вида серверов приложений и распределенных служб в ближайшем будущем, а также упрощение развертывания в средах PaaS и Cloud. | 350 | ||
Найджел Дикин | Служба сообщений Java 2 | Быстро модернизируйте JMS. | 343 | ||
Патрик Карран | JCP.Next | Определение направления и процедур для JCP следующего поколения. | 348 355 358 | Победить! |
См. Также [ править ]
- Предложение по расширению JDK
Примечания [ править ]
- ^ «Стать членом JCP» . Проверено 11 июня 2011 года .
- ^ JSR 3 изначально указывал на выпуск JMX 1.0. Два последующих «финальных» выпуска предоставили JMX 1.1 и JMX 1.2. JMX 2.0 определен JSR 255.
- ^ JSR 52 изначально указывал на выпуск JSTL 1.0. Последующий выпуск обслуживания предоставил JSTL 1.1.
- ^ JSR 56 изначально указывал на выпуск JNLP 1.0. Последующий «финальный» выпуск предоставил JNLP 1.5, который в основном был отладочным. [1] По состоянию на февраль 2006 г. отладочная версия JNLP 6.0 была завершена, но не доработана.
- ^ JSR 63 изначально указывал на выпуск JAXP 1.1. Последующий отладочный выпуск JSR 63 предоставил спецификацию JAXP 1.2. [2] JAXP 1.3 определен JSR 206.
- ^ JSR 127 изначально указывал на выпуск JSF 1.0. Последующий выпуск обслуживания предоставил спецификацию JSF 1.1. [3] JSF 1.2 указан в JSR 252.
- ^ JSR 154 изначально указывал на выпуск Java Servlet 2.4. По состоянию на февраль 2006 г. доработка спецификации сервлетов 2.5 находится на рассмотрении, закрытие которой запланировано на 20 марта 2006 г.
- ^ JSR 913 изначально указывал JCP 2.0. Впоследствии в нее были внесены различные изменения в правилах голосования для создания версии 2.1, а затем в нее были внесены дополнительные изменения в соответствии с правилами лицензирования, политикой и процессами, чтобы перейти к версии 2.5. JCP 2.6 определен JSR 215. [4]
- ^ JSR 924 первоначально указал изменения в JVM для поддержки изменений в J2SE 5.0. По состоянию на 2006 г.[Обновить]ведется техническое обновление для поддержки изменений, предложенных JSR 202.
- ↑ Удобно, Алекс. «Ява открыта, но каков процесс?» . SD Times . Проверено 21 сентября 2011 года .
- ^ Уайтинг, Рик. «Apache выходит из Совета управляющих Java из-за спора с Oracle» . CRN . Проверено 21 сентября 2011 года .
- ^ Программа Java Community Process (SM) - Пресса и успех - Новости . Jcp.org. Проверено 17 июля 2013.
- ^ Программа Java Community Process (SM) - Пресса и успех - Новости . Jcp.org. Проверено 17 июля 2013.
Внешние ссылки [ править ]
- Домашняя страница процесса сообщества Java
- Список всех JSR с окончательным рейтингом
- Список всех JSR