JavaEE概念介紹
這篇文章主要介紹在J2EE範例中使用的縮寫詞和概念。J2EE(Java 2 Platform, Entreprise Edition)代表Java企業版平臺。它使得模組化的Java程式可以在伺服器上部署。Java SE是一組Java核心庫,Java應用程式在其上得以執行,而J2EE是基於Java SE的。
概念綜述
在我們深入J2EE之前,先看一下綜述:
- 多層式應用(Multitier Application)——多層式應用(或者多層式架構)分成多個邏輯部分,大多在多層伺服器上實現。例如,三層應用模型:使用者和瀏覽器,應用伺服器,資料庫伺服器。其中應用伺服器和資料庫伺服器就是分別在不同的伺服器上來處理應用的請求。
- 多層式服務(Multitier Service)——以三層架構模型的服務為例,應用伺服器響應使用者的請求。資料庫伺服器響應應用伺服器的查詢求情。
- Java Bean——由一些包含私有屬性的Java類組成,對外提供get和set方法。從技術上講,這些類必須保證有一個不含引數的構造器並且實現Serializable介面。
J2EE 5的概念
- Java EE應用程式模型——這個模型描述了一個實現服務的多層架構。“什麼是服務”沒有明確的界限。事實上,服務只是一個邏輯上的概念,它的對應實體取決於應用實現的概念。例如,客戶端/伺服器模型就是一種服務。
- Java EE 服務——這是一個J2EE中三層架構的應用服務範例。它是由網頁層(服務JSP頁面)和事務層(管理企業的資料層)組成的。
- Java EE 元件——“元件”是指獨立的軟體單元,可以和其他的元件組合來建立一個應用。
- Web元件(Web Component)——web端生成的頁面或者對使用者請求的返回。代表性的有: Java Servlets, JavaServer Faces 和 Java Server Pages.
- 小程式(Applet)——一個小型的Java應用程式可以作為響應的一部分返回給使用者,使用者可以在他們的瀏覽器上執行此程式。這種小型的程式是Javascript的競爭對手。
- 客戶端程式(Application Client)——例如,一個用Java寫的桌面應用程式。
- EJB(Enterprise Java Beans)——見下文。
- Java EE 客戶端——這個概念中包含三個其他的概念:
- 網頁客戶端(Web Client)(或小型客戶端,thin client)——以前(也不是非常久以前),客戶端的請求返回的網頁會包含指令碼程式碼,這些程式碼會在應用伺服器上執行了再將執行結果返回給客戶端。這就是EE客戶端。比如,使用者可以查詢員工的資訊,並且對不同的結果按照他們喜歡的方式排列。現在,大多數開發者都不是在網頁中使用指令碼了,因為這不是個好習慣。他們更喜歡使用MVC設計原則,即禁止在網頁中使用指令碼。
- 小程式(Applet)
- 應用客戶端(Application Client)
- Java EE 伺服器通訊(Java EE Server Communication)——這是指發生在小型客戶端和應用客戶端之間在伺服器上的通訊。具有代表性的是,小型客戶端和小程式在Web層通訊,但是應用客戶端在EJB通訊。 你覺得這不夠清晰是嗎?你覺得這很麻煩是嗎?這就對了!這就是REST以及MVC設計原理現在在開發中流行的緣故。
- EJB (企業級Java Beans,Enterprise Java Beans)——這是一個邏輯概念,與傳統的Java Beans無關。它主要試圖從多重應用的後端(也就是伺服器端)來壓縮事務邏輯。其中一個它試圖解決的問題是確保資料庫中事務處理的完整性。警告:EJB有多個版本,並且3.0版本已經從早期的版本分離出來。
- JavaBean Component——Java Bean 的同義詞,主要用在JSP範例中。
- Java EE容器(Java EE Container)——這是部署組裝Java EE元件的地方(也就是應用程式伺服器)。它定義了Web容器(包含servlets和JSP),還定義了EJB容器(包含的企業級Java Bean)以及應用客戶端容器(執行獨立的應用程式)和在瀏覽器上執行的小程式容器。
- 部署描述符(Deployment Descriptor )——這是一個為打包好的應用提供部署資訊的XML檔案,點選檢視更多資訊。
- SOAP(簡單物件訪問協議,Simple Object Access Protocol)——這是一個通過網路提供的服務傳輸資訊的協議。資訊是通過XML構建的,能夠通過多個傳輸交換層,多數情況下是HTTP。SOAP是JSON和REST-like服務的競爭對手。
- WSLD(網路服務描述語言,Web Service Description Language)——它用XML檔案來描述了網路服務(名字,地點,通訊模式)。
- UDDI(通用描述、發現與整合服務,Universal Description, Discovery and Integration)——一種ebXML規範,可以線上釋出有關產品和服務的資訊。
- Java Servlet——是用Java寫的一個伺服器端小程式,可以處理使用者的HTTP請求,返回結果。
- JSP (JavaServer Page)——一種基於HTML檔案(就是一個模板)處理之後能夠生成靜態內容。可以包含指令碼程式碼的片段,以在最終生成的指令碼靜態檔案中生成。
- JSTL (JSP標準標籤庫,JavaServer Page Standard Tag Library)——一組可以模仿指令碼程式碼功能的用在JSP的標準標籤。例如,遍歷客戶端並顯示他們對應的資訊。現在,在JSP中,這樣的標籤已經已經取代了指令碼程式碼。一般用於生成需要填充資訊的頁面。
- JSF (Java Server Face)——包含JSF標籤(類似於LSTL標籤)的JSP頁面。此外,JSF允許在頁面中定義導航模組(類似於Spring web flow),包括Facelets。
- Facelets——Facelets是JSF的MVC檢視部分。它的主要功能是利用提供的資料(例如客戶端列表)將模板轉換成HTML檔案。它也可以將生成的檔案(例如HTML主體)提取出來一部分併到另一個模板中,相當於Sitemesh。
- The Java API for XML-based Web Services (Java中用來建立基於XML的Web的API,JAX-WS)——對於使用XML通訊的Web服務來說至關重要。
- The Java API for XML Binding (序列化為XML的API,JAXB)——一種可以在JavaBeans和XML檔案之間相互轉化的方式點選檢視更多資訊。
- JTA (Java事務處理API,Java Transaction API) ——劃清資料庫中上行和下行的通訊界限。
- JMS(Java資訊服務,Java Message Service)——這個API保證伺服器和應用在網路上的通訊可靠、非同步。ActiveMQ實現了JMS。
- JavaMail API——提供通過應用程式傳送郵件方式。
- JAXP(加工XML檔案的API,Java API for XML Processing)——提供了處理XML檔案的方式。
- JAXR(提供XML註冊的API,Java API for XML Registries)——一個可以註冊包含了後設資料的XML的API。
- JDBC(Java資料庫連線,Java Database Connectivity)——這個API可以使應用程式直接通過SQL通訊來訪問資料庫。
- JCA(J2EE聯結器架構,Java EE Connector Architecture)——使應用程式能和資訊系統(通常是資料庫)通訊。點選檢視更多
- JPA(Java持久化API,Java Persistence API)——這是一個在資料庫中儲存物件的ORM(物件關係表,Object/relational mapping)定義。點選檢視範例
- JNDI(Java命名和目錄介面)——一種能儲存和檢索資源或者通過名字查詢資訊的方式,點選檢視更多
- JAAS(Java鑑別與授權服務,Java Authentication and Authorization Service)——識別並控制服務許可權的一張方式。
J2EE 6的概念
在J2EE6中,大量的配置可以在原始碼中執行。
- JAX-RS——定義REST(含狀態傳輸)之類的服務的API。
- Managed Beans——一個可以執行嵌入程式碼的Java物件。在Sping框架中,這是一些新增了@Autowired註釋的物件。
- CDI(上下文和依賴注入,Contexts and Dependency Injection for Java EE)——CDI是Java EE整個下一代型別安全的依賴注入的事實上的API。在Sping框架中,應用程式可以設計應用的上下文,控制反轉(IoC)和依賴注入功能(DI)。
- Bean確認——通過設定好的規則判斷Java Beans的狀態是有效的。
- JACC(Java Authorization Contract for Containers)——在J2EE應用伺服器和特定的授權認證伺服器之間定義的一個連線的協約。
- JASPIC(Java認證服務提供者介面,Java Authentication Service Provider Interface)——這是與JACC互補認證的SPI(也就是服務API,Service API)。它定義了應用程式如何通過傳統的認證服務。
總體上說,J2EE和Spring框架慢慢的朝著一個相同的方向發展。
原文連結: javacodegeeks 翻譯: ImportNew - 賴 信濤
相關文章
- Spark概念介紹Spark
- Oracle RAC 概念介紹Oracle
- 初學JavaEE,求前輩介紹點資料Java
- TypeScript Mixins 概念介紹TypeScript
- Vue 關鍵概念介紹Vue
- javascript閉包概念介紹JavaScript
- RecyclerView 介紹 02 – 重要概念View
- 嵌入式概念介紹
- Oracle cluster table(1)_概念介紹Oracle
- Nginx 教程:基本概念介紹Nginx
- mysql中SQL的概念介紹MySql
- Redux的簡單概念介紹Redux
- Java之Spring Cloud概念介紹JavaSpringCloud
- javascript遞迴概念簡單介紹JavaScript遞迴
- 數字簽名相關概念介紹
- oracle goldengate 相關概念介紹OracleGo
- Spark Streaming基礎概念介紹Spark
- 數值分析1 - 誤差概念介紹
- 《AOP挖掘記》概念介紹及原理初探(一)
- Spring基礎只是—AOP的概念介紹Spring
- web應用防火牆概念及功能介紹!Web防火牆
- Quartz.Net 主要概念介紹和吐槽quartz
- javascript中的閉包概念簡單介紹JavaScript
- 介紹ORACLE DATA GUARD——DATA GUARD概念和管理Oracle
- 四種JavaEE架構簡介Java架構
- 微服務架構 SpringCloud - 元件和概念介紹微服務架構SpringGCCloud元件
- 介紹一下Spring Cloud Stream主要概念SpringCloud
- Java集合框架的概念以及常用介面的介紹Java框架
- 大資料以及Hadoop相關概念介紹大資料Hadoop
- 微課sql最佳化(1)、基礎概念介紹SQL
- IOC和DI的概念,以及Spring框架的介紹Spring框架
- Redux 包教包會(一):介紹 Redux 三大核心概念Redux
- 【Kubernetes系列】第2篇 基礎概念介紹
- javascript物件導向程式設計概念簡單介紹JavaScript物件程式設計
- CGI FastCGI PHP-CGI與PHP-FPM概念介紹ASTPHP
- 關於什麼是jsonp概念簡單介紹JSON
- [譯]介紹 `core.async` 核心的一些概念
- 目標追蹤(Object Tracking)概念的簡要介紹Object