Javaコミュニティプロセス

1998年に設立されたJava Community Process(JCP)は、Javaテクノロジーの標準技術仕様を関係者が策定するための正式なメカニズムです。JCPのメンバーになるには、Javaプログラミング言語、その仕様、そしてソフトウェア開発におけるベストプラクティスに関する確かな知識が必要です。JCPのメンバーとなるには、候補者のプロフィールを詳細に審査し、現メンバーによる評価も受けます。通常、専門家はJavaコミュニティにおける貢献と評判に基づいてJCPへの参加を招待されます。

新規メンバーは招待されると、JCP Executive Committeeによる評価を受け、Java仕様要求(JSR)に効果的に貢献できるかどうかを確認します。これらの公式文書は、Javaプラットフォームに追加される予定の仕様と技術の提案を規定しています。新規メンバーには、Javaコミュニティとそのリリースの支援において積極的に活動し、重要な役割を果たすことが推奨されます。Java言語の成長と利用に大きく貢献するためには、メンバーが専門知識と深い技術的知識、そして豊富な専門的経験を備えていることが不可欠です

組織および営利団体の会員には年会費が必要ですが、個人は無料です。JSRは最終版となる前に正式な公開レビューを受け、JCP Executive Committeeによる投票で承認されます。最終版のJSRには、ソースコード形式の技術の無償実装であるリファレンス実装と、API仕様を検証するための技術互換性キットが提供されます。

JCP自体はJSRで記述されています。2020年現在、JSR 387はJCPの現在のバージョン(2.11)を記述しています。

JSRのリスト

JSRは数百種類あります。よく知られているJSRには次のようなものがあります。

JSR #仕様または技術リファレンス実装その他の実装
1Java リアルタイム仕様(RTSJ) 1.0
3Java管理拡張機能(JMX)1.0、1.1、および1.2 [1]
5XML 処理のための Java API (JAXP) 1.0
8OSGIオープン サービス ゲートウェイ仕様
9Jiro (フェデレーテッド管理アーキテクチャ仕様) 1.0
12Java データ オブジェクト(JDO) 1.0
13改良された BigDecimal ( Java プラットフォーム、Standard Edition#java.math )
14Java プログラミング言語にジェネリック型を追加する(J2SE 5.0 以降)
16Java EE コネクタアーキテクチャ(JCA) 1.0
19エンタープライズ JavaBeans (EJB) 2.0
22JAIN SLEE API 仕様(JSLEE) 1.0
30Java ME用Connected Limited Device Configuration (CLDC) 1.0
31XML バインディングのための Java アーキテクチャ(JAXB) 1.0
32Java ME 用 JAIN SIP API 仕様 (JSIP) 1.0、1.1、1.2
36Java ME 用接続デバイス構成(CDC) 1.0
37Java ME 用モバイル情報デバイスプロファイル(MIDP) 1.0
40Java メタデータ インターフェイス(JMI) 1.0
41シンプルなアサーション機能(J2SE 1.4 以降)
47ロギングAPI 仕様 (J2SE 1.4 時点)
48WBEM サービス仕様(J2SE 1.4 時点)
51非ブロッキング I/O (NIO) (J2SE 1.4 以降)グリズリーネッティ
52JavaServer Pages標準タグライブラリ(JSTL)1.0および1.1 [2]
53Java Servlet 2.3 およびJavaServer Pages (JSP) 1.2 仕様
54Java データベース接続(JDBC) 3.0
56Javaネットワーク起動プロトコルおよびAPI(JNLP)1.0、1.5および6.0 [3]Java Web Start
58Java 2 プラットフォーム、エンタープライズ エディション(J2EE) 1.3
59Java 2 プラットフォーム、標準エディション(J2SE) 1.4 (Merlin)
63Java API for XML Processing (JAXP) 1.1および1.2 [4]
68Java プラットフォーム、マイクロ エディション(Java ME) 1.0
73Java データマイニングAPI (JDM) 1.0
75J2ME プラットフォーム用 PDA オプション パッケージ
77J2EE管理
80Java USB API
82Bluetooth用のJava API
88Java EEアプリケーションのデプロイメント
91OSSトラブルチケットAPI
93XML レジストリ用 Java API (JAXR) 1.0
94Java ルールエンジン API
102Java ドキュメント オブジェクト モデル(JDOM) 1.0
110WSDL用 Ja​​va API (WSDL4J) 1.0
112Java EE コネクタアーキテクチャ(JCA) 1.5
113Java 音声 API 2 (JSAPI2)
114Java Database Connectivity (JDBC) 行セット実装
116SIP サーブレット API 1.0
118Java ME 用モバイル情報デバイスプロファイル(MIDP) 2.0
120ワイヤレス メッセージング API (WMA)
121アプリケーション分離API
127JavaServer Faces(JSF)1.0および1.1 [5]
133Javaメモリモデルとスレッド仕様の改訂
135Java ME 用のJava モバイル メディア API (MMAPI)
139Java ME 用Connected Limited Device Configuration (CLDC) 1.1
140Java 用サービス ロケーション プロトコル(SLP) API
141Java 用セッション記述プロトコル(SDP) API
151Java 2 プラットフォーム、エンタープライズ エディション(J2EE) 1.4
152JavaServer Pages (JSP) 2.0
153エンタープライズ JavaBeans (EJB) 2.1
154Javaサーブレット2.4および2.5仕様[6]
160Java 管理拡張機能(JMX) リモート API 1.0
163Java Platform Profiling Architecture (JPPA) には、 Java Virtual Machine Tools Interfaceの仕様 (その他の仕様とともに) が含まれています。
166並行処理ユーティリティ (J2SE 5.0java.util.concurrentおよびjava.util.concurrent.atomic)java.util.concurrent.locks
168ポートレット仕様1.0
170Java 用コンテンツ リポジトリ API (JCR) 1.0
172Java ME の Web サービス仕様
173StAX (XML 用ストリーミング API)
175Javaプログラミング言語のメタデータ機能
176Java 2 プラットフォーム、標準エディション(J2SE) 5.0 (Tiger)
177J2ME 向けセキュリティおよび信頼サービス API (SATSA)
179Java ME 用ロケーション API 1.0
180Java ME 用セッション開始プロトコル (SIP) API
181Java プラットフォームのWeb サービスメタデータ
184Java ME 1.0 および 1.1 用のモバイル 3D グラフィックス API
185ワイヤレス業界向け Java テクノロジー (JTWI)
187インスタント メッセージング( Java MEおよびJava SE )
198統合開発環境向けの標準拡張API
199Java コンパイラAPI
200Java アーカイブ用のPack200ネットワーク転送フォーマット
201列挙、オートボクシング、拡張 for ループ、静的インポートによるJava プログラミング言語の拡張(J2SE 5.0 以降)
202Javaクラスファイル仕様の更新
203ノンブロッキング I/O (Java) (NIO2)の詳細
204Unicode 補助文字のサポート (J2SE 5.0 以降ではUnicode 3.1 のサポートが追加されました)
205ワイヤレス メッセージング API 2.0 (WMA) 2.0
206XML 処理のための Java API (JAXP) 1.3
208Java ビジネス統合(JBI) 1.0
211コンテンツハンドラーAPI
215Java コミュニティ プロセス (JCP) 2.6
218Java ME 用接続デバイス構成(CDC) 1.1
219財団プロフィール 1.1
220エンタープライズ JavaBeans (EJB) 3.0
221Java データベース接続(JDBC) 4.0
222XML バインディングのための Java アーキテクチャ(JAXB) 2.0
223Java SE 6 向けJava プラットフォームのスクリプト
224JAX-RPCの後継であるJava API for XML Web Services (JAX-WS)
225Java 用 XQuery API (XQJ)
226Java MEスケーラブル 2D ベクター グラフィックスAPI
229決済API(PAPI)
231OpenGL 用 Ja​​va バインディング
234Java ME向け高度なマルチメディア補足API
235サービス データ オブジェクト(SDO)
239OpenGL ES用の Java バインディング
240JAIN SLEE API 仕様(JSLEE) 1.1
241Groovyプログラミング言語
243Java データ オブジェクト(JDO) 2.0
244Java プラットフォーム、エンタープライズ エディション(Java EE) 5
245JavaServer Pages (JSP) 2.1
247Java データマイニングAPI (JDM) 2.0
248モバイルサービスアーキテクチャ
249モバイルサービスアーキテクチャ2
250Java プラットフォームの共通アノテーション( Java のメタデータ機能用)
252JavaServer Faces (JSF) 1.2
253モバイルテレフォニーAPI(MTA)
255Java 管理拡張機能(JMX) 2.0
256モバイルセンサーAPI
257非接触通信API(NFC
260Javadocタグテクノロジーのアップデート
269プラグ可能な注釈処理 API ( Java のメタデータ機能用)
270Java プラットフォーム、Standard Edition (Java SE) 6 (Mustang)
271Java ME 用モバイル情報デバイスプロファイル(MIDP) 3.0
274BeanShellスクリプト言語
275単位の指定(測定単位を参照)
276JavaServer Facesコンポーネントデザインタイムメタデータ
277Javaモジュールシステム
280Java ME 用 XML API
281IMS サービス API ( IMSを参照)
282Java リアルタイム仕様(RTSJ) 1.1
283Java 用コンテンツ リポジトリ API (JCR) 2.0
286ポートレット仕様2.0
289SIP サーブレット API 1.1
290Java言語とXMLユーザーインターフェースマークアップ統合(XML-UI)
291Java SE の動的コンポーネント サポート ( OSGiを参照)
292JavaTM プラットフォームでの動的型付け言語のサポート
293Java ME 用ロケーション API 2.0
294Javaプログラミング言語におけるモジュール性サポートの改善
296Swing アプリケーション フレームワーク(Java SE 7)
299Java EE プラットフォームのコンテキストと依存性注入 (CDI)溶接オープンウェブビーンズ
301JSF ポートレットブリッジ
303Bean検証Hibernate バリデータ
307ネットワークモビリティとモバイルデータAPI(2007年7月20日時点では公式ではありませんが、2008年第2四半期に公式リリースが予定されています)
308Java 型の注釈(Java SE 8)
311JAX-RS : RESTful Web サービス用の Java API (1.0 および 1.1)
314JavaServer Faces (JSF) 2.0Mojarra JavaServer Facesアパッチ マイフェイス
316Java プラットフォーム、エンタープライズ エディション(Java EE) 6
317Java パーシスタンス API (JPA) 2.0エクリプスリンクHibernate、openJPA
322Java EE コネクタアーキテクチャ(JCA) 1.6
325IMS 通信イネーブラー (ICE) ( IMSを参照)
330Javaの依存性注入HK2
336Java SE 7 リリースの内容[OpenJDK 7]?
337Java SE 8 リリースの内容[OpenJDK 8]?
338Java パーシスタンス API (JPA) 2.1エクリプスリンクHibernate、openJPA
339JAX-RS 2.0 : RESTful Web サービス用の Java API
343Java メッセージ サービス2.0 (JMS)
352JavaバッチIBM Java バッチ[リンク切れ]JBeret、春のバッチ
354Java マネー&通貨 API
356WebSocket 用の Java API
365Java 2.0 のコンテキストと依存性注入溶接
367JSON バインディング用の Java API (JSON-B)エクリプス・ヤソンジャクソン
370RESTful Web サービス用 Java API (JAX-RS) 2.1プロジェクト・ジャージー
374JSON 処理用の Java API 1.1Eclipse JSON-P 2019年5月31日アーカイブWayback Machineジャクソン
376Javaプラットフォームモジュールシステム(277に代わる)
380Bean Validation 2.0Hibernate バリデータ
901Java 言語仕様第 3 版 (JLS) (J2SE 5.0 では、JSR 14、41、133、175、201、および 204 からの変更が組み込まれています)
907Java トランザクション API (JTA) 1.0 および 1.1
912Java 3D API 1.3
913Javaコミュニティプロセス(JCP)2.0、2.1、2.5。[7]
914Java メッセージ サービス(JMS) API 1.0 および 1.1
924Java仮想マシン仕様第2版(JVM)(J2SE 5.0時点)。[8]オープンJDK
926Java 3D API 1.5

批判

JCPの代表者(右端)が、2012年のJavaOneカンファレンスのパネルディスカッションで業界紙に話している。

JCPの執行委員会は、オラクルがサン・マイクロシステムズ( Java言語の最初の開発者を買収して以来、 「ゴム印組織」として特徴づけられてきた。 [9]

Apacheソフトウェア財団は、オラクルがApacheのJavaバージョン用のテクノロジー互換性キットのライセンスを望まなかったため、2010年12月に理事を辞任した。 [10]

JCPプログラムと業界賞

出典: [11]

2012年 第10回JCP賞受賞者[12]
候補者貢献詳細JSR #勝つ?
JCP年間最優秀会員・参加者ロンドンJavaコミュニティとSouJava「JSRを採用しよう!」プログラムJCP を通じて Java 開発者をサポートします。勝つ!
スティーブン・コールボーンJava用の日付と時刻API包括的かつ高度。たゆまぬ努力。310
マルクス・アイゼルドイツの Javaコミュニティおよび JSR 342 エキスパート グループでの活発な活動。342
JUG チェンナイインドで最も活発な JCP 組織となり、商業市場において競争力のあるサービス組織となること。
ヴェルナー・カイル信じられないほどのエネルギーと、7 つの JSRおよび実行委員会への参加。
アントワーヌ・サボ=デュラン
優れたスペックリードヴィクター・グラツィ

クレディ・スイス

Java マネー&通貨 APIお金通貨に関する問題の解決に特化した専門的知識354勝つ!
マイケル・エルンストJava の注釈冷静なアプローチ。うまく運営された JSR の素晴らしい例です。308
ナイジェル・ディーキン

オラクル

Javaメッセージ サービス 2.0JMS 2 EG をオープンに保ち、大きなペースで前進させている、優れた徹底的かつインテリジェントな作業。343
ピート・ミューア

レッドハット

Java EE 1.1のコンテキストと依存性注入2011 年後半に自主的に 2.8 にアップグレードし、専門家グループの運営においてすでに透明性のある方法を維持しました。346
最も重要なJSRジテンドラ・コタムラジュJSON処理用のAPIJava を現代の Web の世界に導入するための重要なステップです。353
ヴィクター・グラツィ

クレディ・スイス

お金通貨 API金額と通貨計算を扱う新しい方法。金額以外のJava数値形式と表現に関する重大なバグを修正。354
ミッチ・アプトンJava状態管理近い将来、アプリケーション サーバーと分散サービスがどのように見えるかが改善される可能性があり、また、PaaSおよびクラウド環境での展開が簡素化される可能性もあります。350
ナイジェル・ディーキンJavaメッセージ サービス 2JMS を急速に近代化します。343
パトリック・カランJCP.Next次世代 JCP の方向性と手順を設定します。348 355 358勝つ!

参照

注記

  1. ^ JSR 3は当初JMX 1.0リリースを規定していました。その後の2つの「最終」リリースではJMX 1.1とJMX 1.2が提供されました。JMX 2.0はJSR 255で規定されています。
  2. ^ JSR 52は当初JSTL 1.0リリースを規定していました。その後のメンテナンスリリースでJSTL 1.1が提供されました。
  3. ^ JSR 56は当初JNLP 1.0リリースを規定していました。その後の「最終」リリースでは、主にメンテナンスリリースであるJNLP 1.5が提供されました。[1] 2006年2月現在、JNLP 6.0メンテナンスリリースは完了していますが、最終決定されていません。
  4. ^ JSR 63は当初JAXP 1.1リリースを規定していました。その後のJSR 63のメンテナンスリリースでJAXP 1.2仕様が提供されました。[2] JAXP 1.3はJSR 206で規定されています。
  5. ^ JSR 127は当初JSF 1.0リリースを規定していました。その後のメンテナンスリリースでJSF 1.1仕様が提供されました。[3] JSF 1.2はJSR 252で規定されています。
  6. ^ JSR 154は当初、Java Servlet 2.4リリースを規定していました。2006年2月現在、2.5サーブレット仕様のメンテナンスドラフトが検討中であり、2006年3月20日に終了する予定です。
  7. ^ JSR 913は当初JCP 2.0を規定していました。その後、投票ルールの様々な変更によってバージョン2.1が策定され、さらにライセンスルール、ポリシー、プロセスが改訂されてバージョン2.5が完成しました。JCP 2.6はJSR 215で定義されています。[4]
  8. ^ JSR 924は当初、J2SE 5.0の変更をサポートするためのJVMの変更を規定していました。2006年現在、JSR 202で提案された変更をサポートするためのメンテナンスアップデートが進行中です。
  9. ^ Handy, Alex (2011年9月12日). 「Javaはオープンだが、プロセスは?」SD Times . 2011年9月21日閲覧
  10. ^ Whiting, Rick (2010年12月10日). 「Apache、Oracleとの争いでJava Governing Boardを辞任」. CRN . 2011年9月21日閲覧
  11. ^ Java Community Process(SM)プログラム - プレス&サクセス - ニュースストーリー. Jcp.org. 2013年7月17日閲覧。
  12. ^ Java Community Process(SM)プログラム - プレス&サクセス - ニュースストーリー. Jcp.org. 2013年7月17日閲覧。
  • Javaコミュニティプロセスのホームページ
  • 最終評価されたすべてのJSRのリスト
  • すべての JSR のリスト
Retrieved from "https://en.wikipedia.org/w/index.php?title=Java_Community_Process&oldid=1282290374"