Java-technológiák
Ebben a leckében megkülönböztetjük a Java-keretrendszerek, -kiszolgálók és -platformok különböző típusait.
Spring Framework
A Spring Framework egy alkalmazás-keretrendszer és vezérlésinverzió (IoC) konténer. A Springt korábban az Enterprise JavaBeans (EJB) modell kiegészítésére használták. 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 Framework tetején fut, és véleményezett automatikus konfigurációval rendelkezik. A Spring Boot-alkalmazások önállóan futnak, és tökéletesen megfelelnek a mikroszolgáltatásoknak.
Spring Data
A Spring Data leegyszerűsíti a relációs és nem kapcsolódó 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álható. A Spring Cloud szolgáltatásfelderítést, konfigurációkezelést, monitorozást és jó fejlesztői élményt nyújt.
Spring Batch
A Spring Batch egy könnyű keretrendszer robusztus kötegelt alkalmazásokhoz, amelyek létfontosságúak a napi műveletekhez.
MicroProfile és Jakarta EE
A Java EE specifikációinak nyílt forráskódú követéseként a MicroProfile és a Jakarta Enterprise Edition (EE) tekinthető meg.
A MicroProfile a mikroszolgáltatási architektúrák specifikációinak készlete. Nyílt fórumnak nevezi magát az Enterprise Java mikroszolgáltatás-architektúrához való optimalizálásához. A MicroProfile célja, hogy több implementációban is innovációt valósítson meg, és közösen működjön együtt a közös érdeklődési körökben.
A Jakarta EE a nagyvállalati alkalmazások készítésére vonatkozó specifikációk készlete. Modularizált struktúrája lehetővé teszi a fejlesztők számára, hogy hatékony szoftvermegoldásokat hozzanak létre. A Jakarta EE-alkalmazásokat EAR- vagy WAR-fájlokként is csomagolhatja.
A webprofil a Jakarta EE egy részhalmaza, amely webes fókuszú háttérszolgáltatásokhoz készült, de ne aggódjon! A nagyvállalati platform adott API-jait is hozzáadhatja hozzá.
Alkalmazáskiszolgálók
A Java EE-alkalmazásokat Java EE-kompatibilis alkalmazáskiszolgálókon (Weblogic, WebSphere, WildFly, GlassFish, Payara és mások) kell üzembe helyezni.
Az Apache Tomcat egy HTTP-kiszolgáló és egy Java Servlet-tároló. Implementálja a Servlet, a Java Server Pages (JSP), a Java Expression Language és a Java WebSocket specifikációit.
Az Oracle Weblogic Server egy egységes és bővíthető 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.
A Red Hat JBoss Enterprise Application Platform (JBoss EAP) nagyvállalati szintű biztonságot és teljesítményt nyújt mind a helyszíni, mind a virtuális implementációkhoz, illetve privát, nyilvános vagy hibrid felhőkhöz.
A WildFly a JBoss EAP nyílt forráskódú felsőbb rétege. Ez a közösségvezérelt fajta kiválóan alkalmas fejlesztésre és tesztelésre.
Az IBM WebSphere Application Server (WAS) egy rugalmas, biztonsági szempontból gazdag Java-kiszolgálói futtatókörnyezet nagyvállalati alkalmazások számára. A nagy megbízhatóságra összpontosít. Támogatja a mikroszolgáltatásokat és a szabványokon alapuló programozási modelleket. A saját tempójában modernizálhat, nagyobb láthatóságot érhet el a számítási feladatok között, elemezheti a vállalati alkalmazásokat, és előreléphet a Kubernetes felé vezető úton.
Az Open Liberty a WAS közösségvezérelt, nyílt forráskódú verziója.
Az Oracle GlassFish számos Java EE webes szabvány (beleértve a Servletet és a JSP-t) referencia-implementációja.
Mikroszolgáltatás-orientált architektúrák egyéb keretrendszerei
A Netty egy nem blokkoló I/O -ügyfél-/kiszolgáló-keretrendszer. Lehetővé teszi a hálózati alkalmazások, például a protokollkiszolgálók és az ügyfelek gyors és egyszerű fejlesztését. Jelentősen leegyszerűsíti és racionalizálja a hálózati programozást, például a TCP- és UDP-socket szervereket. A Netty egy aszinkron, eseményvezérelt hálózati alkalmazás-keretrendszer a karbantartható, nagy teljesítményű protokollkiszolgálók és -ügyfelek gyors fejlesztéséhez.
A Quarkus egy Kubernetes-natív Java-verem, amely az OpenJDK HotSpothoz és a GraalVM-hez készült. Quarkus egyre nagyobb lendületet kap. A teljesítményközpontúbb keretrendszerek egyébként ilyenek, például a Vert.x, a Helidon, a Payara Micro és a KumuluzEE.
A Micronaut egy modern, JVM-alapú, teljes veremű keretrendszer moduláris, könnyen tesztelhető mikroszolgáltatások és kiszolgáló nélküli alkalmazások létrehozásához. A Micronaut tartalmaz egy függőséginjektálást és egy aspektusorientált programozási futtatókörnyezetet, amely nem használ tükröződést, ami megkönnyíti a Micronaut-alkalmazások számára a GraalVM-en való futtatást.