Application Server 實作 Java 2 Enterprise Edition (J2EE) 1.4 技術。J2EE 平台是一組標準規格,旨在說明應用程式伺服器的應用程式元件、API,以及執行階段容器與服務。
J2EE 應用程式由 JavaServer Pages (JSP)、Java servlet 與 Enterprise JavaBeans (EJB) 模組等元件所組成。這些元件可供軟體開發人員建立大型之分散式應用程式。開發人員可將 J2EE 應用程式封裝為 Java 歸檔 (JAR) 檔案 (類似壓縮檔案),然後發行至各生產站點。管理員透過將 J2EE JAR 檔案部署在一或多個伺服器實例 (或實例叢集),可將 J2EE 應用程式安裝在 Application Server 上。
下圖說明將於以下章節討論的 J2EE 平台元件。
抱歉:目前尚未提供此圖。
每個伺服器實例包含兩個容器:Web 和 EJB。容器是指提供 J2EE 元件安全性與作業事件管理等服務的執行階段環境。Web 元件 (例如 JSP 和 servlet) 執行於 Web 容器內。Enterprise JavaBeans 執行於 EJB 容器內。
命名 - 命名與目錄服務可將物件連結至名稱。J2EE 應用程式可查找物件的 Java Naming and Directory Interface (JNDI) 名稱,以尋找物件。
安全性 - Java Authorization Contract for Containers (JACC) 是為 J2EE 容器所定義的一組安全性合約。依照用戶端的身份,容器可限制其對容器資源與服務的存取。
作業事件管理 - 作業事件是不可分割的工作單元。例如,在銀行帳戶之間轉帳是一個作業事件。作業事件管理服務用於確定作業事件是已完成或是已回復。
訊息服務 - 在個別系統上代管的應用程式可透過使用 Java™ Message Service (JMS) 交換訊息,以彼此通訊。JMS 是 J2EE 平台不可或缺的一部分,用以簡化整合異質性企業應用程式的作業。
用戶端除了可透過 HTTP、RMI/IIOP 與 JMS 存取 J2EE 1.4 應用程式外,還可以遠端 Web 服務的方式加以存取 。Web 服務的實作是使用 Java API for XML-based RPC (JAX-RPC)。J2EE 應用程式也可當作 Web 服務的用戶端,這在網路應用裡極為常見。
Web 服務描述語言 (WSDL) 是說明 Web 服務介面的 XML 格式。Web 服務用戶可動態剖析 WSDL 文件,以判斷 Web 服務所提供的作業以及執行的方式。Application Server 使用其他應用程式可透過 Java API for XML Registries (JAXR) 存取的登錄,以發行 Web 服務介面說明。
用戶端存取 J2EE 應用程式的方式有幾種。瀏覽器用戶端使用超文字傳輸協定 (HTTP) 存取 Web 應用程式。如需安全通訊,瀏覽器會採用使用安全通訊端層 (SSL) 的 HTTP 安全 (HTTPS) 通訊協定。
在應用程式用戶端容器中執行的豐富型用戶端應用程式,可使用 Object Request Broker (ORB)、遠端方法呼叫 (RMI) 與網際網路 ORB 交換協定 (IIOP),或 IIOP/SSL (安全 IIOP),直接查找及存取 Enterprise JavaBeans。它們可使用 HTTP/HTTPS、JMS 與 JAX-RPC 存取應用程式與 Web 服務,還可使用 JMS 將訊息傳送至應用程式與訊息驅動 Bean,並從之接收訊息。
符合 Web 服務互通性 (WS-I) 基本設定檔的用戶端,可存取 J2EE Web 服務。WS-I 是 J2EE 標準不可或缺的一部分,用於定義可互通的 Web 服務。它可讓使用任何支援語言編寫的用戶端,存取部署到 Application Server 上的 Web 服務。
最佳的存取機制視特定應用程式與預期流量而定。Application Server 支援可個別配置的 HTTP、HTTPS、JMS、IIOP 與 IIOP/SSL 偵聽程式。您可以為每個通訊協定設定多個偵聽程式,以增加延展性與穩定性。
J2EE 應用程式也可視作 J2EE 元件的用戶端 (例如部署在其他伺服器上的 Enterprise JavaBeans 模組),且可使用任何一種存取機制。
在 J2EE 平台上,外部系統稱為資源。例如,資料庫管理系統是 JDBC 資源。每個資源是獨一無二的,並由 Java Naming and Directory Interface (JNDI) 名稱識別。應用程式透過下列 API 與元件,存取外部系統:
Java Database Connectivity (JDBC) - 資料庫管理系統 (DBMS) 提供儲存、組織及擷取資料的能力。大多數的企業應用程式將資料儲存在關聯式資料庫中,而應用程式則透過 JDBC 存取關聯式資料庫。Application Server 包含 PointBase DBMS,可用於應用程式範例以及應用程式開發與原型設計,但是不適用於部署。Application Server 提供認證的 JDBC 驅動程式,用於連線至主要關聯式資料庫。這些驅動程式適用於部署。
Java Message Service - 訊息傳送是軟體元件或應用程式之間的通訊方法。訊息傳送用戶端透過實作 Java Messaging Service (JMS) API 的訊息傳送提供者,可將訊息傳送至任何其他用戶端,及由其處接收訊息。Application Server 包含高效能 JMS 代理程式 Sun Java System Message Queue。Application Server Platform Edition 包含免費的 Message Queue Platform Edition。Application Server Enterprise Edition 包含支援叢集與容錯移轉的 Message Queue Enterprise Edition。
J2EE 連接器 - J2EE 連接器架構可整合 J2EE 應用程式與現有的企業資訊系統 (EIS)。應用程式透過稱為連接器或資源配接卡的可移植性 J2EE 元件存取 EIS,類似於使用 JDBC 驅動程式存取 RDBMS。資源配接卡的發行形式為獨立資源配接卡歸檔 (RAR) 模組,或包含在 J2EE 應用程式歸檔中。由於是 RAR,所以部署方式類似其他 J2EE 元件。Application Server 包含與常用 EIS 整合的評估資源配接卡。
JavaMail - 透過 JavaMail API,應用程式可連線至簡易郵件傳輸協定 (SMTP) 伺服器,以傳送與接收電子郵件。