Technologie języka Java

Ukończone

Podczas tej lekcji omówimy różnice między różnymi typami struktur, serwerów i platform języka Java.

Platforma Spring

Spring Framework to struktura aplikacji i kontener kontroli typu „Inversion of Control” (IoC). Dawniej platforma Spring używana była jako uzupełnienie modelu Enterprise JavaBeans (EJB). Jej podstawowe funkcje są następujące:

  • Wstrzykiwanie zależności
  • Programowanie zorientowane na aspekty
  • Abstrakcja biznesowa

Spring Boot

Struktura Spring Boot jest uruchamiana wraz z platformą Spring Framework i oferuje automatyczną konfigurację obejmującą sugerowane rozwiązania. Aplikacje struktury Spring Boot działają autonomicznie i są doskonałym rozwiązaniem na potrzeby 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 de facto standard zabezpieczania aplikacji opartych na platformie Spring. Zapewnia on wysoki poziom uwierzytelniania i kontroli dostępu. Na przykład Spring Security integruje się dobrze z usługą Active Directory.

Spring Cloud

Standard Spring Cloud jest używany w systemach rozproszonych. Oferuje odnajdywanie usług, zarządzanie konfiguracją, monitorowanie i dobre środowisko deweloperskie.

Spring Batch

Spring Batch to uproszczone środowisko obsługujące niezawodne aplikacje wsadowe, które są niezbędne do wykonywania codziennych operacji.

MicroProfile i Jakarta EE

Projekty MicroProfile i Jakarta Enterprise Edition (EE) można postrzegać jako rozwiązania typu open source stanowiące następców specyfikacji Java Enterprise Edition.

MicroProfile to zestaw specyfikacji dla architektur mikrousług. Są one nazywane otwartym forum optymalizowania rozwiązania Enterprise Java dla architektury mikrousług. Projekt MicroProfile ma na celu wprowadzanie innowacji w wielu implementacjach i współpracę w typowych obszarach zainteresowania.

Jakarta EE to zestaw specyfikacji używany do tworzenia aplikacji dla przedsiębiorstw. Jego modułowa struktura umożliwia deweloperom tworzenie wydajnych rozwiązań programowych. Aplikacje Jakarta EE można spakować jako pliki EAR lub pliki WAR.

WebProfile to podzbiór Dżakarta EE dla usług zaplecza z fokusem internetowym, ale nie martw się! Możesz do niego dodać określone interfejsy API platformy Enterprise.

Serwery aplikacji

Aplikacje Java EE należy wdrażać na serwerach aplikacji zgodnych z platformą Java EE (WebLogic, WebSphere, WildFly, GlassFish, Payara i innych).

  • Apache Tomcat to serwer HTTP i kontener serwletu języka Java. Wdraża specyfikacje serwletu języka Java, stron serwera JavaServer (JSP), języka wyrażeń Java i Java WebSocket.

  • Oracle Weblogic Server to ujednolicona i rozszerzalna platforma służąca do tworzenia, wdrażania i uruchamiania aplikacji dla przedsiębiorstw. Program WebLogic Server oferuje niezawodną i dojrzałą implementację rozwiązań Java EE i Jakarta EE.

  • Program Red Hat JBoss Enterprise Application Platform zapewnia bezpieczeństwo i wydajność klasy korporacyjnej we wdrożeniach lokalnych i wirtualnych oraz w chmurze prywatnej, publicznej i hybrydowej.

  • WildFly to nadrzędne rozwiązanie typu open source dla platformy JBoss EAP. Ta wersja społecznościowa jest doskonałym rozwiązaniem na potrzeby tworzenia i testowania.

  • Serwer IBM WebSphere Application Server (WAS) to elastyczne, bogate w zabezpieczenia środowisko uruchomieniowe serwera języka Java dla aplikacji dla przedsiębiorstw. Koncentruje się on na dużej niezawodności. Obsługuje on mikrousługi i modele programowania oparte na standardach. Możesz przeprowadzać modernizację we własnym tempie, zwiększać widoczność obciążeń, analizować aplikacje dla przedsiębiorstw i przenosić operacje na platformę Kubernetes.

  • Open Liberty to społecznościowa wersja open-source serwera WAS.

  • Oracle GlassFish to implementacja referencyjna wielu standardów internetowych Java EE (obejmujących serwlet i technologię JSP).

Inne struktury dla architektur zorientowanych na mikrousługi

  • Netty to struktura nieblokująca kanały wejścia-wyjścia (NIO) typu klient-serwer. Umożliwia ona szybkie i łatwe tworzenie aplikacji sieciowych, takich jak serwery i klienci protokołów. Znacznie upraszcza i usprawnia ona programowanie sieci, na przykład serwera gniazda protokołu TCP i UDP. Netty to asynchroniczna struktura aplikacji sieci oparta na zdarzeniach, która umożliwia szybkie opracowywanie serwerów i klientów protokołów o wysokiej wydajności.

  • Quarkus to natywny stos języka Java na platformie Kubernetes dostosowany do potrzeb rozwiązań OpenJDK HotSpot i GraalVM. Quarkus zyskuje coraz większy rozmach. Istnieją również inne platformy ukierunkowane na wydajność, takie jak Vert.x, Helidon, Payara Micro i KumuluzEE.

  • Micronaut to nowoczesna, oparta na wirtualnej maszynie Java, struktura pełnego stosu, która służy do tworzenia modułowych, łatwo weryfikowalnych mikrousług i aplikacji bezserwerowych. Rozwiązanie Micronaut oferuje iniekcję zależności i środowisko uruchomieniowe programowania zorientowanego na aspekty, które nie używa odbicia. Ułatwia to uruchamianie aplikacji Micronaut na maszynie wirtualnej GraalVM.