Java 技術
在本單元中,我們會區別不同的 Java 架構、伺服器和平台類型。
Spring Framework
Spring Framework 是一種應用程式架構及控制反轉 (IoC) 容器。 Spring 歷史上曾用來補充 Enterprise JavaBeans (EJB) 模型。 其核心功能包括:
- 相依性插入
- 剖面導向程式設計
- 商務抽象概念
Spring Boot
Spring Boot 會在 Spring Framework 上執行,並具備固定的自動設定。 Spring Boot 應用程式會獨立執行,而且非常適合微服務。
Spring Data
Spring Data 可以簡化關聯式與非關聯式資料庫的資料存取、MapReduce 架構,以及雲端式資料服務。
Spring Security
Spring Security 是用以保護 Spring 型應用程式的現存標準。 其提供高層級的驗證及存取控制。 例如,Spring Security 能與 Active Directory 完美整合。
Spring Cloud
Spring Cloud 適用於分散式系統。 Spring Cloud 隨附服務探索、設定管理、監視,以及良好的開發人員體驗。
Spring Batch
Spring Batch 是輕量型架構,適用於對每日作業而言至關重要的強固批次應用程式。
MicroProfile 和 Jakarta EE
MicroProfile 與 Jakarta Enterprise Edition (EE) 可視為 Java EE 規格的開放原始碼後續版本。
MicroProfile 是一組適用於微服務架構的規格。 其自稱為「可針對微服務架構將 Java 企業版最佳化的開放論壇」。 MicroProfile 的目標是在多個實作之間進行創新,並在感興趣的常見領域上共同作業。
Jakarta EE 是一組用於建置企業應用程式的規格。 其模組化結構可讓開發人員建立有效率的軟體解決方案。 Jakarta EE 應用程式可以封裝成 EAR 檔案或 WAR 檔案。
WebProfile 是 Jakarta EE 的子集,適用於聚焦於 Web 的後端服務,但別擔心! 您可以在其上新增適用於企業平台的特定 API。
應用程式伺服器
Java EE 應用程式必須部署到Java EE 相容應用程式伺服器 (WebLogic、WebSphere、WildFly、GlassFish、Payara 等)。
Apache Tomcat 是一種 HTTP 伺服器和 Java Servlet 容器。 其實作了 Servlet、Java Server Pages (JSP)、Java Expression Language 與 Java WebSocket 規格。
Oracle WebLogic Server 是一種統一且可延伸的平台,適用於開發、部署及執行企業應用程式。 WebLogic Server 提供強固、成熟的 Java EE 與 Jakarta EE 實作。
Red Hat JBoss Enterprise Application Platform 可為內部部署與虛擬實作或在私人、公開或混合式雲端中提供企業級安全性與效能。
WildFly 是適用於 JBoss EAP 的開放原始碼上游。 這個社群驅動的變體非常適合開發及測試。
IBM WebSphere 應用程式伺服器 (WAS) 是適用於企業應用程式之有彈性且安全性豐富的 Java 伺服器執行階段環境。 其著重於高可靠性。 其支援以微服務與標準為基礎的程式設計模型。 您可以依自己的步調現代化、在工作負載之間獲得更高的可見度、分析企業應用程式,並將您的旅程圖提升至 Kubernetes。
Open Liberty 是一種社群驅動、開放原始碼的 WAS 版本。
Oracle GlassFish 是許多 Java EE Web 標準 (包括 Servlet 與 JSP) 的參考實作。
適用於微服務導向架構的其他架構
Netty 是非封鎖性 I/O (NIO) 用戶端/伺服器架構。 其可讓您快速且輕鬆地開發網路應用程式,例如通訊協定伺服器與用戶端。 其能夠大幅簡化網路程式設計 (例如 TCP 與 UDP 通訊端伺服器) 並使其更為流暢。 Netty 是非同步事件驅動的網路應用程式架構,適用於快速開發可維護的高效能通訊協定伺服器與用戶端。
Quarkus 是一種 Kubernetes 原生 Java 堆疊,專為 OpenJDK HotSpot 和 GraalVM 量身打造。 Quarkus 的聲勢變得越來越強大。 順帶一提,還有更多以效能為焦點的架構,例如 Vert.x、Helidon、Payara Micro 與 KumuluzEE。
Micronaut 是新式 JVM 型完整堆疊架構,可用於建置模組化、容易測試的微服務與無伺服器應用程式。 Micronaut 具有相依性插入與未使用任何反映的剖面導向程式設計執行階段。 這可讓您更輕鬆地在 GraalVM 上執行 Micronaut 應用程式。