JCP és JSR

Mostanában sokszor találkozik az ember a JCP és JSR rövidítésekkel. Nem csak új API-k megjelenésekor, hanem mostanában elég sokan bírálják is ennek működését. Nézzük meg, hogy mit is jelentenek ezek. A Java Community Process (JCP) egy nyitott szervezet, mely Java fejlesztőkből áll, 1995 óta működik, és feladatuk Java-hoz kapcsolódó specifikációk kidolgozása, referencia implementációk elkészítése, ezáltal technológiák megalapozása. Bárki tagja lehet (cég, szervezet, magánszemély), aki aláírja a Java Specification Agreement-et (JSPA), mely leírja a tagok jogait és kötelességeit. A Process Management Office (PMO) egy Sun által kijelölt szakértői csoport, mely a JCP irányítását és működtetését végzi. A Java Specification Request (JSR) egy a PMO-nak küldött dokumentum, mely egy javaslatot tartalmaz egy új specifikációra, vagy jelentős változtatásra. Ha megnézitek iszonyat sok JSR van, és a legfontosabb specifikációk is ez alatt futnak, úgymint a Java 2, Standard Edition, Enterprise Edition, Micro Edition, JSP, Servlet, JDBC, JavaBeans, JTA, JMS, JavaMail, stb.

Ha valaki egy új specifikációt kíván beadni, a következő fázisokon kell végigmennie. Először JCP taggá kell vállni, ami bárki számára lehetséges, majd be is lehet adni a JSR-r a PMO-nak. (Jó ez a sok rövidítés.) Eztán a JCP vezetősége (executive comitee - EC) vagy elutasítja, vagy elfogadja azt. Két vezetőség van, az egyik a J2SE és J2EE feletti munkálatokat, a másik a J2ME dolgait irányítja. Mindegyik vezetőség 16 tagból áll, kiket a JCP tagok szavaznak meg. Persze a Sun mindkettőnek tagja. Eztán el lehet kezdeni dolgozni a specifikáció tervezeten más szakemberekkel, amit majd az összes JCP tag elé kell tárni. Amint ez is megvan, mindenki számára elérhetővé kell tenni, és közben el lehet kezdeni a referencia implementáció elkészítését, illetve tesztesetek egy halmazát (technology compatibility kit - TCK), melyeket sikeresen teljesíteniük kell a többi interpretációnak is, a kompatibilitást biztosítandó. Eztán mégegyszer szavaz az EC a tervezet elfogadásáról, és ha igennel szavaznak, akkor a JSR specifikációvá válik. Aztán ezt karban is kell tartani. Erről az egészről szerepeljen is egy képecske.

Egy JSR életútja

Jelenleg a JSR-ek 58%-át nem Sun-os dolgozók adták be, ami azt is jelenti, hogy a Sun “uralma”, irányítása a Java nyelv és technológiák fölött kissé kezd meggyengülni.

A JCP-t sokan kritizálják a hatékonysága (lassú sebessége) miatt, erről érdemes elolvasni egy két részből álló hosszabb cikket, mely az érveit számadatokkal támasztja alá.