在生命週期的部署階段,將部署方案轉化為部署設計,然後在生產環境中實作、測試及建置該設計。
部署程序一般包含支援軟體解決方案所需的所有層級與所有基礎架構服務層中的軟體元件。通常支援解決方案所需的自訂開發應用程式元件 (J2EE 元件、Web 服務或其他伺服器) 及 Java ES 兩者都須部署。
部署作業可區分成兩個階段,如圖 4–1 所示:
部署設計。部署設計會視解決方案的邏輯架構與效能、可用性、安全性、延展性、服務性及其他解決方案必須滿足的服務品質需求這兩方面而有所不同。部署架構的服務品質要素在部署設計階段扮演非常重要的角色。
部署實作。部署設計的實作通常是一個反覆性的過程,其中包含硬體設定、軟體安裝及配置、開發及整合、測試以及產品建置的其他層面。
下列章節會更詳盡地探討這兩個部署程序的階段。
建立部署架構的方法如下:在符合部署方案中所指定的服務品質需求的前提下,將應用程式 (邏輯架構) 的邏輯建構區塊對應至實體運算環境。
將部署方案轉化為部署架構,如下圖所示。
此架構設計的一個面向是確定實體環境的大小 (決定電腦數目、預估處理器的能力和 RAM 需求),以符合效能、可用性、安全性以及其他服務品質的需求。確定大小後,將 Java ES 元件和應用程式元件與實體環境中的各部電腦加以對映。產生的部署架構必須將不同電腦的能力、系統基礎架構服務的特性以及總擁有成本或總可用成本的限制等等因素考慮在內。
部署方案中 Java ES 元件的數目愈大,服務品質需求愈高,也就愈加要求設計要建立在高能力電腦與高網路頻寬之上。如果硬體受到限制或者過分昂貴,您可能必須在固定成本 (硬體) 與變動成本 (人力資源需求) 之間,或是不同的服務品質需求之間有所取捨,或者您也可能必須增加設計的複雜程度。
架構設計經常以反覆的方式進行。不過,Java Enterprise System 正在開發一個參照部署架構集,將其做為部署設計的起點。
參照架構以特定的部署方案為基礎:具有特定服務品質需求的邏輯架構。在參照架構中,軟體解決方案在符合指定的服務品質需求的前提下,跨特定的實體環境來部署。在指定負載下的效能測試與部署方案開發基於相同的一組使用案例。Java ES 客戶可以使用參照架構文件,但須簽署保密切結書。
根據參照部署架構或參照架構的組合,您可以設計出第一個近似符合您的部署方案需求的部署架構。您可以調整參照架構或使用參照架構作為參照點,將您自己的部署方案與參照架構的基礎部署方案之間的差異因素考慮在內。透過這種方式,您可以評估大小設定、效能、安全性、可用性、容量與服務性需求所帶來的影響。
實作規格提供實作部署架構所需的詳細資訊。一般而言,規格會包含下列資訊:
實作規劃描述您在部署實作階段中,計劃執行各種作業的方式。這些規劃涵蓋下列作業:
硬體設定
軟體安裝、升級及遷移
系統配置及自訂
開發及整合
測試
生產建置
部署設計實作由前一節中列出並顯示於圖 4–1 中的作業組成。因為部署過程在本質上是具反覆性的,所以沒有強制規定這些作業的順序。下列各節將按通常的部署執行順序討論每個主要的部署作業。如需這些作業的詳細文件資訊,請參閱「Sun Java Enterprise System 2005Q4 文件資訊指南」以瞭解詳細資訊。
實作規格包含實體環境中的所有詳細資訊:電腦、網路設計、網路硬體包括纜線、交換器、路由器和負載平衡器、儲存裝置等等。需要將所有這些硬體設置為支援 Java ES 解決方案的平台。
部署架構與實作規格中提供的其他詳細資訊讓您瞭解哪些應用程式元件及哪些 Java ES 元件會常駐在實體環境中的每部電腦上。使用 Java ES 整合安裝程式在部署架構中的每部電腦上安裝適當的 Java ES 元件 (請參閱Java Enterprise System 整合安裝程式)。
您的安裝規劃描述安裝程式階段作業的順序和規模。不過,執行安裝時所使用的方法可能取決於下列因素:執行的是否為 Java Enterprise System 全新安裝、是否是升級先前安裝的 Java ES 元件或是否是以 Java Enterprise System 替代協力廠商元件。這些 Java ES 採用方案中的最後兩種往往需要遷移資料或應用程式程式碼來實現相容性。
您必須完成某些系統配置作業,才能讓不同的系統元件在一起運作,成為整合的系統。首先,這些作業有部份是啟動個別系統元件所需的初始配置。其次,必須將每個 Java ES 元件配置為可與做為其互動式操作基礎的那些元件通訊。
必須視每個元件的可用性解決方案,配置高可用性。需要佈建使用者,以便他們能存取各種服務;還需要設置認證與授權策略及控制 (請參閱整合式身份識別與安全性服務)。
在大部分情況下,配置作業須包含一定程度的 Java ES 元件自訂作業,才能形成完全合乎需求的功能集。例如,通常自訂 Portal Server 以提供入口網站通道、自訂 Access Manager 以執行授權作業及自訂 Messaging Server 以使用病毒檢查與反垃圾郵件篩選。
部署方案中指定的邏輯架構通常判定實作解決方案所需的自訂開發工作的範圍。
某些部署的開發規模可能相當大,需要使用在 Application Server 或 Web Server 環境中執行的 J2EE 元件從頭開發新的業務與表示服務。如果是這種情況,請建立解決方案的原型並執行概念認證測試,然後再著手進行完整的開發。
至於需要大量開發作業的解決方案,Sun Java Studio 提供用於設計分散式元件或業務服務的工具。Sun Java Studio 簡化了對 Java ES 基礎架構支援的應用程式的程式設計與測試過程。
在某些情況下,Java ES 元件可能會與舊有應用程式或協力廠商服務整合。整合可能包含資料層中的現有目錄或資料服務,或是業務服務層中的現有元件。可能需要遷移資料或應用程式程式碼,才能將 Java ES 元件與這些系統整合。
J2EE 平台提供連接器架構,該架構讓您可透過開發 J2EE 資源配接卡將現有應用程式外掛在 Application Server 環境中;Message Queue 則提供牢固的非同步訊息傳送功能來整合各種應用程式。
有時,視所需的自訂或開發作業數目的不同,您需要檢查部署架構,使用案例測試解決方案,來檢查您是否能滿足服務品質需求。
如果擁有相對少的自訂開發服務 (主要是即開即用的部署),則解決方案只需要自訂 Java ES 元件及進行系統先導測試。
但是,如果您開發了基本全新的應用程式邏輯並建立了自訂服務,測試作業可能更繁重,包含原型測試、整合測試等等。
如果在測試中暴露出部署架構存在不足,請修改架構並重新測試。透過這一反覆性的過程,最終會獲得可隨時部署到生產環境中的部署架構與實作。
生產建置涉及在生產環境中增建部署實作。此階段包括生產環境中安裝、配置與啟動分散式應用程式與基礎架構服務,佈建生產系統一般使用者,設定單次登入、存取策略以及類似物件。通常以有限的部署開始,逐漸發展至整個組織的實作。在此過程中,將進行試驗執行,在試驗中逐步加大負載,以確認系統符合服務品質需求。