天天看點

《Java EE 7精粹》—— 1.2 可傳遞成果

本節書摘來異步社群《java ee 7精粹》一書中的第1章,第1.2節,作者:【美】arun gupta,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

java ee 7平台是遵從jcp 2.9作為jsr 342而開發的。jcp過程對每一個jsr定義了以下三個主要可傳遞成果。

描述了被提議的元件及其功能的一份正式的檔案。

對被提議的規範的二進制實作。參考實作有助于確定被提議的規範能以一個二進制形式實作,并為規範過程提供不斷的回報。

java ee的參考實作建立在glassfish社群中。

用于驗證參考實作是否符合被提議的規範的一組測試。技術相容包使多家廠商可以提供與被提議的規範相容的實作。

java ee 7包還定義了跨平台需求的平台規範,還包含以下元件的規範。

jsr 45:支援其他語言調試1.0。

jsr 52:jsp标準标簽庫(jstl)1.2。

jsr 245:jsp2.3。

jsr 340:servlet3.1。

jsr 341:表達式語言3.1。

jsr 344:jsf2.2。

jsr 353:處理json的java api(json -p)1.0。

jsr 356:websocket的java api 1.0。

jsr 236:java ee并發工具包1.0。

jsr 250:java平台通用注解1.2。

jsr 316:托管bean1.0。

jsr 318:攔截器1.2。

jsr 322:jca1.7。

jsr 330:java依賴注入(di)1.0。

jsr 338:jpa2.1。

jsr 343:java消息服務(jms)2.0。

jsr 345:ejb(ejb)3.2。

jsr 346:java ee的上下文和依賴注入(cdi)。

1.2.6 平台1.1

jsr 349:bean驗證1.1。

jsr 352:java平台批處理應用1.0。

jsr 907:jta1.2。

jsr 919:javamail1.5。

jsr 93:用于xml注冊的java api(jaxr)1.0(可選的java ee 7)。

jsr 101:基于xml rpc的java api(jax-rpc)1.1(可選的java ee 7)。

jsr 109:實作企業web服務1.4。

jsr 181:java平台的web服務中繼資料包2.1。

jsr 222:jaxb 2.2。

jsr 224:jax-ws 2.2。

jsr 339:jax-rs 2.0。

jsr 77:j2ee管理api1.1。

jsr 88:java ee平台應用部署api1.2(java ee 7可選)。

jsr 115:jacc1.5。

jsr 196:jaspi 1.1。

不同的元件工作在一起提供了一個內建的技術棧,如圖1-1所示。

《Java EE 7精粹》—— 1.2 可傳遞成果

不同的元件邏輯上可以分為後端層、中間層和web層三層。這僅僅是一種邏輯上的表述,可以根據應用程式的要求,将元件限定到一個不同的分層中。

jpa和jms用于提供基礎服務,比如資料庫通路和消息傳送。jca用于連接配接遺留系統。batch用于執行非互動式的,面向批量的任務。

托管beans和ejb提供了一個簡化的程式設計模型,該模型使用pojo來使用基礎服務。

cdi、攔截器(interceptors),以及通用注解(common annotations)提供的概念适用于各種各樣的元件,比如類型安全的依賴注入、使用攔截器和一組通用的注解通路橫切面關注點。并發工具包(concurrency utilities)用于在管理線程中運作任務。jta啟用的事務攔截器可用于任意的pojo。

cdi extensions允許以标準方式擴充平台,使其超越現有的能力。

web服務使用jax-rs和jax-ws、jsf、jsp和el表達式為web應用程式定義程式設計模型。web fragments天然地支援第三方web架構的自動注冊。json提供了在web層解析和生成json資料結構的方法。websocket允許建立一條雙向的、全雙工通信的tcp連接配接通道。

bean驗證(bean validation)提供了跨技術的限制聲明和驗證的标準方式。

java ee 7中删節了jax-rpc(jsr101)、jaxr(jsr93)、ejb實體bean(jsr153的一部分)和java ee application deployment(jsr88)。

java ee的參考實作建立在glassfish社群中,glassfish伺服器開源版4.0提供了完全相容java ee 7的、自由和開源的應用伺服器。

在java ee 7之前,glassfish伺服器開源版3.1.2.2提供了完全相容java ee 6的應用伺服器。它還提供具備了高可用性和帶指令行界面(cli)的集中管理平台的叢集、基于web的管理控制台和rest管理/監控api。

tck對所有java ee許可證的持有者有效,用于測試他們各自的實作。