Javové technologie

Dokončeno

V této lekci rozlišujeme různé typy architektur, serverů a platforem Java.

Spring Framework

Spring Framework je aplikační architektura a kontejner IoC (Inversion of Control). Spring se historicky používá k doplnění modelu Enterprise JavaBeans (EJB). Její základní funkce jsou:

  • Injekce závislostí
  • Programování orientované na aspekt
  • Obchodní abstrakce

Spring Boot

Spring Boot běží na Spring Frameworku a má preferovanou automatickou konfiguraci. Aplikace Spring Boot běží samostatně a jsou ideální pro mikroslužby.

Spring Data

Spring Data zjednodušuje přístup k datům pro relační a nerelační databáze, architektury MapReduce a cloudové datové služby.

Spring Security

Spring Security je standard pro zabezpečení aplikací založených na Springu. Nabízí vysokou úroveň ověřování a řízení přístupu. Spring Security se například dobře integruje se službou Active Directory.

Spring Cloud

Spring Cloud se používá pro distribuované systémy. Spring Cloud se dodává se zjišťováním služeb, správou konfigurace, monitorováním a dobrým prostředím pro vývojáře.

Spring Batch

Spring Batch je zjednodušená architektura pro robustní dávkové aplikace, které jsou nezbytné pro každodenní provoz.

MicroProfile a Jakarta EE

Můžete se podívat na MicroProfile a Jakarta Enterprise Edition (EE) jako open-source pokračování specifikací Java EE.

MicroProfile je sada specifikací pro architektury mikroslužeb. Označuje se jako otevřené fórum pro optimalizaci podnikové javy pro architekturu mikroslužeb. MicroProfile má za cíl inovovat napříč několika implementacemi a spolupracovat na společných oblastech zájmu.

Jakarta EE je sada specifikací pro vytváření podnikových aplikací. Jeho modularizovaná struktura umožňuje vývojářům vytvářet efektivní softwarová řešení. Aplikace Jakarta EE můžete zabalit jako soubory EAR nebo soubory WAR.

Webový profil je podmnožinou Jakarta EE pro back-endové služby s webovým zaměřením, ale nemusíte se bát! Nad ni můžete přidat konkrétní rozhraní API podnikové platformy.

Aplikační servery

Aplikace Java EE musí být nasazené na aplikační servery kompatibilní s Java EE (Weblogic, WebSphere, WildFly, GlassFish, Payara a další).

  • Apache Tomcat je server HTTP a kontejner Java Servlet. Implementuje specifikace Servlet, Java Server Pages (JSP), Java Expression Language a Java WebSocket.

  • Oracle Weblogic Server je jednotná a rozšiřitelná platforma pro vývoj, nasazování a spouštění podnikových aplikací. Weblogic Server nabízí robustní a vyspělou implementaci Java EE a Jakarta EE.

  • Red Hat JBoss Enterprise Application Platform (JBoss EAP) poskytuje zabezpečení a výkon na podnikové úrovni pro místní i virtuální implementace nebo v privátních, veřejných nebo hybridních cloudech.

  • WildFly je open-source projekt, který je předchůdcem JBoss EAP. Tato komunitní rozmanitost je skvělá pro vývoj a testování.

  • IBM WebSphere Application Server (WAS) je flexibilní prostředí java server runtime bohaté na zabezpečení pro podnikové aplikace. Zaměřuje se na vysokou spolehlivost. Podporuje mikroslužby a programovací modely založené na standardech. Můžete modernizovat vlastním tempem, získat lepší přehled o úlohách, analyzovat podnikové aplikace a pokračovat na cestě k Kubernetes.

  • Open Liberty je opensourcová verze WAS řízená komunitou.

  • Oracle GlassFish je referenční implementace mnoha webových standardů Java EE (včetně Servletu a JSP).

Další architektury zaměřené na mikroslužby

  • Netty je neblokující rozhraní klienta/serveru (NIO). Umožňuje rychlý a snadný vývoj síťových aplikací, jako jsou protokolové servery a klienti. Výrazně zjednodušuje a zefektivňuje síťové programování, jako jsou servery soketů TCP a UDP. Netty je asynchronní síťová aplikační architektura řízená událostmi pro rychlý vývoj udržovatelných serverů a klientů s vysokým výkonem.

  • Quarkus je nativní sada Java pro Kubernetes přizpůsobená pro OpenJDK HotSpot a GraalVM. Quarkus získává větší a větší dynamiku. Mimochodem, existuje více architektur zaměřených na výkon, jako je například Vert.x, Helidon, Payara Micro a KumuluzEE.

  • Micronaut je moderní plně skládaná architektura založená na JVM pro vytváření modulárních, snadno testovatelných mikroslužeb a bezserverových aplikací. Micronaut obsahuje injektáž závislostí a runtime programování orientovaného na aspekty, který nepoužívá reflexi, což usnadňuje spouštění aplikací Micronaut na GraalVM.