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
[szerkesztés]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[1] 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
[szerkesztés]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
[szerkesztés]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.
- Nyilvá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étrehozza 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.
JSR-ek listája
[szerkesztés]Több, mint 300 JSR létezik. Az alábbi táblázat néhány közismertebbet tartalmaz:
JSR # | Cím |
---|---|
5 | Java API for XML Processing (JAXP) 1.0 |
12 | Java Data Objects (JDO) 1.0 |
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 |
59 | Java 2 Platform, Standard Edition (J2SE) 1.4 (Merlin) |
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 |
176 | Java 2 Platform, Standard Edition (J2SE) 5.0 (Tiger) |
199 | Java Compiler API |
200 | Pack200 hálózati átviteli formátum a Java archív fájlok számára |
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 |
241 | Groovy programozási nyelv |
243 | Java Data Objects (JDO) 2.0 |
245 | JavaServer Pages (JSP) 2.1 |
247 | Java Data Mining API (JDM) 2.0 Adatbányász API |
252 | JavaServer Faces (JSF) 1.2 |
268 | Java Portlet 2.0 specifikáció |
270 | Java Platform, Standard Edition (Java SE) 6 (Mustang) |
308 | Típusannotációk (Java SE 7) |
311 | Java API for RESTful Web Services (JAX-RS) 1.0 and 1.1 |
316 | Java Platform, Enterprise Edition (Java EE) 6 |
317 | Perzisztencia (Java EE 5) |
322 | Java EE Connector Architecture (JCA) 1.6 |
330 | Dependency Injection for Java |
343 | Java Message Service 2.0 (JMS) |
354 | Java Money & Currency API |
914 | Java Message Service (JMS) API 1.0 and 1.1 |
924 | Java virtuális gép Specification, Second Edition (JVM) (J2SE 5.0 idején).[2] |
926 | Java 3D API 1.5 |