基于WAS的分布式軟件部署的研究與實現(xiàn)_第1頁
基于WAS的分布式軟件部署的研究與實現(xiàn)_第2頁
基于WAS的分布式軟件部署的研究與實現(xiàn)_第3頁
基于WAS的分布式軟件部署的研究與實現(xiàn)_第4頁
基于WAS的分布式軟件部署的研究與實現(xiàn)_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、浙江大學(xué)碩士學(xué)位論文 Abstract浙江大學(xué)碩士學(xué)位論文 摘要 PAGE ii = 1 * roman i 基于WAS的分布式軟件部署的研究與實現(xiàn) 摘要隨著計算機(jī)軟件產(chǎn)業(yè)的飛速發(fā)展,軟件的復(fù)雜度越來越高。然而,軟件在幫助企業(yè)提高效率的同時,也帶來了一定的負(fù)擔(dān),隨著企業(yè)規(guī)模的擴(kuò)大,復(fù)雜的部署環(huán)境的以及多變的部署需求,使得對于軟件部署的要求也越來越高?;赪AS的分布式軟件部署系統(tǒng)在這種形勢下應(yīng)運(yùn)而生,旨在為應(yīng)用程序提供一個靈活的部署方案,幫助部署管理員提高部署效率。本文首先分析了分布式軟件部署存在的問題,闡述了WebSphere Application Server對于分布式軟件部署的支持并對

2、幾種分布式軟件部署方案進(jìn)行了比較;隨后簡單介紹了Lotus Connections和Lotus Connections Installation項目以及本人在該項目中完成的工作;最后采用面向?qū)ο蠹夹g(shù),分析、設(shè)計并實現(xiàn)了基于WAS的分布式軟件部署系統(tǒng)。該系統(tǒng)具有軟件部署,節(jié)點(diǎn)通信和節(jié)點(diǎn)管理,消息管理和配置信息管理,集群同步等功能,為應(yīng)用程序的部署提供了一套完整而靈活的解決方案,滿足了企業(yè)用戶的需求,提高了部署效率,并且利用WebSphere Application Server的特性屏蔽了底層環(huán)境的差異。同時也減輕了部署人員的工作負(fù)擔(dān)。關(guān)鍵詞:軟件部署,WebSphere Application

3、 Server,集群,部署管理浙江大學(xué)碩士學(xué)位論文 Abstract = 2 * roman iiAbstractWith the rapid development of computer software industry, software complexity is increasing. Software helps the companies improve the efficiency, but it also brings in some burden. And with the expansion of the business, the difference of the

4、deployment environment, and the changing requirements, making a good needed for software deployment requirements are also increased. WAS-based distributed software deployment system came into being in this situation, it is designed to provide a flexible deployment options to help improve the efficie

5、nt of deployment. This article analyzes the problems of distributed software deployment, describes WebSphere Application Server support for distributed software deployment and compares methods of the deployment distributed software, then introduce the Lotus Connections and Lotus Connections Installa

6、tion project and what I did in that project. Finally, this article analysis, design and implementation of distributed software deployment system based on WAS with the object-oriented technology. The system has software deployment, node communication and management, message management and configurati

7、on management, cluster synchronization and so no, which provide flexible solution for the deployment of application and meet the needs of users, shield the differences of the underlying environment. Not only improve the deployment efficiency, but also reduce the workload of the deployment administra

8、tor.Key Words:Software Deployment, WebSphere Application Server, Cluster, Deployment Management 浙江大學(xué)碩士學(xué)位論文 STYLEREF 章標(biāo)題(不加入目錄內(nèi)) * MERGEFORMAT 目錄浙江大學(xué)碩士學(xué)位論文 STYLEREF 章標(biāo)題(不加入目錄內(nèi)) * MERGEFORMAT 目錄 PAGE IV PAGE IV目錄 TOC o 1-3 h z u HYPERLINK l _Toc303077193 摘要 PAGEREF _Toc303077193 h i HYPERLINK l _Toc30

9、3077194 Abstract PAGEREF _Toc303077194 h ii HYPERLINK l _Toc303077195 圖目錄 PAGEREF _Toc303077195 h III HYPERLINK l _Toc303077196 表目錄 PAGEREF _Toc303077196 h IV HYPERLINK l _Toc303077197 第1章 緒論 PAGEREF _Toc303077197 h 1 HYPERLINK l _Toc303077198 1.1 課題的背景及意義 PAGEREF _Toc303077198 h 1 HYPERLINK l _Toc3

10、03077199 1.2 現(xiàn)有的軟件部署工具 PAGEREF _Toc303077199 h 1 HYPERLINK l _Toc303077200 1.3 分布式軟件部署目前存在的問題 PAGEREF _Toc303077200 h 2 HYPERLINK l _Toc303077201 1.4 課題來源與主要研究內(nèi)容 PAGEREF _Toc303077201 h 3 HYPERLINK l _Toc303077202 1.5 本文的組織結(jié)構(gòu) PAGEREF _Toc303077202 h 4 HYPERLINK l _Toc303077203 1.6 本章小結(jié) PAGEREF _Toc3

11、03077203 h 4 HYPERLINK l _Toc303077204 第2章 相關(guān)技術(shù)綜述 PAGEREF _Toc303077204 h 5 HYPERLINK l _Toc303077205 2.1 WAS簡介 PAGEREF _Toc303077205 h 5 HYPERLINK l _Toc303077206 2.1.1 什么是Websphere Application Server PAGEREF _Toc303077206 h 5 HYPERLINK l _Toc303077207 2.1.2 WAS ND分布式網(wǎng)絡(luò)環(huán)境的相關(guān)概念 PAGEREF _Toc303077207

12、 h 6 HYPERLINK l _Toc303077208 2.1.3 WebSphere Application Server 的管理命令框架 PAGEREF _Toc303077208 h 8 HYPERLINK l _Toc303077209 2.2 JMX框架介紹 PAGEREF _Toc303077209 h 9 HYPERLINK l _Toc303077210 2.2.1 什么是JMX PAGEREF _Toc303077210 h 9 HYPERLINK l _Toc303077211 2.2.2 WebSphere Application Server的JMX實現(xiàn) PAGE

13、REF _Toc303077211 h 10 HYPERLINK l _Toc303077212 2.3 分布式軟件部署的實現(xiàn)方案 PAGEREF _Toc303077212 h 11 HYPERLINK l _Toc303077213 2.3.1 基于應(yīng)用服務(wù)器的軟件部署 PAGEREF _Toc303077213 h 11 HYPERLINK l _Toc303077214 2.3.2 智能分布式軟件部署 PAGEREF _Toc303077214 h 12 HYPERLINK l _Toc303077215 2.3.3 基于Agent的分布式軟件部署 PAGEREF _Toc303077

14、215 h 14 HYPERLINK l _Toc303077216 2.3.4 三種方案的比較 PAGEREF _Toc303077216 h 15 HYPERLINK l _Toc303077217 2.4 本章小結(jié) PAGEREF _Toc303077217 h 16 HYPERLINK l _Toc303077218 第3章 項目描述 PAGEREF _Toc303077218 h 17 HYPERLINK l _Toc303077219 3.1 Lotus Connections簡介 PAGEREF _Toc303077219 h 17 HYPERLINK l _Toc3030772

15、20 3.2 Lotus Connections Installation項目簡介 PAGEREF _Toc303077220 h 19 HYPERLINK l _Toc303077221 3.3 主要完成的工作 PAGEREF _Toc303077221 h 21 HYPERLINK l _Toc303077222 3.4 本章小結(jié) PAGEREF _Toc303077222 h 22 HYPERLINK l _Toc303077223 第4章 分布式軟件部署的需求分析 PAGEREF _Toc303077223 h 23 HYPERLINK l _Toc303077224 4.1 系統(tǒng)功能

16、需求 PAGEREF _Toc303077224 h 23 HYPERLINK l _Toc303077225 4.1.1 系統(tǒng)的功能 PAGEREF _Toc303077225 h 23 HYPERLINK l _Toc303077226 4.1.2 部署流程 PAGEREF _Toc303077226 h 23 HYPERLINK l _Toc303077227 4.1.3 系統(tǒng)狀態(tài)轉(zhuǎn)換圖 PAGEREF _Toc303077227 h 24 HYPERLINK l _Toc303077228 4.1.4 系統(tǒng)數(shù)據(jù)流圖 PAGEREF _Toc303077228 h 25 HYPERLIN

17、K l _Toc303077229 4.2 用例分析 PAGEREF _Toc303077229 h 26 HYPERLINK l _Toc303077230 4.3 系統(tǒng)性能需求 PAGEREF _Toc303077230 h 28 HYPERLINK l _Toc303077231 4.4 系統(tǒng)運(yùn)行環(huán)境需求 PAGEREF _Toc303077231 h 29 HYPERLINK l _Toc303077232 4.5 本章小結(jié) PAGEREF _Toc303077232 h 29 HYPERLINK l _Toc303077233 第5章 分布式軟件部署的設(shè)計與實現(xiàn) PAGEREF _T

18、oc303077233 h 30 HYPERLINK l _Toc303077234 5.1 分布式部署架構(gòu)設(shè)計 PAGEREF _Toc303077234 h 30 HYPERLINK l _Toc303077235 5.1.1 主要功能設(shè)計 PAGEREF _Toc303077235 h 30 HYPERLINK l _Toc303077236 5.1.2 系統(tǒng)流程分析 PAGEREF _Toc303077236 h 31 HYPERLINK l _Toc303077237 5.1.3 子系統(tǒng)的劃分 PAGEREF _Toc303077237 h 32 HYPERLINK l _Toc30

19、3077238 5.1.4 基本架構(gòu)設(shè)計 PAGEREF _Toc303077238 h 34 HYPERLINK l _Toc303077239 5.1.5 系統(tǒng)詳細(xì)設(shè)計 PAGEREF _Toc303077239 h 34 HYPERLINK l _Toc303077240 5.2 基于WAS的分布式部署的實現(xiàn) PAGEREF _Toc303077240 h 38 HYPERLINK l _Toc303077241 5.2.1 主界面的實現(xiàn) PAGEREF _Toc303077241 h 38 HYPERLINK l _Toc303077242 5.2.2 連接WAS的實現(xiàn) PAGEREF

20、 _Toc303077242 h 39 HYPERLINK l _Toc303077243 5.2.3 節(jié)點(diǎn)管理實現(xiàn) PAGEREF _Toc303077243 h 39 HYPERLINK l _Toc303077244 5.2.4 節(jié)點(diǎn)通信的實現(xiàn) PAGEREF _Toc303077244 h 42 HYPERLINK l _Toc303077245 5.2.5 消息管理實現(xiàn) PAGEREF _Toc303077245 h 44 HYPERLINK l _Toc303077246 5.2.6 集群同步的實現(xiàn) PAGEREF _Toc303077246 h 45 HYPERLINK l _T

21、oc303077247 5.2.7 部署管理實現(xiàn) PAGEREF _Toc303077247 h 48 HYPERLINK l _Toc303077248 5.2.8 配置信息管理的實現(xiàn) PAGEREF _Toc303077248 h 50 HYPERLINK l _Toc303077249 5.3 本章小結(jié) PAGEREF _Toc303077249 h 51 HYPERLINK l _Toc303077250 第6章 測試 PAGEREF _Toc303077250 h 52 HYPERLINK l _Toc303077251 6.1 測試目標(biāo) PAGEREF _Toc303077251

22、h 52 HYPERLINK l _Toc303077252 6.2 測試過程 PAGEREF _Toc303077252 h 52 HYPERLINK l _Toc303077253 6.3 測試結(jié)果及分析 PAGEREF _Toc303077253 h 54 HYPERLINK l _Toc303077254 6.4 本章小結(jié) PAGEREF _Toc303077254 h 55 HYPERLINK l _Toc303077255 第7章 總結(jié)與展望 PAGEREF _Toc303077255 h 56 HYPERLINK l _Toc303077256 7.1 總結(jié) PAGEREF _T

23、oc303077256 h 56 HYPERLINK l _Toc303077257 7.2 不足和改進(jìn) PAGEREF _Toc303077257 h 56 HYPERLINK l _Toc303077258 參考文獻(xiàn) PAGEREF _Toc303077258 h 57 HYPERLINK l _Toc303077259 作者簡歷 PAGEREF _Toc303077259 h 60 HYPERLINK l _Toc303077260 致謝 PAGEREF _Toc303077260 h 61浙江大學(xué)碩士學(xué)位論文 STYLEREF 樣式1 * MERGEFORMAT 表目錄圖目錄 TOC

24、h z c 圖 HYPERLINK l _Toc303077317 圖 2.1 集群示例 PAGEREF _Toc303077317 h 8 HYPERLINK l _Toc303077318 圖 2.2 JMX 體系結(jié)構(gòu)圖 PAGEREF _Toc303077318 h 10 HYPERLINK l _Toc303077319 圖 2.3 軟件智能部署框架 PAGEREF _Toc303077319 h 12 HYPERLINK l _Toc303077320 圖 2.4 主機(jī)網(wǎng)絡(luò)結(jié)構(gòu) PAGEREF _Toc303077320 h 14 HYPERLINK l _Toc303077321

25、圖 3.1 Lotus Connections邏輯架構(gòu) PAGEREF _Toc303077321 h 19 HYPERLINK l _Toc303077322 圖 3.2 最小的部署拓?fù)浣Y(jié)構(gòu) PAGEREF _Toc303077322 h 20 HYPERLINK l _Toc303077323 圖 3.3 典型的部署拓?fù)浣Y(jié)構(gòu) PAGEREF _Toc303077323 h 21 HYPERLINK l _Toc303077324 圖 4.1 部署流程 PAGEREF _Toc303077324 h 24 HYPERLINK l _Toc303077325 圖 4.2 系統(tǒng)狀態(tài)轉(zhuǎn)換圖 PAG

26、EREF _Toc303077325 h 25 HYPERLINK l _Toc303077326 圖 4.3 系統(tǒng)頂層數(shù)據(jù)流圖 PAGEREF _Toc303077326 h 25 HYPERLINK l _Toc303077327 圖 4.4 系統(tǒng)0層數(shù)據(jù)流圖 PAGEREF _Toc303077327 h 26 HYPERLINK l _Toc303077328 圖 4.5 系統(tǒng)主要用例圖 PAGEREF _Toc303077328 h 27 HYPERLINK l _Toc303077329 圖 5.1 系統(tǒng)功能結(jié)構(gòu)圖 PAGEREF _Toc303077329 h 31 HYPERL

27、INK l _Toc303077330 圖 5.2 系統(tǒng)的整體使用流程 PAGEREF _Toc303077330 h 32 HYPERLINK l _Toc303077331 圖 5.3 子系統(tǒng)劃分示意圖 PAGEREF _Toc303077331 h 33 HYPERLINK l _Toc303077332 圖 5.4 系統(tǒng)基本架構(gòu)示意圖 PAGEREF _Toc303077332 h 34 HYPERLINK l _Toc303077333 圖 5.5 系統(tǒng)詳細(xì)類圖 PAGEREF _Toc303077333 h 35 HYPERLINK l _Toc303077334 圖 5.6 節(jié)點(diǎn)

28、管理示意圖 PAGEREF _Toc303077334 h 40 HYPERLINK l _Toc303077335 圖 5.7 節(jié)點(diǎn)管理基本流程示意圖 PAGEREF _Toc303077335 h 40 HYPERLINK l _Toc303077336 圖 5.8 節(jié)點(diǎn)通信示意圖 PAGEREF _Toc303077336 h 43 HYPERLINK l _Toc303077337 圖 5.9 節(jié)點(diǎn)通信步驟圖 PAGEREF _Toc303077337 h 43 HYPERLINK l _Toc303077338 圖 5.10 消息管理界面示意圖 PAGEREF _Toc3030773

29、38 h 44 HYPERLINK l _Toc303077339 圖 5.11 集群同步中文件不一致示意圖 PAGEREF _Toc303077339 h 46 HYPERLINK l _Toc303077340 圖 5.12 基于細(xì)粒度的文件同步示意圖 PAGEREF _Toc303077340 h 47 HYPERLINK l _Toc303077341 圖 5.13 部署管理示意圖 PAGEREF _Toc303077341 h 48 HYPERLINK l _Toc303077342 圖 5.14 應(yīng)用程序安裝的基本流程示意圖 PAGEREF _Toc303077342 h 49表目

30、錄 TOC h z c 表 HYPERLINK l _Toc303000411 表1.1 測試結(jié)果統(tǒng)計 緒論浙江大學(xué)碩士學(xué)位論文第2章 相關(guān)技術(shù)綜述 PAGE 2 PAGE 16相關(guān)技術(shù)綜述WAS簡介什么是Websphere Application ServerIBM WebSphere Application Server (WAS)89是IBM WebSphere軟件平臺的基礎(chǔ)和面向服務(wù)的體系結(jié)構(gòu)的關(guān)鍵構(gòu)件。WebSphere Application Server提供了一個豐富的應(yīng)用程序部署環(huán)境,其中具有全套的應(yīng)用程序服務(wù),包括用于事務(wù)管理、安全性、群集、性能、可用性、連接性和可伸縮性的功

31、能。它與Java EE兼容,并為可與數(shù)據(jù)庫交互并提供動態(tài)Web內(nèi)容的Java組件、XML和Web服務(wù)提供了可移植的Web部署平臺。這意味著WebSphere Application Server為部署應(yīng)用程序、管理應(yīng)用程序資源要求、確保應(yīng)用程序的可用性、保護(hù)和與其他應(yīng)用程序及其資源要求的隔離以及監(jiān)視和保護(hù)應(yīng)用程序提供了支持。WebSphere Application Server支持四種主要的應(yīng)用程序設(shè)計模型:多層分布式業(yè)務(wù)計算,基于Web的計算,集成的企業(yè)計算,面向服務(wù)的計算。所有這些設(shè)計模型都集中于將應(yīng)用程序邏輯與基本的基礎(chǔ)設(shè)施分離;也就是說,物理拓?fù)浜蛯π畔⑾到y(tǒng)的顯式訪問與應(yīng)用程序的編程

32、模型不同。通過使用高級接口和邏輯資源引用,以及促進(jìn)通過組件中的聲明式策略來進(jìn)行服務(wù)處理,信息系統(tǒng)中的基礎(chǔ)資源使用在編程模型被抽象化了。雖然提供了控件外觀,但是WebSphere Application Server中的應(yīng)用程序容器可以基于其管理策略來將這些外觀映射到物理資源。利用WebSphere Application Server編程模型中定義的組件模型不僅可以提高程序員的工作效率,而且還使應(yīng)用程序可由WebSphere Application Server應(yīng)用服務(wù)器進(jìn)行管理?;趹?yīng)用程序所需的資源(按基礎(chǔ)計算設(shè)施的可用性和容量來測量)和基于應(yīng)用程序與企業(yè)所使用的其他應(yīng)用程序相比較而言的相

33、對要求,可以在拓?fù)渲袑?yīng)用程序組件進(jìn)行定位。WebSphere Application Server的特性10:1). 通過提供高性能來合并工作負(fù)載、基礎(chǔ)架構(gòu)和管理任務(wù),降低成本;2). 通過快速交付創(chuàng)新型應(yīng)用來提高用戶體驗;3). 使用基于開放標(biāo)準(zhǔn)的編程模型,包括Java EE 6、OSGi應(yīng)用、Web 2.0和 Mobile、Java Batch、XML、Service Component Architecture (SCA)、Communications Enabled Applications (CEA)、Session Initiation Protocol (SIP)和動態(tài)腳本,利

34、用不同的開發(fā)技能;4). 通過靈活的粒度控制獲得較高的應(yīng)用安全性;5). 集中管理分布在不同地理位置的應(yīng)用,降低管理成本;6). 通過提供行業(yè)領(lǐng)先的高質(zhì)量服務(wù),保持交易的完整性、可靠性和可伸縮性,減少系統(tǒng)停機(jī)時間;7). 通過改進(jìn)的Web服務(wù)器負(fù)載平衡和故障恢復(fù)功能,減少系統(tǒng)停機(jī)時間;8). 通過各種價格優(yōu)化方案降低成本;9). 通過提供獨(dú)一無二的向后兼容性和整合的IBM Rational Application Developer工具來最大化地提高開發(fā)效率;10). 通過重用和擴(kuò)展原有應(yīng)用和打包應(yīng)用來降低成本。WAS ND分布式網(wǎng)絡(luò)環(huán)境的相關(guān)概念單元 (Cell)單元10是整個分布式網(wǎng)絡(luò)中一

35、個或多個節(jié)點(diǎn)的邏輯分組。單元是一個配置概念,是管理員將節(jié)點(diǎn)間邏輯關(guān)聯(lián)起來的實現(xiàn)方法。管理員根據(jù)具體的業(yè)務(wù)環(huán)境,制定對其整體系統(tǒng)集成環(huán)境有意義的條件來定義和組織構(gòu)成單元的節(jié)點(diǎn)。單元保留了它每個節(jié)點(diǎn)中每臺服務(wù)器的主配置文件。同時每個節(jié)點(diǎn)和服務(wù)器也有其自己的本地配置文件。如果服務(wù)器已經(jīng)屬于單元,則對于本地節(jié)點(diǎn)或服務(wù)器配置文件的更改都是臨時的,通過在本地提交更改生效時,本地更改覆蓋單元配置,但是當(dāng)執(zhí)行單元配置文檔同步到節(jié)點(diǎn)的操作時,在單元級別上對主控服務(wù)器和主節(jié)點(diǎn)配置文件所作的更改將會替換對該節(jié)點(diǎn)所作的任何臨時更改。Deployment ManagerDeployment Manager10是管理代理

36、程序,它提供集中式管理單元中所有節(jié)點(diǎn)的可視化人機(jī)交互管理視圖。Deployment Manager為單元中所有元素提供了單一的管理控制中心點(diǎn)。每個單元都會包含一個Deployment Manager,由Deployment Manager提供管理功能來修改單元的主配置文件。在最新的WebSphere Application Server版本中還提供集群管理以及在一個或多個節(jié)點(diǎn)作用域內(nèi)進(jìn)行應(yīng)用程序服務(wù)器工作負(fù)載平衡。節(jié)點(diǎn) (Node)節(jié)點(diǎn)10是受管服務(wù)器(Server)的邏輯分組。節(jié)點(diǎn)通常與具有唯一 IP主機(jī)地址的邏輯或物理計算機(jī)系統(tǒng)對應(yīng),節(jié)點(diǎn)不能跨多臺計算機(jī)。節(jié)點(diǎn)分為受管節(jié)點(diǎn)與非受管節(jié)點(diǎn)。IB

37、M WAS ND拓?fù)渲械墓?jié)點(diǎn)可能是受管的,也可能是非受管的。受管節(jié)點(diǎn)有相應(yīng)的Node Agent進(jìn)程來管理它的配置和服務(wù)器。非受管節(jié)點(diǎn)沒有Node Agent。Node Agent表示管理單元中的節(jié)點(diǎn)并負(fù)責(zé)保持配置始終處于最新狀態(tài)。非受管節(jié)點(diǎn)對于單元來說是未知的,所以Deployment Manager無法對其進(jìn)行管理。分布式網(wǎng)絡(luò)環(huán)境中的非受管節(jié)點(diǎn)可以有服務(wù)器定義(例如Web 服務(wù)器),但不能有應(yīng)用程序服務(wù)器定義,并且非受管節(jié)點(diǎn)無法添加Node Agent,因此它不能成為受管節(jié)點(diǎn)。另外一種情況在獨(dú)立應(yīng)用程序服務(wù)器環(huán)境中,節(jié)點(diǎn)尚且沒有Node Agent,它們也可以暫時被視為非受管節(jié)點(diǎn),但是這類

38、節(jié)點(diǎn)可以通過聯(lián)合獨(dú)立應(yīng)用程序服務(wù)器而變?yōu)閱卧械氖芄芄?jié)點(diǎn)。通過調(diào)整獨(dú)立應(yīng)用程序服務(wù)器概要文件,將單獨(dú)的Server節(jié)點(diǎn)添加到單元,這個過程稱為聯(lián)合。在聯(lián)合獨(dú)立應(yīng)用程序服務(wù)器時,節(jié)點(diǎn)將自動創(chuàng)建 Node Agent,這樣該節(jié)點(diǎn)就可以被 Deployment Manager 管理1112。Node AgentNode Agent10是將管理請求路由至服務(wù)器的管理代理程序。Node Agent是服務(wù)器,是一個管理代理程序,并不涉及應(yīng)用程序服務(wù)功能。Node Agent進(jìn)程在每個受管節(jié)點(diǎn)上運(yùn)行,并專門執(zhí)行特定于節(jié)點(diǎn)的管理功能,如服務(wù)器進(jìn)程監(jiān)視、配置同步、文件傳輸和請求路由。Deployment Man

39、ager通過與Node Agent的交互完成對單元內(nèi)節(jié)點(diǎn)的控制。概要文件 (Profile)概要文件10定義一個獨(dú)立應(yīng)用程序服務(wù)器(Server)的運(yùn)行時環(huán)境,包括服務(wù)器在運(yùn)行時環(huán)境中處理的所有文件。創(chuàng)建獨(dú)立應(yīng)用程序服務(wù)器時應(yīng)該使用概要文件而不是多個產(chǎn)品安裝,這樣只需要保留一組產(chǎn)品核心文件即可,管理能力將得到極大的增強(qiáng)。不僅節(jié)省了磁盤空間,而且簡化了產(chǎn)品的更新,只需要保留一組產(chǎn)品核心文件即可。而且與完整產(chǎn)品安裝相比,創(chuàng)建新概要文件更快速,而且減少了出錯的可能性,這允許開發(fā)者創(chuàng)建單獨(dú)的產(chǎn)品概要文件以進(jìn)行開發(fā)和測試。集群 (Cluster)集群12是一起進(jìn)行管理并參與工作負(fù)載管理的多個服務(wù)器集合。

40、作為集群成員的服務(wù)器可以位于不同的主機(jī)上,與此相對的是作為同一節(jié)點(diǎn)下的服務(wù)器必須位于同一臺主機(jī)上。單元可以沒有集群,也可以有一個或多個集群。集群負(fù)責(zé)平衡服務(wù)器之間的工作負(fù)載。作為集群一部分的服務(wù)器稱為集群成員。當(dāng)在集群上安裝應(yīng)用程序時,會在每個集群成員上自動安裝此應(yīng)用程序。當(dāng)刪除集群時,也就同時刪除了該集群的成員的任何應(yīng)用程序服務(wù)器。如果希望保留要刪除的集群中的應(yīng)用程序或模塊,則應(yīng)該先將這些模塊重新映射至另一集群。圖2.1演示了一個簡單的Websphere集群拓?fù)浣Y(jié)構(gòu)。該集群中包含了三個節(jié)點(diǎn)成員,節(jié)點(diǎn)A同時包含了該集群的部署管理器。圖 STYLEREF 1 s 2. SEQ 圖 * ARABI

41、C s 1 1 集群示例WebSphere Application Server 的管理命令框架WebSphere Application Server命令框架13為開發(fā)執(zhí)行WebSphere Application Server應(yīng)用服務(wù)器管理任務(wù)的命令以及執(zhí)行該命令提供了概念和邏輯上的結(jié)構(gòu)。命令框架基于命令模式概念;命令模式將請求轉(zhuǎn)換為命令對象,該命令對象封裝請求數(shù)據(jù),之后,通過傳遞命令對象可以在各種執(zhí)行環(huán)境中執(zhí)行它。WebSphere命令框架可讓開發(fā)人員為普通但很復(fù)雜的管理任務(wù)(如配置和應(yīng)用程序管理服務(wù)功能、JMX MBean的執(zhí)行等)實現(xiàn)用戶友好和面向高級任務(wù)的命令。同時命令框架還提供基

42、本的命令管理功能,如命令注冊、命令列表和其他功能。WebSphere命令框架基礎(chǔ)結(jié)構(gòu)將命令邏輯從命令執(zhí)行環(huán)境中分離出來。這種分離為命令執(zhí)行環(huán)境中的命令用戶和命令提供程序提供了相一致的編程模式。命令框架適合兩種類型的命令:管理命令獲取一定數(shù)量的輸入?yún)?shù),并執(zhí)行該命令。任務(wù)命令由零個或多個步驟組成,除任務(wù)參數(shù)外,每個步驟還擁有自己的參數(shù)。命令定義文件包含一個或多個命令提供程序,每個命令提供程序都可以擁有一個或多個命令組。每個命令組都可以擁有一個或多個命令(管理或任務(wù)類型,或同時擁有這兩種類型)。管理命令擁有零個或多個參數(shù)。任務(wù)命令擁有零個或多個參數(shù)和零個或多個步驟。每個步驟擁有零個或多個參數(shù)。命令

43、提供程序還可以包括由另一個命令提供程序提供的任務(wù)命令的擴(kuò)展。任務(wù)命令擴(kuò)展包含添加到現(xiàn)有命令的其他步驟。JMX框架介紹什么是JMXJMX(Java Management Extensions,即Java管理擴(kuò)展)141516是用來為應(yīng)用程序植入管理功能的框架,它是一套標(biāo)準(zhǔn)的代理和服務(wù),提供了將Java資源列出到系統(tǒng)管理基礎(chǔ)結(jié)構(gòu)的標(biāo)準(zhǔn)方法。使用JMX框架,Java應(yīng)用程序服務(wù)器(例如WebSphere Application Server)可實現(xiàn)一些特定的管理功能,如列出配置設(shè)置,以及編輯設(shè)置。此外,此框架還包括可用于監(jiān)視事務(wù)(如應(yīng)用程序服務(wù)器的啟動)的通知功能,實現(xiàn)對服務(wù)程序的實時監(jiān)控等。JMX

44、的前身是 HYPERLINK /Edit.jsp?page=JMAPI o Create JMAPI JMAPI。JMX致力于解決分布式系統(tǒng)管理的問題,因此,能夠適合于各種不同的環(huán)境是非常重要的。為了能夠利用功能強(qiáng)大的Java計算環(huán)境解決這一的問題,Sun公司擴(kuò)充了 HYPERLINK /Wiki.jsp?page=Java Java基礎(chǔ)類庫,開發(fā)了專用的管理類庫。JMX有如下好處:1). 可減少對JAVA應(yīng)用實施管理的投資;2). 提供了一個可伸縮的管理框架;3). 集成現(xiàn)有的管理方案:如:WBEM、SNMP、TMN;4). 使用現(xiàn)有的標(biāo)準(zhǔn)JAVA技術(shù);5). 能使用未來的一些管理概念:如J

45、ini連接技術(shù)、通用即插即用、服務(wù)定位協(xié)議(Service Location Protocol);6). 只定義了一些可以訪問的接口。JMX體系結(jié)構(gòu)如圖2.2所示,包括三層:1). 檢測層:規(guī)定如何將資源合并到受管Bean (MBean: Managed Bean)中。 2). 代理程序?qū)樱河蒑Bean Server和代理程序組成,它們提供管理基礎(chǔ)結(jié)構(gòu)??蓪崿F(xiàn)包括監(jiān)視、事件通知、計時器服務(wù)。 3). 管理層:定義外部管理應(yīng)用程序如何根據(jù)協(xié)議、API等等與底層進(jìn)行交互。圖 STYLEREF 1 s 2. SEQ 圖 * ARABIC s 1 2 JMX 體系結(jié)構(gòu)圖WebSphere Applic

46、ation Server的JMX實現(xiàn)在WebSphere Application Server中,JMX作為應(yīng)用程序服務(wù)器的核心管理功能接口被實現(xiàn)。WebSphere Application Server包含有一個JMX代理,所有系統(tǒng)組件都被當(dāng)作MBean接受管理。WebSphere Application Server的JMX代理能夠支持兩類連接器,分別是RMI/IIOP和 SOAP/HTTP(S),該代理提供外部程序?qū)?yīng)用程序服務(wù)器資源的遠(yuǎn)程訪問能力。WAS所含的所有管理工具都使用這些JMX工具來實現(xiàn)其功能。同樣WAS自身包含的管理工具也是使用JMX接口來實現(xiàn)對應(yīng)用服務(wù)器的管理17。Web

47、Sphere集群需要管理和監(jiān)控分布在不同節(jié)點(diǎn)之上的應(yīng)用程序服務(wù)器,因此,WebSphere集群實現(xiàn)一套特別的分布式JMX架構(gòu)來實現(xiàn)對集群的管理,該分布式管理體系結(jié)構(gòu)具有以下幾個特點(diǎn)1718:首先,本地應(yīng)用服務(wù)器上的本地MBean注冊在本地的Mbean服務(wù)器上。其次,本地MBean服務(wù)器可以將消息傳遞到外部的MBean服務(wù)器,外部MBean服務(wù)器可以運(yùn)行在節(jié)點(diǎn)代理、部署管理器或者其他應(yīng)用服務(wù)器上,這些外部MBean服務(wù)器需要創(chuàng)建一個MBean代理來連接并接受來自于特定應(yīng)用服務(wù)器上的MBean服務(wù)器的消息。在節(jié)點(diǎn)代理上,節(jié)點(diǎn)內(nèi)所有應(yīng)用服務(wù)器都通過一個MBean代理接入。節(jié)點(diǎn)代理也創(chuàng)建了本地MBea

48、n服務(wù)器,用于傳送消息給上層MBean代理。 在WebSphere集群的部署管理服務(wù)器上,同樣創(chuàng)建了MBean代理,用于接收來自特定節(jié)點(diǎn)代理的消息。分布式軟件部署的實現(xiàn)方案基于應(yīng)用服務(wù)器的軟件部署應(yīng)用服務(wù)器19是當(dāng)今Internet上企業(yè)級應(yīng)用迅速發(fā)展,電子商務(wù)出現(xiàn)并快速膨脹的需求下,產(chǎn)生的一種新技術(shù)。應(yīng)用服務(wù)器以多種中間件技術(shù)為基礎(chǔ),為應(yīng)用系統(tǒng)的開發(fā)、運(yùn)行、維護(hù)提供支持,是基于構(gòu)件的軟件開發(fā)和部署的中間件平臺,為服務(wù)器端軟件構(gòu)件提供運(yùn)行環(huán)境。應(yīng)用服務(wù)器在整個中間件平臺中處于核心地位,平臺通過應(yīng)用服務(wù)器來集中解決Internet環(huán)境中服務(wù)器端構(gòu)件的開發(fā)、部署、運(yùn)行和信息交換技術(shù)。應(yīng)用服務(wù)器完全

49、不同于Web服務(wù)器,它是專門為基于大負(fù)荷高端處理的Web應(yīng)用而設(shè)計的全新的運(yùn)行環(huán)境。而Web服務(wù)器最初的設(shè)計目的中并不包括對大規(guī)模、高性能和高可靠性企業(yè)級應(yīng)用的支持。和傳統(tǒng)的分布式技術(shù)相比,應(yīng)用服務(wù)器可以提供更高的可靠性、擴(kuò)展性、穩(wěn)定性、靈活性,能輕松地為數(shù)以百萬計的用戶提供服務(wù)。任何以Internet為基礎(chǔ),以瀏覽器為主要用戶訪問手段的Internet分布式應(yīng)用都可以采用應(yīng)用服務(wù)器技術(shù)。應(yīng)用服務(wù)器屏蔽了底層的操作系統(tǒng)技術(shù)和異構(gòu)數(shù)據(jù)源的復(fù)雜度,是我們能將精力集中于系統(tǒng)業(yè)務(wù)邏輯的開發(fā),提高了軟件復(fù)用度,使得應(yīng)用層開發(fā)的復(fù)雜度保持了相對穩(wěn)定,從而簡化應(yīng)用系統(tǒng)的開發(fā)和維護(hù)。應(yīng)用服務(wù)器解決了傳統(tǒng)中間件

50、在面向Internet的Web計算環(huán)境下遇到的問題,其功能涵蓋了當(dāng)前多種主要的中間件。目前運(yùn)行在網(wǎng)絡(luò)環(huán)境中的應(yīng)用軟件正在越來越多地以應(yīng)用程序服務(wù)器為基礎(chǔ)進(jìn)行開發(fā),尤其是在電子商務(wù)、電子政務(wù)和企業(yè)應(yīng)用集成領(lǐng)域。應(yīng)用服務(wù)器是將業(yè)務(wù)邏輯從表示和數(shù)據(jù)邏輯中獨(dú)立出來,致力于處理大量業(yè)務(wù)邏輯與事務(wù)的對象或構(gòu)件,并對其進(jìn)行管理與部署,提供連接會話、均衡負(fù)載、線程池、恢復(fù)服務(wù)以及訪問控制等功能的一種軟件平臺20。通常用于大型分布式的電子商務(wù)系統(tǒng)和企業(yè)應(yīng)用的集成。應(yīng)用服務(wù)器是運(yùn)行在網(wǎng)絡(luò)環(huán)境中的系統(tǒng)軟件,支持分布式應(yīng)用程序的開發(fā)和運(yùn)行。應(yīng)用服務(wù)器以中間件技術(shù)為基礎(chǔ),為服務(wù)器端的組件提供運(yùn)行時環(huán)境、事務(wù)服務(wù)、管理服

51、務(wù)、命名服務(wù)、部署服務(wù)、通信服務(wù)和安全服務(wù)等功能21。應(yīng)用服務(wù)器的核心是構(gòu)件技術(shù)。應(yīng)用系統(tǒng)的業(yè)務(wù)邏輯層通過獨(dú)立于服務(wù)器的軟件構(gòu)件實現(xiàn),并部署在應(yīng)用服務(wù)器上,能最大程度地提高軟件移植和復(fù)用,便于服務(wù)器對構(gòu)件的統(tǒng)一管理22。智能分布式軟件部署軟件智能部署23是在對使用規(guī)范化軟件描述語言來描述軟件部署約束和組件之間的版本依賴關(guān)系的基礎(chǔ)上,結(jié)合部署目標(biāo)的軟硬件環(huán)境,自動對軟件部署過程進(jìn)行匹配和調(diào)整,在管理員最少干預(yù)的情況下,自動完成軟件部署過程。軟件智能部署框架分為兩個部分:軟件智能部署服務(wù)(Intelligent Deployment Server, IDS)和軟件部署客戶端(Deployment

52、Client, DC),如圖2.3所示。圖 STYLEREF 1 s 2. SEQ 圖 * ARABIC s 1 3 軟件智能部署框架23IDS:是安裝在服務(wù)器端的軟件,主要完成三個功能:管理軟件庫、客戶端信息庫和軟件部署規(guī)則庫。主要分為以下四個部分:1). Client Repository:客戶端信息庫。它用軟件部署客戶端的硬件和軟件信息。Client Repository中的信息與客戶端MO (Managed Object)相對應(yīng)。2). Policy Repository:策略庫。策略庫中的策略分為公共策略和客戶端策略。公共策略包括了軟件的客戶端的發(fā)現(xiàn)方法,客戶端信息的收集方法,軟件分

53、發(fā)的配置信息。客戶端策略是針對不同客戶定制的策略。3). Component Repository:構(gòu)件庫包括了軟件安裝包和軟件描述信息。4). DSM (Deployment Server Manager):部署服務(wù)器管理器。它接受管理員的輸入,調(diào)用Client Repository/Policy Repository/Component Repository進(jìn)行軟件部署過程。DC:是安裝在客戶端的軟件,主要完成三個功能:收集客戶端信息,下載分發(fā)的軟件,安裝分發(fā)的軟件。分為以下四個部分:1). ME (Monitor Executor):監(jiān)控執(zhí)行者。它用于對客戶端的軟件安裝的情況進(jìn)行監(jiān)控,即

54、時的返回軟件的安裝的情況。2). MO (Managed Object):管理對象。它用于收集客戶端的硬件和軟件信息,把這些信息變?yōu)橄鄳?yīng)的對象進(jìn)行管理。3). IE (Installation Executor):軟件安裝執(zhí)行者。它用于安裝分發(fā)的軟件。4). CM (Client Manager):客戶端管理器。它分別協(xié)調(diào)DC/ME/IE進(jìn)行工作。軟件智能部署的整個工作流程主要分為兩個部分:1) 客戶端信息的收集;2) 軟件的部署。智能軟件部署的工作流程如下所示:1) MO收集客戶端的硬件和軟件信息,通過CM把信息發(fā)送給DSM;2) DSM接受客戶端的信息并更新ClientRepository

55、;3) 管理員向DSM發(fā)送軟件部署的請求;4) 根據(jù)管理員具體的軟件部署請求,DSM查詢Compo-nentRepository中軟件描述信息和ClientRepository中客戶端軟硬件信息,調(diào)用軟件智能部署算法,生成無沖突軟件安裝序列;5) DSM查詢PolicyRepository的策略信息,根據(jù)這些策略信息把軟件安裝序列分發(fā)CM;6) CM接收到軟件安裝序列之后,調(diào)用IE對軟件進(jìn)行安裝,在安裝過程中,ME監(jiān)控整個安裝過程,并把安裝過程實時返回給DSM。基于Agent的分布式軟件部署基于Agent的分布式軟件部署24是在分布式環(huán)境下,利用在多節(jié)點(diǎn)上的Agent相互通訊和協(xié)商來對機(jī)器節(jié)點(diǎn)

56、進(jìn)行有效的整合,實現(xiàn)對分布式軟件部署中的軟件配置、軟件自動安裝、軟件部署、軟件安裝調(diào)度與性能調(diào)優(yōu)、軟件安裝過程監(jiān)控等。分布式的每個機(jī)器節(jié)點(diǎn)都會開啟一個Agent的容器(Container)。多節(jié)點(diǎn)機(jī)器的主機(jī)網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2.4所示。圖 STYLEREF 1 s 2. SEQ 圖 * ARABIC s 1 4 主機(jī)網(wǎng)絡(luò)結(jié)構(gòu)24服務(wù)器節(jié)點(diǎn)上的容器為主容器(Main Container)。主容器會自動生成兩個默認(rèn)的Agent:AMS(Agent Management System)與DF(Directory Facilitator)。AMS是用于負(fù)責(zé)和管理整個平臺的服務(wù)Agent。DF Agent是

57、負(fù)責(zé)在平臺中提供黃頁服務(wù)的Agent。主容器中還生成了用于軟件部署整個系統(tǒng)的總控服務(wù)器Agent(Server Agent),這個Agent負(fù)責(zé)控制整個系統(tǒng)的工作流程。服務(wù)器Agent向DF(Directory Facilitator)Agent注冊軟件部署的服務(wù)。在每個客戶端節(jié)點(diǎn)中也會生成各自的容器,每個容器都會向服務(wù)器端的主容器注冊,并生成客戶端各自的Client Agent。在客戶端容器注冊到主容器之后,多個Client Agent就在服務(wù)器端的容器中可見。這時Client Agent便可以跟Server Agent主動發(fā)送消息,Server Agent只能根據(jù)收到的消息進(jìn)行被動回復(fù)。要

58、讓Server Agent能夠主動的找到可以連接到的Client Agent,Client Agent必須向DF注冊相應(yīng)的軟件部署服務(wù),這樣Server Agent就可以通過DF的機(jī)制來實現(xiàn)對Client Agent的監(jiān)控,并維持多節(jié)點(diǎn)客戶端的列表來供服務(wù)器端的軟件部署模塊進(jìn)行選擇。用以上的方式實現(xiàn)了位于服務(wù)器端的Server Agent就可以與位于客戶端的多個Client Agent進(jìn)行通訊,完成多節(jié)點(diǎn)機(jī)器間的互聯(lián)與消息共享。三種方案的比較分布式軟件智能部署是在對使用規(guī)范化軟件描述語言來描述軟件部署約束和組件之間的版本依賴關(guān)系的基礎(chǔ)上,結(jié)合部署目標(biāo)的軟硬件環(huán)境,自動對軟件部署過程進(jìn)行匹配和調(diào)

59、整,在管理員最少干預(yù)的情況下,自動完成軟件部署過程。軟件智能部署具備很好的擴(kuò)展性和自動適應(yīng)性,對于分布式軟件部署后的維護(hù)、更新和擴(kuò)展非常方便,但是分布式軟件智能部署開發(fā)較為復(fù)雜,需要較多的開發(fā)時間?;贏gent的分布式軟件部署是在分布式環(huán)境下,利用在多節(jié)點(diǎn)上的Agent相互通訊和協(xié)商來對機(jī)器節(jié)點(diǎn)進(jìn)行有效的整合,具備較好的擴(kuò)展性。但是在開發(fā)的過程中,需要對Agent技術(shù)進(jìn)行詳細(xì)研究,開發(fā)成本較高,維護(hù)和更新階段也比較困難?;趹?yīng)用服務(wù)器的部署將業(yè)務(wù)邏輯從表示邏輯和數(shù)據(jù)邏輯中獨(dú)立出來,提供了負(fù)載均衡、線程同步等功能的軟件平臺。在開發(fā)的過程中,直接調(diào)用平臺的功能,實現(xiàn)比較簡單,并且便于日后的維護(hù)和

60、更新。但是基目前尚未有獨(dú)立于應(yīng)用服務(wù)器平臺的、市場化的部署工具出現(xiàn),各應(yīng)用服務(wù)器廠商仍然各行其是,其部署工具僅僅支持自己的應(yīng)用服務(wù)器平臺,不能相互通用。因此,雖然基于應(yīng)用服務(wù)器的部署不能夠與其他的應(yīng)用服務(wù)器廠商進(jìn)行兼容,但是其功能結(jié)構(gòu)良好、開發(fā)效率高并且維護(hù)方便,在本項目的開發(fā)中采取基于應(yīng)用服務(wù)器的部署方案,采用IBM WebSphere Application Server作為支撐。同時由于WebSphere Application Server很容易與IBM公司的其他軟件產(chǎn)品進(jìn)行集成,例如與WebSphere MQ集成。因此這就使得基于WebSphere Application Serve

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論