Java-technológiák
Ez a lecke a Java-keretrendszerek, -kiszolgálók és -platformok típusai közötti különbségeket ismerteti.
Spring Framework
A Spring Framework alkalmazás-keretrendszer és fordított vezérlésű (IoC-) tároló. A Spring eredetileg az Enterprise JavaBeans (EJB) modell kiegészítőjeként szolgált. Alapvető funkciói a következők:
- Függőséginjektálás
- Aspektusorientált programozás
- Üzleti absztrakció
Spring Boot
A Spring Boot a Spring-keretrendszeren fut, és saját automatikus konfigurációval rendelkezik. A Spring Boot-alkalmazások önállóan futnak, és ideálisak mikroszolgáltatásokhoz.
Spring Data
A Spring Data leegyszerűsíti a relációs és nem relációs adatbázisokhoz, a MapReduce-keretrendszerekhez és a felhőalapú adatszolgáltatásokhoz való adathozzáférést.
Spring Security
A Spring Security a Spring-alapú alkalmazások védelmének de facto szabványa. Magas szintű hitelesítést és hozzáférés-vezérlést biztosít. A Spring Security például jól integrálható az Active Directoryval.
Spring Cloud
A Spring Cloud elosztott rendszerekhez használatos. A Spring Cloud része a szolgáltatás-felderítés, a konfigurációkezelés, a monitorozás és a jó fejlesztői élmény.
Spring Batch
A Spring Batch egyszerűsített keretrendszer a mindennapi működéshez nélkülözhetetlen, robusztus kötegelt alkalmazásokhoz.
A MicroProfile és a Jakarta EE
A MicroProfile és a Jakarta Enterprise Edition (EE) a Java EE specifikációinak nyílt forráskódú utódjaként tekinthető.
A MicroProfile mikroszolgáltatás-architektúrákra vonatkozó specifikációk halmaza. Saját megfogalmazásával a nagyvállalati Java mikroszolgáltatás-architektúrára optimalizálásának nyílt fóruma. A MicroProfile célja több implementáció megújítása és a közös érdeklődési területeken való együttműködés.
A Jakarta EE nagyvállalati alkalmazások készítésére vonatkozó specifikációk halmaza. Moduláris struktúrájának köszönhetően a fejlesztők hatékony szoftvermegoldásokat hozhatnak létre. A Jakarta Enterprise kiadás-alkalmazásokat EAR- vagy WAR-fájlként is csomagolhatja.
A WebProfile a Jakarta Enterprise kiadás egy részhalmaza a webes fókuszú háttérszolgáltatásokhoz, de ne aggódjon! Ehhez hozzáadhatja az Enterprise platform meghatározott API-jait.
Alkalmazáskiszolgálók
A Java EE-alkalmazásokat Java EE-kompatibilis alkalmazás-kiszolgálókra kell telepíteni (WebLogic, WebSphere, WildFly, GlassFish, Payara és egyebek).
Az Apache Tomcat HTTP-kiszolgáló és Java-servlettároló. Implementálja a Servlet, a Java Server Pages (JSP), a Java Expression Language és a Java WebSocket specifikációját.
Az Oracle WebLogic Server egységesített és kiterjeszthető platform nagyvállalati alkalmazások fejlesztéséhez, üzembe helyezéséhez és futtatásához. A WebLogic Server a Java EE és a Jakarta EE robusztus, kiforrott implementációját kínálja.
Red Hat JBoss Enterprise Application Platform nagyvállalati szintű biztonságot és teljesítményt nyújt helyszíni vagy virtuális implementációkhoz, vagy privát, nyilvános és hibrid felhőkben.
A WildFly a JBoss EAP-hoz készült nyílt forráskódú felső réteg. A közösségre épülő jellege miatt kitűnően alkalmas fejlesztéshez és teszteléshez.
Az IBM WebSphere Application Server (WAS) rugalmas, sok biztonsági elemmel rendelkező Java-kiszolgálói futtatókörnyezet nagyvállalati alkalmazásokhoz. Fő szempontja a nagy megbízhatóság. Támogatja a mikroszolgáltatásokat és a szabványokon alapuló programozási modelleket. Saját ütemben modernizálhat, jobban átláthatja a számítási feladatokat, elemezni tudja a nagyvállalati alkalmazásokat, és gyorsabban felkészülhet a Kubernetes használatára.
Az Open Liberty a WAS közösségalapú, nyílt forráskódú verziója.
Az Oracle GlassFishsok Java EE szabvány, köztük a Servlet és a JSP referencia-implementációja.
További keretrendszerek mikroszolgáltatás-központú architektúrákhoz
A Netty egy nem blokkoló I/O (NIO) ügyfél/kiszolgáló keretrendszer. Lehetővé teszi az olyan hálózat alkalmazások gyors és egyszerű fejlesztését, mint a protokollkiszolgálók és -ügyfelek. Sokkal egyszerűbbé és gördülékenyebbé teszi a hálózat, például a TCP és UDP-szoftvercsatorna kiszolgálók programozását. A Netty aszinkron eseményvezérelt hálózati alkalmazás-keretrendszer fenntarthatóan nagy teljesítményű protokollkiszolgálók és -ügyfelek gyors fejlesztéséhez.
A Quarkus az OpenJDK HotSpot-hoz és a GraalVM-hez igazított Kubernetes-natív Java-készlet. Quarkus egyre nagyobb lendületet kap. Vannak ugyanakkor más hasonlóan teljesítményközpontú keretrendszerek is, például a Vert.x, a Helidon, a Payara Micro és a KumuluzEE.
A Micronaut modern, JVM-alapú, teljesen felszerelt keretrendszer moduláris, egyszerűen tesztelhető mikroszolgáltatások és kiszolgáló nélküli alkalmazások készítéséhez. A Micronaut része egy függőséginjektáló és aspektusorientált programozási futtatókörnyezet, amely nem használ reflexiót. Emiatt a Micronaut-alkalmazások egyszerűbben futtathatók GraalVM-en.