本節書摘來異步社群《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所示。

不同的元件邏輯上可以分為後端層、中間層和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許可證的持有者有效,用于測試他們各自的實作。