cover

Java körkép - mi a helyzet a szerveroldali keretrendszerekkel?

Java körkép - mi a helyzet a szerveroldali keretrendszerekkel?
Mortoff Blog
Java körkép - mi a helyzet a szerveroldali keretrendszerekkel?

A Java továbbra is népszerű a szerveroldali fejlesztésekben, érdemes időről időre áttekinteni, hogy milyen fejlesztésekkel jelentkeztek a Java platformú szerveroldali keretrendszerek. 

Ebben a blogposztban két fő területre osztva járjuk körül a keretrendszerekkel kapcsolatos fejlesztéseket, híreket: 

  • Spring 

  • Jakarta EE 

Spring Boot 
A Spring Boot és a Spring Framework keretrendszerrel kapcsolatos legfontosabb hírnek talán az mondható, hogy a Broadcom felvásárolta a Vmware-t 2023 novemberében. Hogyan és miért is érinti ez a Springet? A Spring Framework és a belőle kiinduló technológiák fő támogatója a Pivotal Software Inc. volt, amelyet 2019-ben vásárolt meg a Vmware, ekkor integrálták a Vmware Tanzu projektek közé a Springet. 

Így most a Spring Framework fő céges támogatója a Broadcom, amely azonban a felvásárlás után komoly leépítésekbe kezdett a Vmware dolgozói között - több, mint 2008 Vmware dolgozótól váltak meg. A Spring Framework vezető fejlesztője, Oliver Drothbohm aggodalmát fejezte ki, ugyanis ezek az elbocsátások érintettek Spring Framework fejlesztőket is. 

Valószínű azonban, hogy nem kell aggódnunk a Spring jövője miatt, két okból sem: 

  • A fejlesztői bázis továbbra is hatalmas, és nem csak Vmware alkalmazottakból áll 

  • A Spring nyílt forráskódú 

A fejlődést jól mutatja, hogy a Broadcom felvásárlás óta is tervszerűen jelennek meg a Spring technológiák újabb kiadásra. A cikk írásának pillanatában a legfrissebb Spring Framework verzió a 6.1.2, de már elérhető a 6.2-es sorozat tesztverziója is, jelenleg a 7-es mérföldkőnél tart a fejlesztés. Hasonlóan, a Spring Boot keretrendszer is már a 3.3.3-mas verziónál tart, és fejlesztés alatt áll a 3.4-es sorozat. 
Fontos megemlíteni, hogy a Spring Boot 2.x-es sorozat támogatása már tavaly lejárt, a 3.0 támogatásával együtt, idén májusban pedig a 3.3-mas sorozat támogatása is véget ért. Természetesen enterprise támogatási szerződéssel még vásárolható, de már csak egy évig, támogatás ezekhez a régi verziókhoz. 

Ajánlott, hogy mindenki frissítsen a 3.3-as sorozatra. Azonban ez nem mindenhol zökkenőmentes, ugyanis nagy újdonság a Spring Boot 3.x esetén, hogy elvárja Java 17 meglétét. Azonban sok vállalat még nem vezette a Java 17-et be, különféle felmérések alapján még mindig a Java 8 és Java 11 vezet. A New Relic által elkészített felmérés alapján még mindig csak az alkalmazások 35%-a használ Java 17-et, miközben a Java 21 már a jelenlegi legfrissebb hosszú támogatási idejű (LTS) verzió. 

Jakarta EE 

A másik legnépszerűbb szerveroldali keretrendszer Java platformon a régi nevén Java Enterprise Edition (Java EE), amelyet ma már Jakarta EE-nek nevezünk, amióta az Oracle 2017 végén átadott az Eclipse Foundation részére. Az átnevezés is ennek köszönhető, a védjegyhasználat körüli jogviták megelőzése céljából új néven jelennek meg ennek a keretrendszernek/specifikációnak a jövőbeni verziói. 

Elmondható, hogy ahogy a Sun Oracle általi felvásárlása meggyorsította a Java kiadásokat és a Java platform fejlődését, úgy ez a lépés is meggyorsította a Jakarta EE fejlődését az, hogy új kezekbe kerül. Egyre gyakrabban kerülnek kiadásra új verziók a specifikációkból, és nem csak régi specifikációkat frissítenek, újak is készülnek. 

A jelenleg aktuális verzió a Jakarta EE 10, amelyet több nyílt forráskódú alkalmazásszerver is támogat, a legnépszerűbbek: 

  • Eclipse GlassFish, a referenciaimplementációja a Jakarta EE platformnak 

  • Wildfly, régebben Jboss Application Server 

  • OpenLiberty 

Ezekre építve több cég is ad támogatást és épít megoldásokat, például: 

  • Payara, a Glassfishre építve 

A Jakarta EE fejlődését erősen inspirálja a Spring Framework és Spring Boot fejlődése, jót tesz az iparban ez a verseny. Az elmúlt időben jellemzően olyan fejlesztések jelentek meg Jakarta EE-ben, amelyek a klasszikus alkalmazásszerverre telepített EAR alkalmazásoktól elmozdultak a konténerizált (akár mondhatnánk úgy is, beágyazott) alkalmazásszerverek felé. Modularizálták az alkalmazásszervereket, hogy a fejlesztők összeállíthassanak minimális futtatókörnyezeteket, anélkül, ha nincs szükségük a teljes Jakarta EE platform támogatására. 

Emellett támogató technológiaként megjelent az Eclipse MicroProfile, amely a felhőalapú fejlesztésekben elterjedt technológiák használatát segítik. 

A platform következő verziója a Jakarta EE 11 lesz, már elérhetők előzetes specifikációk. Nagy újdonság fejlesztői szemmel, hogy a specifikációkban egyre több és több helyen lesz támogatva a Java recordok használata, valamint a többszálúságban nagy teljesítménynövekedést hozó virtuális szálak is a specifikáció részét képezik. 

Sajnos a Jakarta EE 11-be sem kerül be a platform specifikációi közé a Jakarta Web MVC, ugyanis ez olyan programozási modellt tesz lehetővé a Jakarta EE felhasználók számára, amelyet a Spring Web MVC keretrendszer is nyújt. Azonban aki ki szeretné próbálni ezt a technológiát, megteheti, az Eclipse Krazo használatával, akár Jakarta EE 10 alkalmazásszervereken is. 

Ezen kívül a legfontosabb változás a Jakarta Data megjelenése, amely elhozza a Spring Databól ismert Repository interfészt és metódusnév alapú lekérdezések képzését. 

Érdemes követni a Jakarta EE keretrendszer fejlődését, levetette magáról ez a technológia azt a sok régi problémás dolgot, ami miatt a legtöbb fejlesztő a Spring használatát egyszerűbbnek tartotta.  A Jakarta EE 2024-ben még relevánsabb a modern üzleti alkalmazások szerveroldali fejlesztéseinél, mint eddig volt, méltó versenytársa a Spring technológiáknak. 

Nagy előnyt adhat az is, hogy több cégtől is vásárolhatunk támogatást, amennyiben szükséges, nem egy cég áll a fejlesztés mögött, mint a Broadcom/Vmware/Pivotal esetén. 

AI valós ipari környezetben – Fischl Tamás, Bosch
AI valós ipari környezetben – Fischl Tamás, Bosch

Fischl Tamás fejlesztőmérnökkel, a Bosch és az ELTE tudományos munkatársával egy általuk fejlesztett, AI-támogatással működő kicsomagoló robot kapcsán beszélgettünk.

Meghallgatom
Az oldal sütiket használ, hogy személyre szabjuk a tartalmakat és reklámokat, hogy működjenek a közösségi média funkciók, valamint hogy elemezzük a weboldal forgalmát. Bővebben a "Beállítások" gombra kattintva olvashat.
Az oldal sütiket használ, hogy személyre szabja az oldalon megjelenő tartalmat és reklámokat.