- Java EE 程序設計
- 郝玉龍編著
- 1476字
- 2019-07-01 10:15:59
1.2 Java EE定義
在深入學習Java EE之前,首先要明確什么是Java EE。
1.Java EE是一個標準中間件體系結構
不要被名稱Java Platform Enterprise Edition誤導,與Java不同,Java EE是一種體系結構,而不是一門編程語言。Java是一門編程語言,可以用來編寫各種應用程序。Java EE是一個標準中間件體系結構,旨在簡化和規范分布式多層企業應用系統的開發和部署。
在Java EE出現之前,分布式多層企業應用系統的開發和部署沒有一個被普遍認可的行業標準,幾家主要的中間件開發商的產品各自為政,彼此之間缺乏兼容性,可移植性差,難以實現互操作。Java EE的出現,規范了分布式多層體系的應用開發。Java EE將企業應用程序劃分為多個不同的層,并在每一層上定義對應的組件來實現它。典型的Java EE結構的應用程序包括四層:客戶層、表示邏輯層(Web層)、業務邏輯層和企業信息系統層,如圖1-3所示。

圖1-3 Java EE多層體系結構
客戶層可以是網絡瀏覽器或者桌面應用程序。
表示邏輯層(Web層)、業務邏輯層都位于應用服務器上,它們都是由一些Java EE標準組件JSP(Java Server Page)、Servlet、EJB(Enterprise Java Beans)和Entity等來實現的,這些組件運行在實現了Java EE標準的應用服務器上,以實現特定的表示邏輯和業務邏輯。
企業信息系統層主要用于企業信息的存儲管理,主要包括數據庫系統、電子郵件系統、目錄服務系統等。Java EE應用程序組件經常需要訪問企業信息系統層來獲取所需的數據信息。
Java EE出現之前,企業應用系統的開發和部署沒有被普遍認可的行業標準。Java EE體系架構的實施可顯著地提高企業應用系統的可移植性、安全性、可伸縮性、負載平衡和可重用性。
2.Java EE是企業分布式應用開發標準集
Java EE不但定義了企業級應用的架構體系,還在此基礎上定義了企業級應用的開發標準。作為一個企業級應用開發標準集合,Java EE主要包含以下內容:
(1)Java EE規范了企業級應用組件的開發標準。Java EE定義的組件類型有Servlet、EJB、WebSocket等。Java EE標準規定了這些組件應該實現哪些接口方法。開發人員需要根據這些標準來開發相應的應用組件。
(2)Java EE規范了容器提供的服務標準。組件的運行環境稱為容器,容器通過提供標準服務來支持組件的運行。不同的組件由不同的容器來支撐運行。如JSP組件和Servlet運行在Web容器中,EJB組件運行在EJB容器中。在Java EE規范中,容器實現的標準服務有安全、事務管理、上下文和依賴注入、校驗和遠程連接等。各容器廠商需要根據服務標準來開發相應的容器產品。
(3)Java EE規范了企業信息系統的架構標準。為規范大型企業應用系統設計中的導航控制、數據校驗、數據持久化等共性問題,Java EE提出了JSF和JPA等架構,幫助程序設計人員改善應用開發的進度和質量。
Java標準制定組織(Java Community Process, JCP)領導著Java EE規范和標準的制定,開發人員可以從網址https://jcp.org/en/jsr/detail? id=366下載最新的Java EE 8規范。截至2017年10月,最新的Java EE 8規范包含了32個具體的標準。
需要強調的是,Java EE規范只是一個標準集,它不定義組件和容器的具體實現。容器由第三方廠商如Oracle、IBM來實現,通常被稱為應用服務器。而組件由開發人員根據具體的業務需求來實現,各種不同類型的組件部署在容器里,最終構成了Java EE企業應用系統。
盡管不同的廠家有不同的容器產品實現,但它們都遵循同一個Java EE規范。因此遵循Java EE標準的組件,可以自由部署在這些由不同廠商生產,但相互兼容的Java EE容器環境內。企業級系統的開發由此變得簡單高效。
說明:隨著Java EE版本的升級,它所包含的技術規范越來越多。為了降低容器廠商支持Java EE規范的難度,Java EE提出了Profile的概念。Profile是針對特定應用領域的一個技術規范子集,它剪切掉了一些很少使用的技術,使得Java EE變得更加簡潔,也便于開發商實現。目前Java EE規范中支持的唯一一個Profile是Web Profile,它用來專門支持企業Web應用的開發。例如,Apache Tomcat就是僅僅實現了Web Profile的應用服務器。
- C語言程序設計案例教程
- Python編程自學手冊
- Mastering ServiceStack
- Learning DHTMLX Suite UI
- Getting Started with Greenplum for Big Data Analytics
- Swift語言實戰精講
- Visual Basic程序設計全程指南
- 監控的藝術:云原生時代的監控框架
- 貫通Tomcat開發
- MySQL 8從零開始學(視頻教學版)
- 交互設計師成長手冊:從零開始學交互
- Elasticsearch Blueprints
- Visual Basic語言程序設計上機指導與練習(第3版)
- Dart:Scalable Application Development
- Python深度學習(第2版)