Sun Java System Communications Express 6 2004Q2 管理指南 |
第 2 章
Communications Express 簡介Sun Java System Communications Express 6 2004Q2 提供整合的網路型通訊與共同作業用戶端,可以滿足網際網路服務提供者、企業和原始設備製造商的需要。
由於 Communications Express 是網路型用戶端,所以它的三個用戶端模組 - 行事曆、通訊錄和郵件 - 必須靠 Web Server 處理存取,靠瀏覽器處理顯示。
產品功能本章包含以下各節:
高階架構
[行事曆] 與 [通訊錄] 用戶端模組部署為任何 Web 容器上的單一應用程式,並且在本指南中合稱為統一 Web 用戶端 (unified web client,UWC)。
圖 2-1 高階架構
Messenger Express 是獨立的 Web 介面郵件應用程式,它會使用 Messaging Server 的 HTTP 服務。 Messenger Express 應該與 [行事曆] 和 [通訊錄] 模組部署於相同系統上。 Messenger Express 是獨立的 Web 介面郵件應用程式,它會使用 Messaging Server 的 HTTP 服務。 Messenger Express 應該與 [行事曆] 和 [通訊錄] 模組部署於相同系統上。
UWC 以 Sun ONE 應用程式架構 JATO 為基礎。 它需要有 J2EE 相容的 Web Server 來服務為存取 UWC 所產生的 HTTP 請求。
每個使用者請求會通過專屬的應用程式控制器 servlet,由 servlet 將請求委託給適當的通訊用戶端模組,例如郵件、行事曆或通訊錄。 委託請求之前,應用程式 servlet 會為嘗試存取 UWC 的瀏覽器用戶端,檢查是否存在有效的 HTTP 階段作業。 如果不存在有效的 HTTP 階段作業,控制器 servlet 會指示請求通過驗證程序。
驗證程序由一組 Web 過濾器與一個驗證 servlet 負責處理。
- Identity Server SSO 過濾器。 它會使用 Identity Server 的單一登入機制檢查與 Sun Java System Identity Server 之間是否存在已建立的階段作業。 如果找到有效的 Identity Server 階段作業,此過濾器會為 UWC 建立 HTTP 階段作業,並將控制傳給鏈中的其他過濾器。 否則,將逕行轉移控制,不建立階段作業。
- Messaging SSO 過濾器。 它會檢查與同等的 Sun Java System 應用程式 (例如 Portal Server 或參與 Messaging SSO 機制的獨立式 Messenger Express) 之間是否存在已建立的階段作業。
- LDAP 驗證過濾器。 此過濾器用來支援可支援 Sun ONE LDAP Schema v1 的應用程式,亦可在 Identity Server SSO 和 Messaging SSO 過濾器都無法成功建立 HTTP 階段作業時使用。 此過濾器使用使用者名稱和密碼來驗證憑證是否符合為 UWC 配置的驗證 LDAP。 一旦憑證通過驗證,它就會建立 HTTP 階段作業,並將請求傳給下一個過濾器。
- 匿名存取過濾器。 如果不存在有效的階段作業,此過濾器會檢查是否有 http://host:port/?calid=calid 格式的 URL。 如果有這種格式的 URL,表示要進行匿名存取。
- 驗證 Servlet。 驗證 Servlet 會確定以上任一個 Web 過濾器是否能夠為 UWC 成功建立 HTTP 階段作業。 如果 Servlet 找不到有效的階段作業,它會將請求指到登入頁,讓使用者輸入使用者名稱和密碼。 如果 UWC 中已啟用 Identity Server,就會顯示 UWC 登入頁。
在 Identity Server 登入頁中輸入的憑證會由 Identity Server 使用配置的服務之一進行驗證。 例如,LDAP 服務。
經由 Communications Express 登入頁提交的憑證會經過驗證,以確定是否符合為 UWC 配置的驗證 LDAP。
提交憑證並通過驗證後,請求會重新在過濾器之間轉送,以便為 UWC 取得有效的 HTTP 階段作業。
一旦驗證 Servlet 確定存在有效的階段作業後,它會將請求重新指向顯示所請求之用戶端模組的應用程式控制器。
每個用戶端模組更進一步定義為 Sun ONE 應用程式架構模組,各由模組特定的控制器 servlet 負責處理。
為 UWC 定義的 JATO 模組包括:
- 基礎層模組。 所有應用程式範圍的工作 (例如,選項的檢視) 和應用程式層級的初始化都由基礎層模組處理。 這個模組的控制器 servlet 是 UWCServletBase,它負責處理所有「base」URI 的請求。所有其他模組的控制器 servlet 均繼承自這個 servlet。
- 行事曆模組。 所有屬於行事曆應用程式的檢視和模型都由這個模組處理。 這個模組的控制器 servlet 是 CalModuleServlet,它負責處理所有「calclient」URI 的請求。
- 郵件模組。 所有屬於郵件應用程式的檢視和模型都由這個模組處理。 這個模組的控制器 servlet 是 MailModuleServlet,它負責處理所有「mailclient」URI 的請求。
- 通訊錄模組。 所有屬於通訊錄應用程式的檢視和模型都由這個模組處理。 這個模組的控制器 servlet 是 ABModuleServlet,它負責處理所有「abclient」URI 的請求。
請求流程簡介
對 UWC 的請求可啟動下列階段:
初始化
UWC 會參考到使用者階段作業期間整個應用程式共用的許多物件。 這些物件的初始化可在建立新的使用者階段作業時或啟動應用程式時進行。 初始化可分類為:
應用程式初始化
所有適用於整個應用程式的物件會在應用程式範圍快取。
- 驗證與應用程式配置。 驗證與應用程式配置參數出現在 WEB-INF/config 目錄的 uwcauth.properties 與 uwcconfig.properties 中。 啟動應用程式時會載入應用程式配置詳細資訊。 第一次存取 UWC 時會使用驗證參數。
- 網域配置。 網域配置儲存在使用者的網域 LDAP 項目中,和 uwcdomainconfig.properties 檔案中。 應用程式會讀取並儲存 UWC 的每個定義網域。 然後應用程式會改為從快取記憶體取得網域配置詳細資訊,而不是每次都從 LDAP 讀取這些資訊。
- 資源束快取。 所有 i18n 字串、影像路徑和其他可本土化和可自訂的項目都會讀取一次,並暫存於快取記憶體中。
- LDAP 連線區。 應用程式啟動時會為使用者/群組 LDAP 建立連線區。 應用程式停止時則會銷毀連線區。
使用者階段作業初始化
新的使用者階段作業會進行下列初始化:
模組層級初始化
模組層級初始化是在專對模組的通用資源識別碼 (Uniform Resource Identifier,URI) 發出請求時執行。
行事曆儲存區、行事曆偏好設定和行事曆資料物件是為使用者的行事曆模組進行模組層級初始化的範例。