Technologie Języka Java
W tej lekcji rozróżniamy różne typy platform Java, serwerów i platform.
Platforma Spring
Platforma Spring Framework to struktura aplikacji i kontener odwrócenia kontroli (IoC). Platforma Spring została historycznie użyta do uzupełnienia modelu Enterprise JavaBeans (EJB). Jej podstawowe funkcje to:
- Wstrzykiwanie zależności
- Programowanie zorientowane na aspekty
- Abstrakcja biznesowa
Spring Boot
Spring Boot działa na bazie Spring Framework i posiada z góry ustalone mechanizmy autokonfiguracji. Aplikacje Spring Boot działają autonomicznie i doskonale nadają się do mikrousług.
Spring Data
Platforma Spring Data upraszcza dostęp do danych dla relacyjnych i nierelacyjnych baz danych, struktur MapReduce i usług danych opartych na chmurze.
Spring Security
Spring Security to standardem zabezpieczania aplikacji opartych na platformie Spring. Oferuje wysoki poziom uwierzytelniania i kontroli dostępu. Na przykład usługa Spring Security dobrze integruje się z usługą Active Directory.
Spring Cloud
Usługa Spring Cloud jest używana w systemach rozproszonych. Usługa Spring Cloud oferuje odnajdywanie usług, zarządzanie konfiguracją, monitorowanie i dobre środowisko deweloperskie.
Spring Batch
Spring Batch to uproszczona struktura dla niezawodnych aplikacji wsadowych, które są niezbędne dla codziennych operacji.
MicroProfile i Jakarta EE
Można postrzegać MicroProfile i Jakarta Enterprise Edition (EE) jako otwarte projekty kontynuujące specyfikacje Java EE.
MicroProfile to zestaw specyfikacji architektur mikrousług. Nazywa się to otwartym forum do optymalizacji Java dla przedsiębiorstw pod kątem architektury mikrousług. Firma MicroProfile ma na celu wprowadzanie innowacji w wielu implementacjach i współpracę nad wspólnymi obszarami zainteresowania.
Jakarta EE to zestaw specyfikacji do tworzenia aplikacji dla przedsiębiorstw. Jego modularna struktura umożliwia deweloperom tworzenie wydajnych rozwiązań programowych. Aplikacje Jakarta EE można spakować jako pliki EAR lub pliki WAR.
Profil sieciowy to podzbiór Jakarta EE dla usług zaplecza, ze skupieniem na aplikacjach sieciowych, ale proszę się nie martwić! Można dodawać określone interfejsy API platformy przedsiębiorstwa na jej podstawie.
Serwery aplikacji
Aplikacje Java EE muszą być wdrażane na serwerach aplikacji zgodnych ze standardem Java EE (Weblogic, WebSphere, WildFly, GlassFish, Payara i inne).
apache Tomcat jest serwerem HTTP i kontenerem serwletu Java. Implementuje specyfikacje Servlet, Java Server Pages (JSP), Java Expression Language i Java WebSocket.
Oracle Weblogic Server to ujednolicona i rozszerzalna platforma do tworzenia, wdrażania i uruchamiania aplikacji dla przedsiębiorstw. Serwer Weblogic oferuje niezawodną, dojrzałą implementację języków Java EE i Jakarta EE.
Red Hat JBoss Enterprise Application Platform (JBoss EAP) zapewnia bezpieczeństwo i wydajność klasy korporacyjnej zarówno w przypadku implementacji lokalnych, jak i wirtualnych, lub w chmurach prywatnych, publicznych lub hybrydowych.
WildFly jest otwartoźródłowym projektem rozwijającym JBoss EAP. Ta odmiana oparta na społeczności doskonale nadaje się do programowania i testowania.
ibm WebSphere Application Server (WAS) to elastyczne, bogate w zabezpieczenia środowisko uruchomieniowe serwera Java dla aplikacji dla przedsiębiorstw. Koncentruje się na wysokiej niezawodności. Obsługuje mikrousługi i oparte na standardach modele programowania. Możesz modernizować w swoim tempie, uzyskać lepszą widoczność w zakresie obciążeń, analizować aplikacje dla przedsiębiorstw i przyspieszać przejście na platformę Kubernetes.
Open Liberty to oparta na społeczności wersja oprogramowania WAS typu open source.
Oracle GlassFish to implementacja referencyjna wielu standardów internetowych Java EE (w tym Servlet i JSP).
Inne struktury architektur zorientowanych na mikrousługi
Netty to nieblokująca struktura klient-serwer we/wy (NIO). Umożliwia szybkie i łatwe tworzenie aplikacji sieciowych, takich jak serwery protokołów i klienci. Znacznie upraszcza i usprawnia programowanie sieci, takie jak serwery gniazd TCP i UDP. Netty to asynchroniczna, oparta na zdarzeniach struktura aplikacji sieciowych umożliwiająca szybkie opracowywanie serwerów i klientów obsługujących protokoły o wysokiej wydajności.
Quarkus to natywny stos Java platformy Kubernetes dostosowany do rozwiązań OpenJDK HotSpot i GraalVM. Quarkus zyskuje coraz większy rozmach. W ten sposób istnieje więcej struktur ukierunkowanych na wydajność, takich jak Vert.x, Helidon, Payara Micro i KumuluzEE.
Micronaut to nowoczesny, oparty na JVM pełnostakowy framework do tworzenia modułowych, łatwych do testowania mikrousług i aplikacji bezserwerowych. Mikronaut oferuje iniekcję zależności i środowisko uruchomieniowe programowania zorientowane na aspekty, które nie używa odbicia, co ułatwia uruchamianie aplikacji Micronaut na maszynie GraalVM.