Itt a Java EE jövője
Néhány évnyi szünet után rákapcsolhat a fejlesztésre a nagyvállalati Java alkalmazásplatform. A Java EE utódjaként a szabad szoftveres Jakarta EE a régi terheket ledobva indulna versenybe a feltörekvő riválisokkal, például a szerveroldali JavaScripttel szemben. Tényleg jön a régóta ígért "cloud-natív" Java?
Immár hivatalos: elkészült a Java Enterprise Edition (EE) teljesen Oracle-függetlenített verziója. A fejlesztést felügyelő Eclipse Foundation bejelentette ugyanis a Jakarta EE 8 végleges kiadását, ezzel pedig újraindulhat a nagyvállalati alkalmazásplatform évekig stagnáló fejlesztése.
Kik ezek és mit írtak?
A független Eclipse Foundation szinte pontosan két évvel ezelőtt vette át a Java Enterprise Edition alkalmazásplatform irányítását az Oracle-től. Részleteket lásd a 2017-es cikkünkben - a lényeg, hogy az Oracle számára a Java EE egyre inkább teherré vált és a cég nem fordított erőforrást az érdemi fejlesztésre. A közösség és az Oracle között egyre élesebbé váló feszültséget végül az oldotta fel, hogy az amerikai szoftverház a platform kormányzását teljesen a közösség kezébe adta, azóta az Eclipse Foundation keretében felálló csoport irányítja a platform fejlesztését és osztja el a hozzájárulásokat.
Ünnepi mix a bértranszparenciától a kódoló vezetőkig Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.
Az Oracle egyébként meglehetősen nagyvonalú volt, a cég a Javához kötődő szellemi tulajdon jelentős részét átengedte a független csoportosulásnak, így megnyílt a lehetőség a ténylegesen szabad szoftveres, nyílt forráskódú Java előtt. Egy apró hibával: az Oracle megtartotta a Java márkához fűződő jogokat, így bármi is készült a szabad szoftveres boszorkánykonyhában, annak más nevet kellett találnia.
Hello Jakarta!
Java szigetének legnagyobb városa és Indonézia fővárosa Jakarta - ezt választotta az Eclipse Foundation új márkanévnek, a Jakarta EE 8 pedig ennek az erőfeszítésnek az első, immár kézzel fogható terméke. Az alapítvány publikálta a Jakarta EE 8 Full Platform és Web Profile alkalmazások specifikációit, illetve az ehhez kapcsolódó TCK-k (Technology Compatibility Kits) és referenciaimplementáció (RI) is elérhetőek - ezekkel lehet tesztelni, hogy az alternatív implementációk teljes mértékben megfelelnek-e a publikált specifikációknak.
Ami nem változott: a Jakarta EE 8 teljes mértékben kompatibilis a Java EE 8-cal, így az utóbbi platfomra készült kódot az új alkalmazásszerverek is hibátlanul tudják majd futtatni. Nem változott a fejlesztők számára elérhető API-készlet és visszaköszönnek az olyan hagyományos eszközök is, mint a dokumentációt segítő Javadoc. Fejlesztői-műszaki szempontból tehát a Jakarta EE 8 a Java EE 8 újrakiadása, a jelentős különbségek nem a specifikációban vannak.
A kompatibilis implementációk listáján az Eclipse Glassfish, az IBM Open Liberty és a Red Hat WildFly szerepel (utóbbi Web Profile nélkül). Nagy hiányzó az Oracle WebLogic, a vállalat ígérete szerint "hamarosan" elkészül a Java EE 8 és Jakarta EE 8-at is támogató új verzió.
Hogyan készül?
Ha semmilyen új funkció nincs, akkor min dolgozott a csoport két évig? A legfontosabb változás a JESP. Ez a Jakarta EE Specification Process - az a folyamat, ahogy a közösség döntést hoz a később bekerülő funkciókról és képességekről. Az Oracle híresen önfejű volt a Java dirigálásában, a közösség ugyan kifejezhette igényeit a JCP folyamat során, de a végső döntést mindig a vállalat szoftvermérnökei hozták. A JESP sokkal demokratikusabb, ami jobban kifejezi, hogy a platformot már sok, nagyjából hasonló piaci erejű vállalat közösen irányítja: a kiemelt támogató Red Hat, az IBM, az Oracle, a Fujitsu mellett a Pivotal, a Liferay, a Microsoft is tagja a kezdeményezésnek.
Fontos részlet, hogy a közös fejlesztések maradnak közös tulajdonban, a kapcsolódó szellemi tulajdon független marad az egyes szereplőktől és az alapítvány valamilyen non-profit entitása fogja gyakorolni e jogokat. Ez fontos, így a jövőben bárki döntene a kiszállás mellett, nem viheti magával a korábban bedobott fejlesztéseit.
Jakarta EE 9
A nyolcas kiadással tehát új (jogi-szabadalmi-tulajdoni) alapokra került a Jakarta/Java EE 8 platform, ezzel párhuzamosan pedig megkezdődött a munka a következő verzión. A legfontosabb beígért újdonság pedig a Jakarta NoSQL specifikálása lesz: ez lehetővé tenné a Java alkalmazások és a NoSQL adatbázisok könnyebb integrációját magas absztrakciós szinten. A Jakarta NoSQL alapját az Eclipse JNoSQL adja majd, amely egyúttal referenciaimplementációként is szolgál majd.
A Java EE nem mai termék, 20 éves története során nagyon átalakult a vállalati informatika. A közösség álláspontja szerint viszont a platform igenis képes megfelelni a modern kihívásoknak és az elvesztegetett évek alatt félelmetes versenytárssá emelkedő szerveroldali JavaScript vagy Swift ellenében is sikeres tud maradni. Ennek érdekében gyors ütemű fejlesztésre és a cloud-natív funkciók beemelésére lesz szükség, ennek következő lépcsője lenne a Jakarta EE 9.