Java Community Process
A Java Community Process vagy JCP egy 1998-ban útjára indított kezdeményezés, amely lehetővé teszi a Java technológia iránt érdeklődőknek a Java architektúra fejlesztésében való részvételt.
A JCP áttekintése
A JCP honlapjára bárki szabadon regisztrálhat, és részt vehet a javaslatok értékelésének folyamatában, valamint adhat visszajelzést a JSR-ek részére. Továbbá bárki jelentkezhet, hogy JCP taggá váljon, és egy JSR Szakértői Csoportjának (Expert Group) része legyen, és benyújthasson saját JSR javaslatokat. A JCP munkájának célja, hogy megőrizze a Java technológia meghatározó tulajdonságait, a stabilitást, és platformokon átívelő kompatibilitást. Továbbá céljuk, hogy a platform folyamatos bővítésével az megfeleljen a fejlesztők újabbnál-újabb technológiai igényeinek.
Java Specification Request
A JCP központi elemei a JSR, azaz a Java Specification Request dokumentumok, amelyek javaslatokat tartalmaznak arra, hogy a jövőben mit tartalmazzon a Java specifikáció. Mielőtt egy JSR véglegessé válna, át kell esnie egy nyilvános szemlén (idegen szóval public review-n). Ezek után a JSR-t szavazásra bocsátják.
A JSR elbírálási folyamat
Az elbírálási folyamat az évek során több alkalommal lett módosítva, újragondolva. A különböző módosításokat verziószámokkal illetik, a legújabb változat a JCP 2.7, mely 2009 májusától van alkalmazva. A folyamat négy fő lépésből áll:
- Kezdeményezés: Egy specifikáció javaslatot általában a közösségi tagok nyújtanak be, és a Végrehajtó Bizottság hagy jóvá kidolgozásra. Gyakran, hetente több új javaslatot is elfogadnak.
- Korai piszkozat: Miután egy JSR-t jóváhagytak, szakértői csoport alakul, akik kidolgozzák az első piszkozatot, melyet a közösség és a Végrehajtó Bizottság is értékel. A visszajelzések alapján a szakértői csoport folyamatosan finomítja a piszkozatot. Ebben a szakaszban a Végrehajtó Bizottság elővetíthet licencelési és üzleti feltételeket.
- Nyílvános piszkozat: A JSR-t kihelyezik a nyilvános website-ra, ahol bárki megtekintheti, és értékelheti azt. Az értékelés után a Végrehajtó Bizottság eldönti, hogy a piszkozat továbbmehet-e a következő lépésre. Felhasználják a közösség által biztosított visszajelzéseket, hogy létrehozzá a "végső piszkozatot" (Proposed Final Draft). A szakértői csoport leellenőrzi, hogy technikai szempontból megfelel-e az elvárásoknak a "minta megvalósítás", és elküldi azt a Végrehajtó Bizottságnak végső jóváhagyásra. Ezután a specifikáció, megvalósítás, és a kompatibilitási csomag mind publikálásra kerülnek.
- Karbantartás: A folyamatos visszajelzések, javaslatok, és igényeknek alapján folyamatosan frissítve van a specifikáció. A Végrehajtó Bizottság dönti el, hogy mely javasolt változtatásokat kell azonnal végrehajtani, és melyekre kell szakértői csoportot toborozni. Az ő felelősségük továbbá a konfliktusok elrendezése is.
Több, mint 300 JSR létezik. Az alábbi táblázat néhány közismertebbet tartalmaz:
JSR # | Cím |
---|---|
14 | Generikus adattípusok (a J2SE 5.0 verziójával kerültek be a szabványba) |
19 | Enterprise JavaBeans (EJB) 2.0 |
47 | Logolási API specifikáció (a J2SE 1.4 verzióval vált a szabvány részévé) |
48 | A WBEM Services Specification a J2SE 1.4 verziótól a szabvány része. Webalapú vállalatmenedzselési specifikáció |
54 | Java Database Connectivity (JDBC) 3.0 Adatbázis kapcsolódás |
73 | Java Data Mining API (JDM) 1.0 Adatbányász API |
80 | USB API |
82 | Bluetooth API |
110 | WSDL (WSDL4J) 1.0 API |
140 | Service Location Protocol (SLP) API |
152 | JavaServer Pages (JSP) 2.0 specifikáció |
153 | Enterprise JavaBeans (EJB) 2.1 specifikáció |
168 | Java Portlet 1.0 specifikáció |
170 | Content repository API for Java (JCR) 1.0 |
199 | Java Compiler API |
206 | Java API for XML Processing (JAXP) 1.3 |
220 | Enterprise JavaBeans (EJB) 3.0 |
221 | Java Database Connectivity (JDBC) 4.0 Adatbázis kapcsolódás |
223 | Scripting for the Java Platform for Java SE 6 Szkriptnyelvek támogatása |
245 | JavaServer Pages (JSP) 2.1 |
247 | Java Data Mining API (JDM) 2.0 Adatbányász API |
252 | JavaServer Faces (JSF) 1.2 |
308 | Típusannotációk (Java SE 7) |
317 | Perzisztencia (Java EE 5) |
914 | Java Message Service (JMS) API 1.0 and 1.1 |