部署 IBM Lotus Connections: 規劃和架構考慮

genusBIT發表於2008-08-05

本文包括 IBM Lotus Connections 部署準備中所使用的一些最常用步驟。在較高的層面上,對架構概念和可用的選擇方案進行了概述,因此可以成功規劃適合於您的企業的 Lotus Connections 部署。本文的內容適合於 I/T 架構師和 I/T 專家。

簡介

Lotus Connections 是 IBM 的新產品,引入了一套專門支援企業需求的基於 J2EE 的社會協作服務。它由五個輕量級的獨立特性組成,旨在支援業務的增量實現和應用,同時提供了一個簡單的可擴充套件整合框架,在企業進行集中部署時允許單個特性之間進行互動。

Lotus Connections 的五個功能特性包括:

  • Profiles(個人檔案)。可以快速訪問企業人員的資訊,包括使用關鍵字進行跨企業搜尋的功能,可用於識別人員的專業技能、當前專案和職責。
  • Communities(社群)。提供一種建立具有共同興趣、職責或專長領域的社群的工具,整個企業的人員都可以加入到其中。
  • Blogs(部落格)。提供 weblog 服務,個人或團體可以使用該服務來分享觀點並彼此交流。
  • Dogear(社會書籤)。提供一種工具儲存、組織、共享有價值的線上資源的書籤,並提供一種方法查詢由其他人共享的書籤。
  • Activities(活動)。提供一種方法,使個人和團體可以組織工作、計劃和儲存處理步驟以備日後重用、方便地協作日常工作。

因為 Lotus Connections 是一個新產品,很少有人知道該使用哪些步驟來規劃部署。本文的目的是給出架構概念的概要以及可以使用的選擇方案,以便成功規劃適合您的企業的 Lotus Connections 部署。

Lotus Connections 特性架構

下面將討論 Lotus Connections 特性的邏輯架構和操作架構。

特性的邏輯架構

圖 1 演示了 Lotus Connections 特性的邏輯架構。包含以下內容:

  • 用於訪問特性的客戶機
  • HTTP 傳輸和代理快取
  • J2EE 容器,託管並控制對所有 Lotus Connections 特性和資料的訪問
  • 供特性使用的後端系統,用於驗證、資料儲存以及與外部訊息傳遞系統的整合

圖 1. Lotus Connections 邏輯架構
Lotus Connections 邏輯架構

通過一個基於 REST 協議和 Atom 標準的 API,Lotus Connections 可以通過標準 Web 埠為各種型別的客戶機提供特性服務。雖然本身提供了一些訪問特性的方法,例如瀏覽器訪問和 IBM Lotus Sametime V7.5 或 IBM Lotus Notes V8 的應用程式外掛,但 API 允許客戶建立、更新、查詢並管理來自客戶定製應用程式的 Lotus Connections 資訊。

因為 Lotus Connections REST API 在結構上類似於 HTTP(HTTP 實際上就是一個基於 REST 的協議),並且使用與標準 Web 伺服器相同的傳輸層,所以特性呼叫可與標準 Web 伺服器和代理伺服器相容。

API 允許使用 POST、PUT 和 DELETE 方法(將服務資料封裝在 HTML 表單或 XML Atom 文件中)輸入和管理資訊。可以使用 GET 方法檢索資訊,並呈現為 HTML 或 XML Atom 文件,這取決於發出請求的客戶機的需求。

例如,以下 URL 展示了一個檢索使用者書籤的 Dogear REST 呼叫的兩個變數。第一個將檢索 HTML 格式的資訊;第二個將檢索 Atom 提要格式的資訊,並新增一個附加過濾器,從而僅選擇使用者書籤的子集:

http://dogear.ibm.com/html?user=Jane_Roe@us.ibm.com
http://dogear.ibm.com/atom?tag=java&user=Jane_Roe@us.ibm.com

除了由客戶機訪問的五個功能特性之外,Lotus Connections 還提供了四個額外的公共實用工具模組:

  • JMX 管理(JMX administration)。用於配置和管理 Lotus Connections 環境。大多數管理功能是由 WebSphere wsadmin 命令管理的,但其他管理功能是通過 Web 介面公開的。
  • 導航標題(Navigation header)。使所有已安裝的特效能夠互相感知,併為使用者提供一致的 Web 導航。可以進行擴充套件,從而包括與其他外部服務的連結。
  • 個人卡片(Person card)。當每個特性需要某人的基本個人檔案資訊時,顯示一致的名片資訊。需要使用 Profiles 特性。
  • 使用者目錄(User directory)。Lotus Connections 所使用的目錄的介面,用於驗證、授權和查詢特性。

Lotus Connections 還依賴於某些關鍵後端服務:

  • LDAP。為 Lotus Connections 提供驗證和授權服務,並用作 Profiles 特性所使用的個人資訊的主要資料來源。
  • 關係型資料庫。儲存 Lotus Connections 特性所需的資料庫和表。每個功能特性都有自己的資料儲存。
  • 資料整合(IBM Tivoli Directory Integrator)。從企業資料來源(例如 LDAP 目錄)中提取個人資訊,並將該資訊推到 Profiles 特性的資料庫表中。還可以通過配置將 Profiles 條目的更新推回到原始資料來源。僅用於 Profiles 特性。
  • 檔案系統。儲存服務索引和特定於服務的資料(例如上載到部落格或活動的檔案附件)。Activities 可以將 Domino 資料庫交替用於檔案附件和大物件。
  • 出站 SMTP。Lotus Connections 將使用企業已有的訊息傳遞基礎設施來傳送通知訊息。可以是能夠接受和轉發 SMTP 訊息包的任何郵件系統。

操作架構

圖 2 展示了組成 Lotus Connections 的主要部署元件。這些是滿足最低要求的元件。在某些場合下,元件可能同時位於同一個物理伺服器。例如,雖然常用的最佳部署實踐是在一個獨立於 IBM WebSphere Application Server 的物理單元上安裝 HTTP 伺服器,但是在某些低使用率的場合下,如部署伺服器或測試伺服器、小型概念證明或試驗部署等,更適合於將它們安裝在同一個物理單元上。


圖 2. Lotus Connections 操作元件
Lotus Connections 操作元件

Lotus Connections 需要使用 Microsoft Windows 或 Linux 上執行的 WebSphere Application Server V6.1 作為它的主機平臺。可以安裝單個功能性特性,或者將多個特性部署到同一個物理例項中的獨立應用伺服器上。此外,如果某個公司需要高可用性環境,或者 Lotus Connections 必須擴充套件以支援大型使用者群部署時,可以跨多個物理伺服器(它們是網路部署叢集的一部分)部署特性。

Lotus Connections 支援兩種目錄伺服器:IBM Tivoli Directory Server V6.1 和 Microsoft Active Directory 2003。即將發行的維護版本將支援其他 LDAP 目錄,如 IBM Lotus Domino 和 Sun Java System Directory Server。

可以將 Lotus Connections 資料庫託管在 IBM DB2 V9.1 或 Oracle 10g 上。在 DB2 上,每個服務的資料都儲存在獨立資料庫中。而在 Oracle 10g 上,Profiles 和 Activities 資料都儲存在獨立資料庫例項中,Blogs、Communities 和 Dogear 資料都儲存在共享單個資料庫例項的獨立表中。對於大多數部署,用於填充 Profiles 資料庫的 Tivoli Directory Integrator V6.1 應用程式與資料庫伺服器位於同一臺機器。

如前所述,某些資料儲存在檔案系統的資料庫之外,可以通過 Lotus Connections 特性進行訪問。這些檔案系統元件(如索引和檔案附件)必須儲存在 WebSphere Application Server 附帶的驅動器上。如果是在叢集式的 WebSphere Application Server 環境中進行部署,則每個叢集例項必須擁有對通用檔案伺服器或企業網路儲存裝置上檔案共享的訪問權。

Activities 特性允許使用額外的檔案儲存選項。可以配置 Activities,從而使用 Lotus Domino 伺服器託管的 Domino NSF 檔案,而不是向檔案系統編寫附件和內容。無論將 Lotus Connections 安裝在獨立環境中還是叢集環境中,都可以使用該選項。

部署架構和可伸縮性選項

Lotus Connections 支援一組非常靈活的部署場景。例如,一個企業可以僅部署一個特性,如使用 Activities 特性來支援 IBM Lotus Notes V8 的首次展示。另外,如果跨企業進行部署,公司可以選擇構建叢集環境並將多個節點分配到企業中使用率最高的特性。

測試環境和 POC 環境

圖 3 展示了最小的 Lotus Connections 部署拓撲結構,它適於低使用率場景,如公司開發部門所使用的測試系統,或有限的概念證明。


圖 3. 示例測試/概念證明的部署拓撲結構
示例測試/概念證明的部署拓撲結構

在這個拓撲結構中:

  • HTTP 伺服器與 WebSphere Application Server 並存,因此客戶機直接通過 SSL 安全通道和不安全的 HTTP 通道來訪問 Lotus Connections 伺服器。
  • HTTP 伺服器所使用的 SSL 證照可以是自簽名證照,而不是經過認證中心註冊的證照。
  • Lotus Connections/WebSphere Application Server 通過 LDAP 或 LDAPS 繫結到目錄伺服器,並通過瘦 JDBC 連線繫結到資料庫伺服器。
  • Tivoli Directory Integrator 與資料庫伺服器並存,通過 LDAP 或 LDAPS 連線到目錄伺服器,從而使用詳細的使用者資料填充 Profiles 資料庫。
  • 在大多數情況下,在向目錄新增使用者、在目錄中更新使用者或從目錄刪除使用者時,Tivoli Directory Integrator 連線可能是定期更新的單向提供。

因為每個 Lotus Connections 特性必須擁有自己的應用伺服器,所以必須在安裝之前建立這些伺服器。使用獨立的 WebSphere Application Server 時,最簡單的方法是將預設 server1 應用伺服器保留在適當位置上,用於託管 WebSphere Application Server Console,並在同一個應用伺服器配置檔案下建立新的應用伺服器例項,用於託管要安裝的特定 Lotus Connection 特性:

/AppServer/profiles//wsadmin.sh (or wsadmin.bat)
$AdminTaskcreatApplicationServer {-name }
$AdminConfig save

例如,若要設定三個伺服器來託管 Linux 伺服器上的 Activities、Profiles 和 Dogear,則使用清單 1 中所示的命令。


清單 1. 設定託管伺服器
/opt/WebSphere/AppServer/profiles/AppSrv01/wsadmin.sh
$AdminTaskcreatApplicationServer Node01 {-name ActivitiesServer}
$AdminTaskcreatApplicationServer Node01 {-name ProfilesServer}
$AdminTaskcreatApplicationServer Node01 {-name DogearServer}
$AdminConfig save

這些命令將建立三個伺服器,每個伺服器具有不同的服務埠集,並將伺服器設定儲存到 WebSphere Application Server 配置檔案的配置中。

小型生產系統

圖 4 所展示的 Lotus Connections 部署拓撲結構適合於企業中一個或所有服務的小型生產部署。依據所部署的服務和系統的使用程度,此類系統可以支援相對較大的註冊使用者群。


圖 4. 示例小型生產部署拓撲結構
示例小型生產部署拓撲結構

在這個拓撲結構中:

  • HTTP 伺服器位於自己的伺服器上,客戶機通過 SSL 安全通道和不安全的 HTTP 通道訪問伺服器。HTTP 伺服器通過 HTTP 或 HTTPS(如果需要的話)繫結到 Lotus Connections/WebSphere Application Server。
  • HTTP 伺服器的 URL 必須具有認證中心註冊的有效 SSL 證照。
  • 可以將 Tivoli Directory Integrator 配置為雙向提供,這樣包含使用者所提供的某些 Profile 更新的資料(例如行動電話號碼)可以與源目錄伺服器保持同步。
  • 如果將 Tivoli Directory Integrator 配置為幾乎實時地執行同步,則有必要將 Tivoli Directory Integrator 伺服器過程移動到獨立伺服器,從而限制資料庫伺服器上潛在的資源約束。
  • 在 Lotus Connections WebSphere Application Server 和企業的一個郵件伺服器之間配置出站 SMTP 通道,以便將來自 Activities 或 Blogs 特性的通知傳送到對此感興趣的人員。

注意:雖然該配置支援基本的產品配置,但沒有提供任何系統故障恢復冗餘,也不具備支援使用者負載增長的擴充套件能力。需要一個叢集解決方案,詳見下一節描述。

企業部署和可擴充套件選項

圖 5 所展示的 Lotus Connections 部署拓撲結構適於企業部署。該配置提供了元件冗餘,從而支援操作的高可用性和故障恢復,還提供了一種擴充套件 Lotus Connections 特性的方法,從而支援大型系統負載和併發使用者群。


圖 5. 示例企業部署拓撲結構
示例企業部署拓撲結構

在這個拓撲結構中:

  • 客戶機通過 SSL 安全通道和不安全的 HTTP 通道訪問 HTTP 代理伺服器或負載均衡器,後兩者反過來連線到 HTTP 伺服器叢集。HTTP 叢集通過 HTTP 或 HTTPS(如果需要的話)繫結到 Lotus Connections/WebSphere Application Server 叢集。
  • 使用 DNS 輪循功能,Lotus Connections 伺服器通過 LDAP 或 LDAPS 繫結到目錄叢集。
  • Lotus Connections 伺服器通過 DB2 高可用性和災難恢復(High Availability and Disaster Recovery,HADR)特性和 Oracle Real Application Clusters (RAC) 繫結到資料庫叢集。
  • Tivoli Directory Integrator 位於自己的伺服器上。它通過 JDBC 連線到資料庫叢集,並通過 LDAP 或 LDAPS 連線到目錄叢集,從而使用詳細使用者資料填充 Profiles 資料庫。此外,Tivoli Directory Integrator 還連線到公司的 HR 資料來源,獲取沒有儲存在公司 LDAP 中的關鍵企業資訊。
  • 可以將 Tivoli Directory Integrator 配置為多方向提供,這樣包含使用者所提供的某些 Profile 更新的資料可以與源目錄伺服器和 HR 系統保持同步。

Lotus Connections 最重要的效能增益之一存在於快取過程中。Lotus Connections 百分之七十的網路通訊量來自外掛和 RSS/Atom 閱讀器提要輪詢。可以由快取代理提供提要,它將從 WebSphere Application Server 清除不必要的通訊量。

對於非常大的實現以及最大的可伸縮性,需要考慮將每個 Lotus Connections 特性放置在自己的叢集中。該方法允許單個特性的擴充套件和所有五個特性的擴充套件。

例如,某企業正在實現 Activities 和 Communities,您發現 Activities 的使用率明顯高於 Communities 的使用率。可以將 Communities 託管在雙伺服器叢集上以支援冗餘,而 Activities 可能需要四伺服器叢集來支援使用者負載。

Lotus Connections 部署規劃

Lotus Connections 特性是通用的,可以對它們進行配置,從而支援各種業務需求。一個成功的 Lotus Connections 部署需要進行仔細規劃,將企業業務需求對映到部署架構中。

期望服務和使用者群統計

規劃 Lotus Connections 部署的第一步是確定需要部署哪些服務。雖然可以一次性部署所有特性,但在大多數情況下,更實際的選擇是在進行下一個特性部署之前,充分部署上一個特性並使其可使用。部署順序應根據業務需求的重要性確定。例如,在一個企業中,實現專家定位服務(如 Profiles)是比較重要的,以便支援全域性的專案人員分配;而另一個企業需要使用 Activities 的工作共享功能,從而實現跨工作組的任務管理並獲取最佳實踐過程。

另一個考慮因素是確定目標使用者群並瞭解使用者如何使用系統。有關使用者群統計的某些關鍵問題包括:

  • 希望多少使用者併發訪問特性?
  • 希望哪種特性是最活躍特性及其活躍程度?
  • 使用哪種型別的客戶機軟體訪問特性(瀏覽器、提要閱讀器、外掛元件等)?
  • 希望哪種特性是最活躍特性及其活躍程度?

瞭解關鍵的安裝和實現考慮因素也非常重要:

  • 在安裝產品之前,必須識別 Lotus Connections 的 URL 並註冊到 DNS。
  • 使用者進行身份驗證時,他們被強制進入 HTTPS 連線以保護憑證,因此 Lotus Connections URL 必須具有相關的 SSL 證照。
  • 在安裝任何 Lotus Connections 特性之前,必須啟用並配置 WebSphere Application Server 安全性,從而支援聯合儲存庫。
  • 必須定義執行服務的 WebSphere Application Server 應用伺服器,並且在安裝過程中,伺服器的 default_host HTTP 和 HTTPS 埠必須是已知的。
  • 在 Lotus Connections 伺服器上安裝單個特性之前,必須建立資料庫,並且在服務安裝過程中,必須輸入資料庫使用者憑證。
  • 需要將憑證繫結到目錄伺服器以便進行身份驗證,在安裝之前必須確定資料同步,並且必須設定正確的許可權,從而允許繫結 ID 訪問所需的全部使用者屬性和目錄模式。
  • 對於 Activities 和 Blogs 特性,在安裝特性之前,需要連線到出站 SMTP 伺服器的憑證也必須是可用的。
  • 應確定所期望的 Lotus Connections 使用者介面更改,並且定義圖片和樣式。
  • 對於 Dogear 特性,必須確定內部 IP 地址範圍,因此特效能夠區分內部書籤和外部書籤。同時,必須確保 Dogear 特效能夠訪問可以新增書籤的目標站點。
  • 對於 Blogs 特性,在安裝特性之前,應定義具有管理許可權的使用者帳戶,並且必須在安裝後立即定義 Blogs Home。

整合關鍵支援系統

在所有 Lotus Connections 特性中,實現 Profiles 所需的技術規劃是最多的。這主要是因為需要從其他資料來源預載入帶有使用者資訊的 Profiles 資料儲存。在執行初始規劃時,考慮以下關鍵問題:

  • 哪一個資料來源持有要載入到 Profiles 資料儲存的使用者資料?
  • 源資料的欄位規格是什麼(欄位名、型別、資料長度)?
  • 載入是一次性事件,還是定期將新資料來源更新推向 Profiles?如果是這樣,資料來源是否具有一個可供 Tivoli Directory Integrator 訪問的更改日誌?
  • 在 Profiles 中進行更新的使用者資料是否與它的原始資料來源同步?
  • 資料來源中是否定義了所需的企業層次,並且資訊是否一致、完整?
  • Profiles 資料中是否包含其他多媒體資訊,如使用者照片和姓名發音?如果有的話,這些媒體檔案位於什麼地方?
  • 源欄位中是否使用標準程式碼,如使用者部門或位置程式碼?如果使用了的話,用於對映這些程式碼的詳細的使用者友好資訊(如部門名稱或位置地址)位於什麼地方?
  • 個人檔案條目中顯示哪些資料欄位,其中哪些可以由使用者進行編輯?

確定並驗證使用者資料來源對於 Profiles 設定來說至關重要。通常資料來自企業的 LDAP 目錄,但是還需從其他位置(如公司的 HR 資料庫)提取一些資料。

為了加快 Profiles 使用者資料的載入速度,Lotus Connections 附帶了 Tivoli Directory Integrator V6.1 副本和一套預構建的 Tivoli Directory Integrator 裝配線(assembly line)、配置檔案和命令列指令碼。主要指令碼用於從 Tivoli Directory Server V6.1 或 Microsoft Active Directory 2003 提取使用者資訊。其他指令碼用於載入照片、使用者姓名發音的 AVI 檔案、位置程式碼的詳細資料等。

還有一些供伺服器模式下的 Tivoli Directory Integrator 使用的裝配線,在進行更改時,使用這些裝配線來輪詢並同步源 LDAP 和 Profiles 資料儲存。

如果使用者資料來源不在受支援的 LDAP 目錄中,可以構建定製裝配線來提取其他源的資料。嵌入式 TDI 聯結器允許管理員讀/寫 LDAP 目錄、關係型資料庫、檔案系統資源中的資料,也可以編寫定製指令碼,以便在將資料寫入目標系統之前對其進行解析和操作。在很多場合下,只需幾個小時即可建立並測試一個定製 TDI 裝配線。

與資料來源管理員協同工作同樣很重要,從而確保 Lotus Connections 具有正確的資料訪問許可權,並且資料來源管理員和 Lotus Connections 管理員之間對資料更新和同步達成一致。

在企業中使用 Lotus Connections

雖然 Lotus Connections 提供了一套強大的社會網路工具,但要記住任何社會網路都不能脫離人員。那種認為實現工具後,企業人員會自動使用它的想法是錯誤的。雖然企業中的一些人可能擁有使用公共社會網路工具的經驗,但其他人最初可能不會認識此類工具的價值並且不願意改變他們的常規工作方式。這非常類似於企業在使用其它協作工具時的體驗,如最初引入電子郵件或即時訊息傳遞時。

成功採用新工具需要通過一個可靠的志願者團隊在企業中推廣社會網路的使用。這個核心團隊將成為企業社會網路的推廣者並鼓勵同事使用這些工具。通過正確推廣,社會計算通常會得到傳播;它將在團隊和部門之間迅速傳播,同時展示其業務價值和對於個人的價值。

成功部署的關鍵包括:

  • 在企業中定義與社會網路相關的特定目標。
  • 確定企業中的主要貢獻者/擁護者,從而推廣使用應用程式。
  • 跟蹤貢獻者活動,設定每個人的每週實現目標。
  • 及時提供反饋和評論(如果發現有人在關注他們,這些人會更加積極地參與活動)。
  • 如果計劃進行階段性或試驗展示,那麼在企業中找到兩個小組,需要在他們之間形成誠信工作關係,不過目前這些關係並不存在。
  • 如果已經進行了安裝,則使用 Activities 來交付任務。
  • 鼓勵擁護者向企業中的其他人宣傳該產品。
  • 在早期建立指導準則。建立帶有相關書籤的 “如何入門” 活動並且實現活動內容。同時,定義併發布有關正確使用和不正確使用的指導準則。

除了支援使用者使用 Lotus Connections 之外,需要在規劃階段確定 Content and Community Manager 角色。這些角色是直接負責企業中社會網路的使用和管理的人員或小組。他們將完成以下工作:

  • 開發和管理與社會網路相關的業務規劃
  • 經常監視並報告使用情況
  • 向管理和參與者提供反饋
  • 定義和管理使用指導準則

結束語

雖然 Lotus Connections 是一個新產品,它進行了全新設計來支援從小型部門系統到企業部署的各種部署選項。它提供了一個公共 API,允許企業快速整合 Lotus Connections 特性和 IT 環境中的其他元件。經過正確設計,企業可以開發滿足業務需求的部署架構,並且有助於保證企業使用者使用該技術。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-419001/,如需轉載,請註明出處,否則將追究法律責任。

相關文章