版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 上海海事大學(xué)</b></p><p> SHANGHAI MARITIME UNIVERSITY</p><p><b> 碩士學(xué)位論文</b></p><p> MASTER DISSERTATION</p><p> 學(xué)校代碼:10254</p>
2、<p> 密級:</p><p> 論文編號:</p><p> 畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明</p><p><b> 原創(chuàng)性聲明</b></p><p> 本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地
3、方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個人或集體,均已在文中作了明確的說明并表示了謝意。</p><p> 作 者 簽 名: 日 期: </p><p> 指導(dǎo)教師簽名: 日 期:
4、 </p><p><b> 使用授權(quán)說明</b></p><p> 本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)校
5、可以公布論文的部分或全部內(nèi)容。</p><p> 作者簽名: 日 期: </p><p><b> 學(xué)位論文原創(chuàng)性聲明</b></p><p> 本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何
6、其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。本人完全意識到本聲明的法律后果由本人承擔(dān)。</p><p> 作者簽名: 日期: 年 月 日</p><p> 學(xué)位論文版權(quán)使用授權(quán)書</p><p> 本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)
7、部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán) 大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。</p><p> 涉密論文按學(xué)校規(guī)定處理。</p><p> 作者簽名:日期: 年 月 日</p><p> 導(dǎo)師簽名:
8、 日期: 年 月 日</p><p><b> 指導(dǎo)教師評閱書</b></p><p><b> 評閱教師評閱書</b></p><p> 教研室(或答辯小組)及教學(xué)系意見</p><p><b> 摘 要</b></p><
9、;p> 本課題針對我國海運(yùn)行業(yè)業(yè)務(wù)面廣,業(yè)務(wù)流程變化快,數(shù)據(jù)量大,業(yè)務(wù)系統(tǒng)開發(fā)工作量大、周期長以及業(yè)務(wù)數(shù)據(jù)的共享、抽取、分析,完整性、安全性的保持及高效的事務(wù)處理等問題提出了一個切實可行的適合中小型海運(yùn)企業(yè)信息化解決方案的海運(yùn)基礎(chǔ)信息平臺CSIMS,以滿足海運(yùn)企業(yè)提高本身經(jīng)營、管理等的效率和市場競爭力的迫切需要。</p><p> 本文介紹基于.NET技術(shù)的、多層架構(gòu)的海運(yùn)基礎(chǔ)信息系統(tǒng)平臺CSIMS核心
10、框架的設(shè)計實現(xiàn)及使用的關(guān)鍵技術(shù)。通過對海運(yùn)企業(yè)主要業(yè)務(wù)流程現(xiàn)狀進(jìn)行調(diào)研建立業(yè)務(wù)模型,經(jīng)過對業(yè)務(wù)模型分析研究進(jìn)行業(yè)務(wù)重組,設(shè)計實現(xiàn)了海運(yùn)信息平臺的六個核心業(yè)務(wù)子系統(tǒng):基礎(chǔ)管理系統(tǒng)、個人事務(wù)管理系統(tǒng)、客戶關(guān)系管理系統(tǒng)、航線管理系統(tǒng)、船舶管理系統(tǒng)和決策支持系統(tǒng)。本文將著重介紹CSIMS平臺的兩個底層框架:帶來顯著開發(fā)效率提升的CSIMS ORM 持久層框架和靈活的安全框架模型的設(shè)計策略。面向?qū)ο蟮慕M件化設(shè)計思想貫穿于整個研究過程。作者參與了此
11、平臺的一個商業(yè)實例的設(shè)計和實施的全過程。</p><p> 作者研究了ADO.NET的數(shù)據(jù)訪問策略和ASP.NET技術(shù),利用.NET平臺的便利、快捷以及與XML技術(shù)的結(jié)合,設(shè)計實現(xiàn)了數(shù)據(jù)持久層框架CSIMS ORM Framework,其通過對ADO.Net的高層封裝實現(xiàn)了數(shù)據(jù)庫無關(guān)性、業(yè)務(wù)代碼和數(shù)據(jù)訪問代碼的解耦合、簡單易用等特點(diǎn),提高了代碼質(zhì)量和開發(fā)速度。接著討論對海運(yùn)企業(yè)信息安全至關(guān)重要的訪問權(quán)限控制系統(tǒng)
12、的實現(xiàn)方法和工作原理。其實現(xiàn)了基于User-Role方式和基于LDAP方式的靈活嚴(yán)謹(jǐn)?shù)臋?quán)限管理策略。</p><p> 全文共分六章。第一章為引言,介紹本課題研究背景、當(dāng)前海運(yùn)企業(yè)信息化現(xiàn)狀、系統(tǒng)平臺架構(gòu)技術(shù)的發(fā)展以及在實現(xiàn)海運(yùn)基礎(chǔ)信息平臺CSIMS中涉及到的相關(guān)技術(shù);第二章介紹了CSIMS的邏輯分層模型、總體設(shè)計框架和核心業(yè)務(wù)功能子系統(tǒng);第三章詳細(xì)介紹了CSIMS的數(shù)據(jù)持久層CSIMS OEM Framewo
13、rk的設(shè)計思想和實現(xiàn);第四章介紹了CSIMS的安全框架模型的設(shè)計策略、工作原理和實現(xiàn)方法;第五章介紹了CSIMS平臺開發(fā)設(shè)計原則;第六章對本課題的研究工作進(jìn)行了總結(jié)并指明了下一步工作方向。</p><p> 關(guān)鍵詞:.NET框架,多層架構(gòu),商業(yè)邏輯,數(shù)據(jù)持久層,組件化,安全攔截器</p><p><b> ABSTRACT</b></p><p
14、> For a shipping company, it's very quick to create a new operation and very frequent to change their current operations and normally a business operation can be done by collaborating with other departments. So t
15、hese companies need a computer system with good framework to provide rapid development ability, flexible ability, so that they can support their business operation fluently and change as demand. CSIMS Platform is a good
16、platform providing such abilities and has good technical components su</p><p> The thesis gives a brief introduction to the design methods of the .NET based and multi-tier distributed application--CSIMS arc
17、hitecture, technologies for the implementation of the system, and system function modules. After researching current shipping business procedure we built some business modules and rebuilt business flow so that it can be
18、more fluent, logical and adaptive to future development. The core business function system of CSIMS has six subsystems: basic management system, individu</p><p> The author lucubrated ADO.NET data access st
19、rategy and ASP.Net technology, and draw a schema of a data persistence framework -- CSIMS ORM Framework, which has excellent API design and performance. Besides, focused on specification of CSIMS access control system, w
20、hich provides User-Role based and LDAP based access control. </p><p> The thesis is composed of six chapters. The first chapter introduces the background of this thesis, the state of the art of enterprise a
21、pplication platform and related technologies for implementing of multi-tier distributed application; Chapter two focused on specification of CSIMS architecture, multi-tier architecture and function implementation each ti
22、er, and describing function systems; Chapter three explains the design and implementation details of .NET platform based CSIMS ORM Framework – a</p><p> Yanni Wu (Computer Application Technology)</p>
23、<p> Directed by Prof. Kangchen Shen</p><p> KEYWORDS:.NET, Multi-tier Framework, Business Logic, Data persistence, Component Model, Security interception </p><p><b> 目錄</b>
24、</p><p><b> 第一章 引言1</b></p><p> 1.1 課題研究背景1</p><p> 1.2 海運(yùn)行業(yè)信息化現(xiàn)狀及存在的問題1</p><p> 1.3 信息平臺技術(shù)的發(fā)展3</p><p> 1.3.1 平臺化軟件3</p>&
25、lt;p> 1.3.2 應(yīng)用軟件體系結(jié)構(gòu)發(fā)展4</p><p> 1.3.3 平臺軟件的設(shè)計要求5</p><p> 1.4 本課題研究的目標(biāo)與意義6</p><p> 1.5 主要的相關(guān)技術(shù)7</p><p> 1.5.1 .NET技術(shù)7</p><p> 1.5.2 ASP.
26、Net 技術(shù)及C#9</p><p> 1.5.3 ADO.NET技術(shù)10</p><p> 1.5.4 基于.NET的服務(wù)器控件技術(shù)11</p><p> 1.5.5 XML技術(shù)12</p><p> 第二章 海運(yùn)基礎(chǔ)信息平臺(CSIMS)體系結(jié)構(gòu)14</p><p> 2.1 CSIMS
27、平臺設(shè)計目標(biāo)14</p><p> 2.1.1 平臺服務(wù)不斷改進(jìn)的目標(biāo) [29] [32]14</p><p> 2.1.2 CSIMS平臺設(shè)計目標(biāo)14</p><p> 2.2 CSIMS平臺的邏輯分層結(jié)構(gòu)16</p><p> 2.2.1 分層結(jié)構(gòu)圖16</p><p> 2.2.2
28、CSIMS分層設(shè)計思想17</p><p> 2.2.3 CSIMS邏輯層面功能介紹18</p><p> 2.2.4 CSIMS平臺總體邏輯結(jié)構(gòu)21</p><p> 2.3 CSIMS 平臺系統(tǒng)功能設(shè)計實現(xiàn)22</p><p> 2.3.1 CSIMS平臺功能模塊組成22</p><p>
29、 2.3.2 基礎(chǔ)平臺管理系統(tǒng)24</p><p> 2.3.3 個人事務(wù)管理子系統(tǒng)26</p><p> 2.3.4 客戶關(guān)系管理子系統(tǒng)27</p><p> 2.3.5 航線管理子系統(tǒng)29</p><p> 2.3.6 船舶管理系統(tǒng)30</p><p> 2.3.7 決策支持系統(tǒng)
30、32</p><p> 第三章 CSIMS數(shù)據(jù)持久層設(shè)計與實現(xiàn)34</p><p> 3.1 引入CSIMS ORM Framework的原因34</p><p> 3.1.1 什么是持久層34</p><p> 3.1.2為何引入持久層34</p><p> 3.2 CSIMS ORM Fr
31、amework功能34</p><p> 3.3 CSIMS ORM Framework實現(xiàn)35</p><p> 3.3.1 整體架構(gòu)概覽:35</p><p> 3.3.2 實現(xiàn)數(shù)據(jù)庫無關(guān)37</p><p> 3.3.3 定義映射關(guān)系38</p><p> 3.3.4 體現(xiàn)映射關(guān)系
32、40</p><p> 3.3.5 讀取映射關(guān)系41</p><p> 3.3.6 核心數(shù)據(jù)處理模塊實現(xiàn)41</p><p> 3.3.7 事務(wù)管理功能44</p><p> 3.3.8 持久化數(shù)據(jù)對象高級控制功能45</p><p> 3.3.9 查詢功能實現(xiàn)46</p>
33、<p> 3.4 CSIMS ORM Framework特點(diǎn)46</p><p> 第四章 CSIMS安全控制系統(tǒng)設(shè)計和實現(xiàn)48</p><p> 4.1 權(quán)限訪問控制49</p><p> 4.2 CSIMS可插拔式安全系統(tǒng)架構(gòu)設(shè)計51</p><p> 4.2.1 Authentication模塊設(shè)計
34、53</p><p> 4.2.2 Access control模塊設(shè)計54</p><p> 4.3 CSIMS安全攔截器設(shè)計與實現(xiàn)56</p><p> 第五章 CSIMS平臺設(shè)計原則59</p><p> 5.1 CSIMS平臺設(shè)計原則59</p><p> 5.1.1 開閉原則(OC
35、P)59</p><p> 5.1.2 替換原則 (LSP)60</p><p> 5.1.3 依賴原則 (DIP)61</p><p> 5.1.4 接口分離原則(ISP)62</p><p> 第六章 結(jié)論與展望65</p><p> 本文所做的工作65</p><p
36、> 本文研究工作的意義65</p><p> 下一步研究計劃66</p><p> 系統(tǒng)的應(yīng)用前景67</p><p><b> 致謝68</b></p><p><b> 參考文獻(xiàn)69</b></p><p><b> 第一章 引言&l
37、t;/b></p><p> 1.1 課題研究背景</p><p> 科學(xué)技術(shù)的高速發(fā)展、計算機(jī)在全社會各個領(lǐng)域廣泛應(yīng)用的今天,人類已進(jìn)入信息社會的時代,一個企業(yè)能否利用計算機(jī)技術(shù)、信息網(wǎng)絡(luò)技術(shù)等現(xiàn)代化的手段服務(wù)于自身管理,幾乎決定著它是否能夠適應(yīng)當(dāng)今社會的發(fā)展。特別在中國加入WTO后,市場競爭日益激烈,如何通過現(xiàn)代的信息化技術(shù),來提高本身生產(chǎn)、管理、銷售等的效率,提高企業(yè)的競
38、爭能力,是企業(yè)刻不容緩的需求。</p><p> 海運(yùn)系統(tǒng)作為傳統(tǒng)的物流服務(wù)業(yè),隨著全球經(jīng)濟(jì)一體化趨勢的進(jìn)一步發(fā)展和電子商務(wù)時代的到來,在獲得了一個蓬勃發(fā)展機(jī)遇的同時將面臨更加殘酷的市場競爭環(huán)境.海運(yùn)企業(yè)要想在日趨激烈的市場競爭環(huán)境中存活并進(jìn)一步發(fā)展,只有對內(nèi)進(jìn)行有機(jī)整合,對外尋求強(qiáng)強(qiáng)聯(lián)合,充分發(fā)揮整體功能和規(guī)模優(yōu)勢,延伸服務(wù)內(nèi)容以提高利潤空間.而無論是”整合”還是”聯(lián)合”都強(qiáng)調(diào)資源的最佳配置和利用。這就對企業(yè)
39、的信息化建設(shè)的力度,信息化應(yīng)用水平提出了較高要求。 </p><p> 隨著市場競爭的加劇,以及合作伙伴對物流企業(yè)響應(yīng)速度、準(zhǔn)確性需求不斷提高,采用簡單的數(shù)據(jù)錄入、輸出的信息管理手段已經(jīng)無法實現(xiàn)良好的信息管理效果,物流企業(yè)的信息化已經(jīng)開始從硬件和數(shù)據(jù)庫建設(shè)為主向智能化程度更高的軟件應(yīng)用方向發(fā)展。同時,物流行業(yè)地域分布廣、信息系統(tǒng)眾多,系統(tǒng)之間互聯(lián)互通、即時共享的需求也十分明顯,因此,系統(tǒng)整合也成為了一種必然趨勢
40、。</p><p> 但是在海運(yùn)企業(yè)的實施信息化的過程中,普遍遇到異構(gòu)的軟硬件平臺、分布的數(shù)據(jù)資源與業(yè)務(wù)系統(tǒng),以及難于擴(kuò)展和適應(yīng)需求變化等問題。</p><p> 1.2 海運(yùn)行業(yè)信息化現(xiàn)狀及存在的問題</p><p> 經(jīng)過研究和實地調(diào)查,我們發(fā)現(xiàn)我國海運(yùn)行業(yè)信息化存在以下特點(diǎn)和問題 [42] [45]:</p><p> 1)我
41、國海運(yùn)行業(yè)已普遍使用計算機(jī)處理業(yè)務(wù). 公司內(nèi)部建有局域網(wǎng),通過專線與總公司或者分公司聯(lián)結(jié),并通過ADSL或者寬帶等訪問公網(wǎng)。由于公共基礎(chǔ)設(shè)施和內(nèi)部網(wǎng)的建設(shè),一般海運(yùn)企業(yè)都已具備了基本的信息處理環(huán)境 ;</p><p> 2)大部分公司已經(jīng)建設(shè)起一些滿足單項業(yè)務(wù)需要的各自獨(dú)立的應(yīng)用軟件如:船舶管理系統(tǒng),單證管理系統(tǒng),港使費(fèi)管理系統(tǒng),人事考核系統(tǒng),財務(wù)管理等業(yè)務(wù)軟件。但其中多數(shù)建立在老的平臺上,使用不便;</
42、p><p> 有些企業(yè)核心業(yè)務(wù),如航運(yùn)管理等尚未開發(fā);</p><p> 一些基本的應(yīng)用,如部門或崗位之間交換數(shù)據(jù),發(fā)送通知和電子郵件等尚不能進(jìn)行,沒有形成企業(yè)的內(nèi)部網(wǎng);</p><p> 3)大部分已實施的計算機(jī)系統(tǒng)只能做一個業(yè)務(wù)流程中一個或幾個業(yè)務(wù)環(huán)節(jié)的工作,不能完成整個業(yè)務(wù)流程;</p><p> 整個業(yè)務(wù)流程的大部分環(huán)節(jié)需要大量的
43、人力投入手工完成大部分操作,這就形成公司業(yè)務(wù)的“瓶頸”,大大制約公司業(yè)務(wù)的發(fā)展。</p><p> 4)這些應(yīng)用軟件都有自己的數(shù)據(jù)庫或文件,一般不能實時共享;</p><p> 這就會造成數(shù)據(jù)重復(fù)輸入的情況。同時,各系統(tǒng)間的“數(shù)據(jù)口徑”不同,系統(tǒng)之間要進(jìn)行“多對多”的數(shù)據(jù)交換十分困難,形成“信息孤島”;</p><p> 各部門對自己數(shù)據(jù)庫中數(shù)據(jù)的隨時更新,也
44、可能造成公司內(nèi)部數(shù)據(jù)失去了“一致性”和“完整性”,隨著海運(yùn)企業(yè)對計算機(jī)系統(tǒng)依賴的加深,這種現(xiàn)象會導(dǎo)致公司業(yè)務(wù)的混亂。</p><p> 5)由于各個應(yīng)用系統(tǒng)是由不同的服務(wù)提供商,使用不同的技術(shù)在不同的時間提供的,沒有統(tǒng)一的平臺、設(shè)計和標(biāo)準(zhǔn),已經(jīng)對公司的業(yè)務(wù)帶來困難。在實際工作中因為不同的應(yīng)用系統(tǒng)常需跨不同的主機(jī)、或不同的操作系統(tǒng)(OS)、而因DOS Memory的限制、某些部門的工作人員每次轉(zhuǎn)換作業(yè)都需要重新開
45、機(jī)或使用兩臺以上計算機(jī)來作業(yè)十分麻煩。舉例來說,貨載信息審核作業(yè)是使用HP3000上的系統(tǒng)、電報前端作業(yè)是使用Clipper來開發(fā)的系統(tǒng)而文書處理又是使用Office 4.0,常常得打開HP3000主機(jī)上的應(yīng)用系統(tǒng),取得數(shù)據(jù)后再關(guān)掉系統(tǒng)轉(zhuǎn)換至電報系統(tǒng)上回電報,很多應(yīng)用系統(tǒng)是在DOS環(huán)境下完成的,若又需使用電子表格(EXCEL)或是文件撰寫排版(WORD) 等工具又要重新進(jìn)入Windows 環(huán)境,如此切換作業(yè)對于工作的效率與情緒都有不良的
46、影響。</p><p> 6)這些信息系統(tǒng)主要滿足業(yè)務(wù)操作需要,對管理層的支持較少,對決策分析的貢獻(xiàn)更少;</p><p> 信息系統(tǒng)沒有或基本沒有反映企業(yè)領(lǐng)導(dǎo)對本企業(yè)管理的模式、企業(yè)發(fā)展目標(biāo)的支持。信息系統(tǒng)難以跟上企業(yè)業(yè)務(wù)發(fā)展、企業(yè)重組和企業(yè)流程再造的步伐,逐漸會成為制約企業(yè)發(fā)展的因素之一;</p><p> 信息系統(tǒng)主要為企業(yè)內(nèi)部管理服務(wù),很少面向市場,面
47、向客戶、面向合作單位,難以向電子商務(wù)過渡。</p><p> 7)有一定的硬件:用局域網(wǎng)連起來的幾臺服務(wù)器和若干微機(jī)。一方面這些設(shè)備并沒有發(fā)揮其全部作用,例如支持企業(yè)的內(nèi)部網(wǎng);另一方面,這些設(shè)備又不足以滿足目前業(yè)務(wù)應(yīng)用的需求,例如業(yè)務(wù)數(shù)據(jù)如在網(wǎng)上流動,則速度會較慢;同時,沒有足夠的服務(wù)器支持各類業(yè)務(wù)數(shù)據(jù)的存儲和管理。</p><p> 8)企業(yè)深切體會到了信息化的重要性,但如何建設(shè)和應(yīng)
48、用信息技術(shù)為公司服務(wù)的具體方案很難拿出;</p><p> 對信息技術(shù)的把握和管理還沒有形成科學(xué)的制度和規(guī)章。包括管理和利用企業(yè)信息資源:</p><p> ? 大量的數(shù)據(jù)</p><p> ? 計算機(jī)系統(tǒng)</p><p> ? 技術(shù)力量等</p><p> 中高級人才的不足和對信息化的認(rèn)識
49、深度有限,信息技術(shù)工作并沒有在企業(yè)的規(guī)劃和具體工作計劃中落實。所有這一切,都使企業(yè)面臨一系列令人困惑的問題。提高認(rèn)識,掌握企業(yè)信息化的規(guī)律,加大投入,建設(shè)隊伍,形成相對穩(wěn)定的合作伙伴關(guān)系,制訂科學(xué)的發(fā)展規(guī)劃和實施計劃,是解決企業(yè)信息化問題的對策。</p><p> 1.3 信息平臺技術(shù)的發(fā)展</p><p> 1.3.1 平臺化軟件</p><p> 平臺
50、化軟件是指用來構(gòu)建與支撐應(yīng)用軟件的獨(dú)立軟件系統(tǒng)。軟件平臺有兩個基本要素,即支撐環(huán)境和開發(fā)體系,其中支撐環(huán)境是指應(yīng)用軟件系統(tǒng)開發(fā)與運(yùn)行的基本條件,開發(fā)體系是指開發(fā)與維護(hù)管理應(yīng)用軟件的工具與方法。它又可以分為技術(shù)支撐型平臺軟件和應(yīng)用實現(xiàn)型平臺軟件兩種類型的平臺。</p><p> 技術(shù)支撐型平臺 為軟件系統(tǒng)研發(fā)提供通用技術(shù)基礎(chǔ)架構(gòu),主要面向軟件開發(fā)人員,主要包含應(yīng)用軟件的運(yùn)行支持體系和上層開發(fā)的工具,上層應(yīng)用系統(tǒng)由
51、用戶進(jìn)行研發(fā)。我們熟悉的有.Net、J2EE、IIS服務(wù)器等它們整合了豐富的組件和類庫,另外還提供很多不錯的技術(shù)框架,例如提供軟件公司或企業(yè)進(jìn)行二次開發(fā)的Library等這些功能如果不采用平臺開發(fā)則需要用戶自己編程實現(xiàn)。使用此類平臺進(jìn)行開發(fā)可以大大的提高系統(tǒng)的開發(fā)效率,并且降低系統(tǒng)出錯的幾率。。</p><p> 應(yīng)用實現(xiàn)型平臺 指用來構(gòu)建與支撐應(yīng)用軟件的獨(dú)立軟件系統(tǒng)。主要面向應(yīng)用軟件的終端用戶。目前直接賣給終
52、端用戶的軟件基本上都是應(yīng)用實現(xiàn)型平臺。一般來說,這種平臺會對業(yè)務(wù)流程做很多抽象和假設(shè),對目前已經(jīng)存在的業(yè)務(wù)流程有一定的支持和抽象,一般只能依賴工作流技術(shù)對企業(yè)的業(yè)務(wù)進(jìn)行有限的更改和變更支持。</p><p> 1.3.2 應(yīng)用軟件體系結(jié)構(gòu)發(fā)展</p><p> 在應(yīng)用軟件技術(shù)發(fā)展的過程中,出現(xiàn)了四類比較重要的體系結(jié)構(gòu):單層結(jié)構(gòu)、客戶/服務(wù)器結(jié)構(gòu)(富客戶端結(jié)構(gòu))、三層(多層)結(jié)構(gòu)和瀏覽
53、器/服務(wù)器結(jié)構(gòu),它們都在各自的年代得到了非常廣泛的應(yīng)用。</p><p><b> 單層應(yīng)用程序結(jié)構(gòu)</b></p><p> 單層應(yīng)用程序結(jié)構(gòu)沒有層次概念。通常一個應(yīng)用程序包括了所有的用戶界面、業(yè)務(wù)規(guī)則以及數(shù)據(jù)處理。單層應(yīng)用程序結(jié)構(gòu)由于包含了所有的應(yīng)用邏輯,從后臺最基本的數(shù)據(jù)處理,到前臺對用戶的響應(yīng)以及處理結(jié)果的顯示,所以應(yīng)用軟件往往比較龐大。</p>
54、;<p> 單層應(yīng)用程序結(jié)構(gòu)不利于軟件工程。軟件生產(chǎn)過程中,在設(shè)計階段,要求設(shè)計人員必須面面俱到,從復(fù)雜的邏輯結(jié)構(gòu)中整理出程序設(shè)計文檔;在開發(fā)階段,軟件開發(fā)人員之間的協(xié)作比較困難;在測試和維護(hù)階段,對軟件的局部變動可能會影響到整體;軟件發(fā)布之后,為適應(yīng)新的需求,在開發(fā)新版本軟件時,往往全面調(diào)整甚至廢棄原來大量的代碼,所以單層軟件的版本升級往往比較慢。其優(yōu)點(diǎn)是程序的運(yùn)行效率往往比較高,對用戶的響應(yīng)也比較快。</p&g
55、t;<p><b> 客戶/服務(wù)器結(jié)構(gòu)</b></p><p> 客戶/服務(wù)器結(jié)構(gòu)把應(yīng)用程序分成客戶端程序和服務(wù)器端程序兩部分。用戶界面和業(yè)務(wù)規(guī)則在應(yīng)用程序的客戶端,數(shù)據(jù)維護(hù)在服務(wù)器端實現(xiàn)。業(yè)務(wù)邏輯放在數(shù)據(jù)庫系統(tǒng)中,用存儲過程來維護(hù)數(shù)據(jù)的系統(tǒng)結(jié)構(gòu)即屬于此類結(jié)構(gòu)。在此類結(jié)構(gòu)中如果把業(yè)務(wù)規(guī)則放在客戶端,則往往是客戶端非常笨重;如果把業(yè)務(wù)邏輯放在服務(wù)器端,往往難以實現(xiàn)數(shù)據(jù)庫系統(tǒng)中
56、實現(xiàn)復(fù)雜的業(yè)務(wù)規(guī)則。</p><p><b> 三層(多層)結(jié)構(gòu)</b></p><p> 三層(多層)結(jié)構(gòu)是指業(yè)務(wù)規(guī)則被單獨(dú)提取出來,構(gòu)成了中間層,形成真正的分布式應(yīng)用系統(tǒng)。在多層應(yīng)用結(jié)構(gòu)(包括三層應(yīng)用結(jié)構(gòu))中,客戶層(也稱為表現(xiàn)層)提供用戶界面,它根據(jù)用戶的操作作出相應(yīng)的反應(yīng),它不能直接訪問后臺數(shù)據(jù)庫;業(yè)務(wù)邏輯層是負(fù)責(zé)處理所有用戶的請求,并把處理結(jié)果反饋給客戶
57、層;服務(wù)器層仍然提供數(shù)據(jù)庫支持,稱這一層為數(shù)據(jù)層。多層應(yīng)用結(jié)構(gòu)要求層與層之間必須有明確的接口定義,從而保證多層之間可以協(xié)作完成應(yīng)用任務(wù)。業(yè)務(wù)層作為表現(xiàn)層和數(shù)據(jù)層的中間服務(wù)層,必須保證所有的業(yè)務(wù)邏輯被正確處理。該結(jié)構(gòu)可將復(fù)雜的業(yè)務(wù)處理分割成相互之間可交互、調(diào)用和通信的若干業(yè)務(wù)功能部件或?qū)ο?,并可將其分配到多個網(wǎng)絡(luò)互連的應(yīng)用服務(wù)器中間件上實現(xiàn)負(fù)荷的分擔(dān)。</p><p> 三層(多層)結(jié)構(gòu)可以運(yùn)行在不同的機(jī)器上,如
58、果應(yīng)用的業(yè)務(wù)邏輯比較復(fù)雜,可以使用高配置的計算機(jī)來運(yùn)行業(yè)務(wù)層。如果應(yīng)用的數(shù)據(jù)量很大,可以采取分布式的數(shù)據(jù)庫來存儲數(shù)據(jù)。其次,只要層與層之間的接口保持不變,那么某一層的變化不會影響到其它層。</p><p><b> 瀏覽器/服務(wù)器結(jié)構(gòu)</b></p><p> 在B/S結(jié)構(gòu)中,客戶端僅需要運(yùn)行瀏覽器軟件。瀏覽器以超文本形式向Web服務(wù)器提出訪問數(shù)據(jù)庫的要求,Web
59、服務(wù)器接受客戶端請求后,將這個請求轉(zhuǎn)化為對商業(yè)邏輯的調(diào)用,并交給應(yīng)用服務(wù)器進(jìn)行處理,應(yīng)用服務(wù)器根據(jù)邏輯可以通過數(shù)據(jù)庫服務(wù)器的輔助來處理這次請求,然后將處理后的結(jié)果返回給Web服務(wù)器,Web服務(wù)器再一次將得到的所有結(jié)果進(jìn)行轉(zhuǎn)化,變成HTML文檔形式,轉(zhuǎn)發(fā)給客戶端瀏覽器以友好的Web頁面形式顯示出來。在這種結(jié)構(gòu)下,軟件應(yīng)用的業(yè)務(wù)邏輯完全在應(yīng)用服務(wù)器端實現(xiàn),用戶表現(xiàn)完全在Web服務(wù)器實現(xiàn),客戶端只需要瀏覽器即可進(jìn)行業(yè)務(wù)處理,是一種全新的軟件系
60、統(tǒng)構(gòu)造技術(shù)。</p><p> 在B/S模式下,集成了解決企事業(yè)單位各種問題的服務(wù),而非零散的單一功能的多系統(tǒng)模式,因而它能提供更高的工作效率。不僅可以實現(xiàn)大量信息的網(wǎng)上發(fā)布,而且能夠為廣大用戶提供動態(tài)的信息查詢和數(shù)據(jù)處理服務(wù),進(jìn)而加強(qiáng)企事業(yè)單位內(nèi)部部門之間、上級部門與下級部門之間、企事業(yè)單位員工之間、企事業(yè)單位與客戶之間以及企事業(yè)單位與企事業(yè)單位之間的信息交流,降低企事業(yè)單位的日常工作成本,提高企事業(yè)單位的經(jīng)
61、濟(jì)效益。</p><p> 應(yīng)用軟件平臺正發(fā)生著革命性的變革,這種變革與應(yīng)用市場需求及其解決方案的多樣性和復(fù)雜性是相輔相成的,今天的開發(fā)人員所面臨的商用需求極具廣泛性:</p><p> 1)將傳統(tǒng)的客戶機(jī)/服務(wù)器應(yīng)用程序發(fā)展成多層應(yīng)用程序,以勝任與企業(yè)級應(yīng)用相適應(yīng)的各種任務(wù)。</p><p> 2)利用Internet/Intranet技術(shù),構(gòu)建Web應(yīng)用程
62、序,解決新的需求。</p><p> 1.3.3 平臺軟件的設(shè)計要求</p><p> 1)具備靈活方便的二次開發(fā)能力,能夠快速適應(yīng)業(yè)務(wù)變更</p><p> 傳統(tǒng)的平臺管理軟件大多脫胎于財務(wù)軟件和業(yè)務(wù)管理軟件的結(jié)合,這種結(jié)合不僅生硬、集成度不高,而且結(jié)構(gòu)僵化、死板,無法適應(yīng)千變?nèi)f化的企業(yè)環(huán)境和需求,在客戶化和二次開發(fā)過程時往往進(jìn)度緩慢,實施困難。作為新一代
63、軟件系統(tǒng),平臺化軟件則應(yīng)該具備更好的應(yīng)用開發(fā)和維護(hù)的工具和接口,實施時可以迅速根據(jù)用戶的特點(diǎn)進(jìn)行部署和二次開發(fā),用戶可以最大限度地使用貼近自身特點(diǎn)的管理軟件。</p><p> 2)實現(xiàn)分布式應(yīng)用系統(tǒng)</p><p> 傳統(tǒng)的管理軟件局限于內(nèi)部的資源管理。平臺化軟件應(yīng)該將整條產(chǎn)業(yè)鏈上的多家企業(yè)通過Internet和數(shù)據(jù)平臺組成一個更加緊密的協(xié)同化生產(chǎn)組織,實現(xiàn)企業(yè)與企業(yè)之間的資源共享,
64、疏通企業(yè)的各自的信息孤島,實現(xiàn)各類功能互連、互通、互動的有效集成。過去以自身為主的企業(yè)與企業(yè)之間的競爭,轉(zhuǎn)變成為協(xié)同化作業(yè)的企業(yè)鏈與企業(yè)鏈之間的競爭,極大地增強(qiáng)企業(yè)的競爭能力。</p><p> 3)不能對客戶端訪問方式做過多假設(shè)</p><p> B/S結(jié)構(gòu)具有免安裝的特點(diǎn),C/S則具有更高的安全性,不安裝無法訪問。只要能上網(wǎng),就可以通過瀏覽器對B/S結(jié)構(gòu)系統(tǒng)訪問,輸入帳號和密碼后任
65、意機(jī)器(如網(wǎng)吧)可以登錄系統(tǒng)。所以,對于網(wǎng)上交易、門戶網(wǎng)站,企業(yè)協(xié)作等可以采用B/S結(jié)構(gòu),但是對于重要的內(nèi)部數(shù)據(jù),如財務(wù)管理、物資管理等內(nèi)部機(jī)密資料和數(shù)據(jù),最好采用C/S結(jié)構(gòu),需要共享的數(shù)據(jù)可以通過服務(wù)發(fā)布的方式共享。但是無論B/S還是C/S結(jié)構(gòu),都應(yīng)采用分布式結(jié)構(gòu),可遠(yuǎn)程網(wǎng)絡(luò)訪問,平臺設(shè)計應(yīng)該采用多層結(jié)構(gòu),層與層之間要盡可能的松耦合。這樣也可以很好的支撐以后會出現(xiàn)的新的訪問方式,例如RIA(富客戶端)開發(fā)。</p>&l
66、t;p> 1.4 本課題研究的目標(biāo)與意義</p><p> 鑒于目前海運(yùn)系統(tǒng)企業(yè)的信息化現(xiàn)狀、業(yè)務(wù)發(fā)展特點(diǎn):業(yè)務(wù)在探索中前進(jìn)的,這部分的流程和需求是不固定的、無法預(yù)估的。而目前的管理軟件和平臺基本上以流程為導(dǎo)向,流程導(dǎo)向決定了流程基本上是固定的,清晰的,這樣即使目前很適合企業(yè)的業(yè)務(wù)需要,很有可能不能快速適應(yīng)新業(yè)務(wù)的開展。因而CSIMS海運(yùn)信息平臺設(shè)計成以高度可重用性的技術(shù)支撐平臺為主并具備六大核心業(yè)務(wù)
67、子系統(tǒng)的綜合平臺。此平臺是以Microsoft.NET技術(shù)為基礎(chǔ)的基于Internet /Intranet 技術(shù)的多層分布式的B/S軟件平臺。利用此平臺可快速進(jìn)行二次開發(fā)。</p><p> CSIMS海運(yùn)信息平臺提供的功能完全可以作為一個技術(shù)支撐型的開發(fā)平臺。良好的契約式組件開發(fā)模型,使得大量組件可以方便地集成于系統(tǒng)中;良好的分層架構(gòu)使得系統(tǒng)各層各負(fù)其則,具有可伸縮性和擴(kuò)展性;簡單易用的功能強(qiáng)大的ORM 數(shù)據(jù)
68、持久化框架,實現(xiàn)了數(shù)據(jù)庫無關(guān)性和查詢等數(shù)據(jù)處理功能;適合單條件及多條件綜合查詢的查詢框架,滿足了海運(yùn)企業(yè)超大數(shù)據(jù)量的檢索、查詢和分析需要;以及獨(dú)立的安全策略支持,提供靈活的授權(quán)機(jī)制和嚴(yán)謹(jǐn)?shù)脑L問權(quán)限設(shè)定,滿足了海運(yùn)企業(yè)對安全性的要求;這些框架的支持使得基于CSIMS信息平臺的業(yè)務(wù)系統(tǒng)開發(fā)的開發(fā)周期縮短,代碼可讀性增強(qiáng),開發(fā)成本降低,穩(wěn)定性和靈活性增強(qiáng),而且通過企業(yè)總線更可以隨時方便的進(jìn)行各個業(yè)務(wù)組件之間的集成和協(xié)作,從而形成一個高度自主性
69、的海運(yùn)信息系統(tǒng)協(xié)作平臺,能夠適應(yīng)海運(yùn)企業(yè)變化快,需求變化快等特點(diǎn),能夠支撐海運(yùn)業(yè)務(wù)的迅速開展。</p><p> 1.5 主要的相關(guān)技術(shù)</p><p> 本文介紹的基于.NET的海運(yùn)系統(tǒng)信息平臺是一個多層架構(gòu)的分布式系統(tǒng)平臺。此平臺的設(shè)計和實現(xiàn)涉及到以下相關(guān)技術(shù):</p><p> 1.5.1 .NET技術(shù)</p><p> .
70、NET Framework[6] [8] 是一種新的計算平臺,它簡化了在高度分布式Internet環(huán)境中的應(yīng)用系統(tǒng)開發(fā)。.NET Framework旨在實現(xiàn)下列目標(biāo):</p><p> 1)提供一個一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對象代碼是在本地存儲和執(zhí)行,還是在本地執(zhí)行但在 Internet 上分布,或者是在遠(yuǎn)程執(zhí)行的。 </p><p> 2)提供一個將軟件部署和版本控制沖突最小化
71、的代碼執(zhí)行環(huán)境。 </p><p> 3)提供一個保證代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)安全執(zhí)行的代碼執(zhí)行環(huán)境。 </p><p> 4)提供一個可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境。 </p><p> 5)使開發(fā)人員的經(jīng)驗在面對類型大不相同的應(yīng)用程序(如基于 Windows 的應(yīng)用程序和基于 Web 的應(yīng)用程序)時保持一致。
72、</p><p> 6)按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確保基于 .NET Framework 的代碼可與任何其他代碼集成。 </p><p> .NET Framework具有兩個主要組件:公共語言運(yùn)行庫(CLR)和 .NET Framework類庫。公共語言運(yùn)行庫是 .NET Framework 的基礎(chǔ)。它提供核心服務(wù)(如內(nèi)存管理、線程管理和遠(yuǎn)程處理),而且還強(qiáng)制實施嚴(yán)格的類型安全以及
73、可確保安全性和可靠性的其他形式的代碼準(zhǔn)確性。.NET Framework 的另一個主要組件是類庫,它是一個綜合性的面向?qū)ο蟮目芍赜妙愋图?,您可以使用它開發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面 (GUI)應(yīng)用程序,也包括基于 ASP.Net 所提供的最新創(chuàng)新的應(yīng)用程序(如 Web 窗體和 XML Web services)。</p><p> .NET Framework 可由非托管組件承載
74、,這些組件將公共語言運(yùn)行庫加載到它們的進(jìn)程中并啟動托管代碼的執(zhí)行,從而創(chuàng)建一個可以同時利用托管和非托管功能的軟件環(huán)境。.NET Framework 不但提供若干個運(yùn)行庫宿主,而且還支持第三方運(yùn)行庫宿主的開發(fā)。</p><p> 圖1-1 顯示了.NET框架的各個組成部分和它們之間的關(guān)系。</p><p> 公共語言運(yùn)行期(Common Language Runtime,CLR)通過提供
75、運(yùn)行期執(zhí)行環(huán)境,建立了.NET框架的基礎(chǔ)。所開發(fā)的在此環(huán)境中運(yùn)行的應(yīng)用和組件稱為托管(Managed)應(yīng)用和組件。之所以稱為托管,是因為CLR管理這些應(yīng)用和組件中的代碼的執(zhí)行過程,并提供大量服務(wù)簡化其開發(fā)和部署。CLR最主要的一個特征是其自動內(nèi)存管理和垃圾回收功能。這一特征有助于集中實現(xiàn)組件行為而不用擔(dān)心內(nèi)存管理、內(nèi)存分配相關(guān)的編程錯誤。</p><p> 圖1-1 .Net 框架的邏輯視圖</p>
76、;<p> CLR可以用具有良好設(shè)計的、簡單直觀的API或者基于構(gòu)造的對象模型來表述組件功能,例如可以用元數(shù)據(jù)attribute說明性地描述屬性、方法和事件。</p><p> CLR另一個重要特征是一旦實現(xiàn)了組件,CLR就可以自動在一個或多個應(yīng)用程序中應(yīng)用,而不需要任何額外的注冊。包含組件的配件可以按照并行的方式進(jìn)行改版和部署。也就是說,CLR可以使多個版本的組件共存。這樣就可以進(jìn)一步開發(fā)和部
77、署組件的版本而不會因為疏忽而破壞任何依賴于當(dāng)前組件版本行為的現(xiàn)有應(yīng)用程序。</p><p> 同時,CLR提供真正的語言互操作性??梢詮娜魏?NET框架編程語言(如C#、Visual Basic .NET、Microsoft Jscript .NET和Microsoft Visual J#)中開發(fā)、使用和繼承組件,這樣組件開發(fā)者可以使用任何喜歡的語言開發(fā)組件。</p><p> .NE
78、T框架類庫位于CLR的上層,它用一種一致、直觀的方式顯示了類的豐富層次結(jié)構(gòu),其范圍覆蓋了大量不同應(yīng)用程序和組件開發(fā)方案。通過提供共同的基礎(chǔ)和可以讓所有組件及應(yīng)用程序共享的API,.NET框架類庫真正實現(xiàn)了基于組件的編程。</p><p> 表示數(shù)據(jù)訪問的ADO.NET層,作為System.Data命名空間和其子命名空間的一部分嵌入到.NET框架中。ADO.NET提供了對斷開或離線緩沖的關(guān)系數(shù)據(jù)進(jìn)行操作的能力。數(shù)
79、據(jù)訪問層能訪問各類數(shù)據(jù)庫引擎,對微軟的SQL Server提供非常高性能的連接。</p><p> XML層是ADO.NET層的對應(yīng)層,包括了System.XML命名空間及其子命名空間中的類。XML層能有效地訪問有結(jié)構(gòu)和無結(jié)構(gòu)的XML數(shù)據(jù)。此外,它還提供各種基于行業(yè)標(biāo)準(zhǔn)的實現(xiàn)如可擴(kuò)展樣式表語言轉(zhuǎn)換(Extensible Stylesheet Language Transformations, XSLT)、XML
80、路徑語言(XPath)和XML模式(Schema)。這一層的類庫也賦予了XML格式串行化對象的能力。</p><p> GDI+層代表由System.Drawing命名空間和其子命名空間提供的面向?qū)ο笾茍D和繪畫功能,包含原始物體、向量技術(shù)和格式化文本,并能使用和創(chuàng)建不同格式的圖像文件,包括JPEG、GIF、BMP和TIFF等。</p><p> 組件模型層由System.Compone
81、ntModel和System.ComponentModel.Design命名空間的類組成,提供把類轉(zhuǎn)變成可設(shè)計的、定制的、串行和反串行的組件結(jié)構(gòu)的設(shè)計工具。微軟的Visual Studio .NET就是以此模型構(gòu)建的。這一層使得不同應(yīng)用開發(fā)技術(shù)能夠共享類似的組件創(chuàng)建和技術(shù)以及設(shè)計模式。</p><p> 圖1-1中的最頂層描述了應(yīng)用開發(fā)技術(shù):ASP.Net(Web Forms和XML Web服務(wù))以及Windo
82、ws Forms。即它提供基于.NET框架支持的圖形化Win32客戶端和服務(wù)器端應(yīng)用程序開發(fā)。在System.Windows.Forms命名空間中實現(xiàn)的Windows Forms以開發(fā)Win32平臺的應(yīng)用程序為目標(biāo)。而在System.Web命名空間和其子命名空間中實現(xiàn)的ASP.Net和Web Forms支持Web應(yīng)用程序以及XML Web服務(wù)開發(fā)。</p><p> 1.5.2 ASP.Net 技術(shù)及C# &
83、lt;/p><p> ASP使得使用數(shù)據(jù)庫的網(wǎng)站開發(fā)變得非常容易,但缺乏高級開發(fā)特性,如面向?qū)ο缶幊蹋∣OP)、編譯型代碼、XML Web服務(wù)以及專門為Internet開發(fā)設(shè)計的語言類庫等。為此Microsoft開發(fā)了一種新的基于Internet的Web應(yīng)用程序開發(fā)的系統(tǒng)體系結(jié)構(gòu):.NET平臺。而ASP.Net[9] [12]繼承了.NET框架的編程模型,是其中的一個核心部分。它是一個完整的、可擴(kuò)展的Web應(yīng)用程序
84、開發(fā)框架,提出了一種用于創(chuàng)建內(nèi)容豐富的動態(tài)網(wǎng)站、Web應(yīng)用程序和XML Web服務(wù)的新型編程模型,與已往編程模型相比,它提供了基于組件的構(gòu)架和開發(fā)范型。</p><p> 使用C# 的開發(fā)者可以方便的在Microsoft網(wǎng)絡(luò)平臺上擴(kuò)展自己的應(yīng)用。C#能將任何組件轉(zhuǎn)變?yōu)閃EB服務(wù),并且可使之運(yùn)行于Internet上的任何平臺的任何應(yīng)用調(diào)用,更重要的是C# 對這一特性提供了內(nèi)置的支持。此外,Web Services
85、框架可以讓任何Web Services都看起來類似于C# 的內(nèi)置對象,所以能讓開發(fā)人員在開發(fā)過程中繼續(xù)使用他們已經(jīng)具備的面向?qū)ο蟮拈_發(fā)方法和技巧。</p><p> .NET還在C#中引入了零部件的概念,它們具有自描述的功能,通過自描述來確立了零部件的身份、版本、語言和數(shù)字簽名等,并且不需要在任何地方注冊;要擴(kuò)展我們已經(jīng)開發(fā)的程序只需要刪除老的文件并用新的文件來升級它們,不需要注冊動態(tài)鏈接庫;升級軟件組件的過程
86、只是一個錯誤探測的任務(wù),對代碼的修改能夠影響現(xiàn)存的程序,作為其開發(fā)語言之一的C#在語言中就支持版本修改,對界面和方法重載的支持使得復(fù)雜的程序框架能隨著時間發(fā)展和進(jìn)化。</p><p> 1.5.3 ADO.NET技術(shù)</p><p> ADO.NET[5] 是專為基于消息的 Web 應(yīng)用程序而設(shè)計的,同時還能為其他應(yīng)用程序結(jié)構(gòu)提供較好的功能。通過支持對數(shù)據(jù)的松耦合訪問,ADO.NET
87、 減少了與數(shù)據(jù)庫的活動連接數(shù)目(即減少了多個用戶爭用數(shù)據(jù)庫服務(wù)器上的有限資源的可能性),從而實現(xiàn)了最大程度的數(shù)據(jù)共享。</p><p> ADO.NET 提供幾種數(shù)據(jù)訪問方法。在有些情況下,Web 應(yīng)用程序或 XML Web Services 需要訪問多個源中的數(shù)據(jù),或者需要與其他應(yīng)用程序(包括本地和遠(yuǎn)程應(yīng)用程序)進(jìn)行互操作,或者可受益于保持和傳輸緩存結(jié)果,這時使用數(shù)據(jù)集將是一個明智的選擇。作為一種替換方法,A
88、DO.NET 提供數(shù)據(jù)命令和數(shù)據(jù)讀取器以便與數(shù)據(jù)源直接通信。使用數(shù)據(jù)命令和數(shù)據(jù)讀取器直接進(jìn)行的數(shù)據(jù)庫操作包括:運(yùn)行查詢和存儲過程、創(chuàng)建數(shù)據(jù)庫對象、使用 DDL 命令直接更新和刪除。</p><p> ADO.NET 還通過對分布式 ADO.NET 應(yīng)用程序的基本對象“數(shù)據(jù)集”(Dataset) 支持基于 XML 的持久性和傳輸格式,來實現(xiàn)最大程度的數(shù)據(jù)共享。數(shù)據(jù)集是一種關(guān)系數(shù)據(jù)結(jié)構(gòu),可使用 XML 進(jìn)行讀取、寫
89、入或序列化。ADO.NET 數(shù)據(jù)集使得生成要求應(yīng)用程序?qū)优c多個 Web 站點(diǎn)之間進(jìn)行松耦合數(shù)據(jù)交換的應(yīng)用程序變得很方便。因為數(shù)據(jù)集被遠(yuǎn)程處理為 XML 形式,所以任何兩個組件都可共享數(shù)據(jù)并使用 XML 架構(gòu)來定義數(shù)據(jù)集的關(guān)系結(jié)構(gòu)。而且,因為數(shù)據(jù)集的序列化格式是XML,所以 DataSet 對象可輕松穿過防火墻,而不受任何限制。除了從 XML 加載數(shù)據(jù)以外,數(shù)據(jù)集還可用 SQL Server 中的數(shù)據(jù)以及通過 OLE DB 公開的數(shù)據(jù)源中
90、的數(shù)據(jù)來填充,并可保存對這些數(shù)據(jù)的更改。</p><p> 1.5.4 基于.NET的服務(wù)器控件技術(shù)</p><p> 服務(wù)器控件[14] [21] [44]是Web Forms編程模型的基本元素。它們構(gòu)成了一個新的、基于組件的、直觀的窗體程序包的基礎(chǔ),可以簡化Web用戶界面的開發(fā),這類似于Microsoft Visual Basic表單程序包用來簡化Windows 編程的方法。從更
91、高的層次來講,服務(wù)器控件提供了Web應(yīng)用程序和表示技術(shù)中隱含的抽象概念。Web控件是在基于瀏覽器應(yīng)用程序生成中使用的HTML和HTTP技術(shù)的抽象概念。服務(wù)器控件的特征和功能:</p><p> 1)服務(wù)器控件隱藏了技術(shù)中潛在的不一致性和復(fù)雜性,給網(wǎng)頁開發(fā)者創(chuàng)建了一個直觀且簡單的編程模型。</p><p> 2)服務(wù)器控件隱藏了各種瀏覽器與查看設(shè)備之間的不同,包括目標(biāo)Web應(yīng)用程序可能需
92、要的不同版本的瀏覽器。服務(wù)器控件提供了適于目標(biāo)瀏覽器內(nèi)容顯示的能力,使得頁面開發(fā)者能夠?qū)懸粋€應(yīng)用程序,該應(yīng)用程序能針對運(yùn)行期的多個查看平臺。通過檢查請求的瀏覽器或設(shè)備的能力,服務(wù)器控件包含了可以盡可能提供最好的經(jīng)驗的邏輯</p><p> 3)服務(wù)器控件起到實際組件的作用,提供在組件與其他類應(yīng)用合作中可能得到的相同好處。服務(wù)器控件提供了大量的服務(wù)器端編程模型。它們通過屬性(property)和方法(method
93、)顯示其功能。它們也提供基于事件的編程模型,允許網(wǎng)頁開發(fā)者實現(xiàn)應(yīng)用程序邏輯來響應(yīng)用戶的交互。由服務(wù)器控件顯示的對象模型是強(qiáng)類型的—這與DHTML不同,DHTML是松散型的。強(qiáng)類型不僅僅使服務(wù)器控件性能更好,同時也減少了編程錯誤。</p><p> 4)服務(wù)器控件通過回傳(postback)和往返(round-trip)的方式管理狀態(tài)??缮炜s的Web應(yīng)用程序是無狀態(tài)的(stateless)—換句話說,應(yīng)用程序并不
94、維護(hù)服務(wù)器端的數(shù)據(jù)和狀態(tài)與每個用戶訪問的應(yīng)用程序相一致。服務(wù)器控件使用了ASP.Net頁面框架的一大特征:視圖狀態(tài)(ViewState),來管理跨越單個Web請求的狀態(tài)。在保存無狀態(tài)應(yīng)用程序可伸縮性的同時,該特征允許控件提供有狀態(tài)的編程模型來建立連續(xù)性的感覺。</p><p> 5)服務(wù)器控件還提供一個引人注目的數(shù)據(jù)綁定模型。大多數(shù)Web 應(yīng)用程序是基于多數(shù)據(jù)源的動態(tài)和特定的內(nèi)容。那些與數(shù)據(jù)源相關(guān)的數(shù)據(jù)綁定服務(wù)
95、器控件大大地簡化了動態(tài)頁面的創(chuàng)建過程。ASP.Net以有效的數(shù)據(jù)綁定模型為一大特色,在數(shù)據(jù)綁定和數(shù)據(jù)訪問的過程中,為網(wǎng)頁開發(fā)者提供了完整的控件。數(shù)據(jù)綁定模型以簡單且通用的數(shù)據(jù)源模型為一大特色,為網(wǎng)頁開發(fā)者提供了可以用作數(shù)據(jù)源的對象的多種選擇。</p><p> 服務(wù)器控件在機(jī)器級別上(通過machine.config文件)或者在Web應(yīng)用程序級別上(通過web.config文件)是可配置的。服務(wù)器控件支持其屬性
96、設(shè)定的默認(rèn)值,這可以使網(wǎng)頁開發(fā)者在頁面上對其行為進(jìn)行統(tǒng)一的控制或改變,而不用對應(yīng)用程序本身改變或重新編譯。</p><p> ASP.Net服務(wù)器控件的層次結(jié)構(gòu):</p><p> 圖1-2 ASP.Net 服務(wù)器控件的層次</p><p> 服務(wù)器控件分用戶控件、復(fù)合用戶控件、自定義控件三類。大多數(shù)控件是從WebControl基類中直接或者間接生成的。包括顯
97、示為基本HTML表單元素的控件,例如用于收集用戶輸入的按鈕(button)和文本框(textbox),還包括其他常用的HTML元素,例如錨點(diǎn)(anchor)、圖像(image)和表(table)。它還包括一套與輸入控件相關(guān)、用來實現(xiàn)客戶端和服務(wù)器端確認(rèn)的確認(rèn)控件(validation control)。其中也包含數(shù)據(jù)綁定控件,例如,用于基于數(shù)據(jù)源生成動態(tài)網(wǎng)頁的數(shù)據(jù)柵格(DataGrid)和中繼器。</p><p>
98、; 1.5.5 XML技術(shù)</p><p> XML[10]是一種結(jié)構(gòu)化的數(shù)據(jù)表達(dá)方式。目前已經(jīng)成為網(wǎng)絡(luò)中數(shù)據(jù)結(jié)構(gòu)傳送的標(biāo)準(zhǔn),為了提高效率C# 允許直接將XML數(shù)據(jù)映射成為結(jié)構(gòu),這樣可以有效的處理各種數(shù)據(jù)。在此之前各種系統(tǒng)之間有著各自的數(shù)據(jù)表達(dá),如關(guān)系型數(shù)據(jù)庫、文件服務(wù)器和用戶自定義的數(shù)據(jù)表達(dá)結(jié)構(gòu),應(yīng)用這些信息數(shù)據(jù)時必須要了解數(shù)據(jù)的獨(dú)特結(jié)構(gòu),再在程序中對其解釋,一旦數(shù)據(jù)結(jié)構(gòu)變化了,那么應(yīng)用程序也得變化,這給
99、業(yè)務(wù)應(yīng)用的發(fā)展套上了枷鎖,不同系統(tǒng)間也很難集成。而隨著XML的誕生和發(fā)展,跨系統(tǒng)、跨行業(yè)的應(yīng)用間交流變得非常簡單,這種結(jié)構(gòu)化的數(shù)據(jù)表達(dá)使得應(yīng)用程序無需了解具體的數(shù)據(jù)物理位置,數(shù)據(jù)結(jié)構(gòu)的添加和刪除對應(yīng)用程序的影響非常小。XML使得數(shù)據(jù)可以流動了。</p><p> 第二章 海運(yùn)基礎(chǔ)信息平臺(CSIMS)體系結(jié)構(gòu)</p><p> 2.1 CSIMS平臺設(shè)計目標(biāo)</p>&
100、lt;p> 2.1.1 平臺服務(wù)不斷改進(jìn)的目標(biāo) [29] [32]</p><p> 1)編程更容易:平臺提供盡量多的基本業(yè)務(wù)服務(wù),例如事務(wù)、安全等,使開發(fā)者能夠集中精力開發(fā)自己的業(yè)務(wù)。</p><p> 2)更高的可管理和可配置性:管理和配置是應(yīng)用系統(tǒng)開發(fā)完成后的行為,在軟件維護(hù)成本不斷增加的今天,將有助于軟件廠商和用戶減少這方面的投入。</p><p&
101、gt; 3)更好的可伸縮性:動態(tài)負(fù)載平衡以及內(nèi)存數(shù)據(jù)庫、對象池等系統(tǒng)服務(wù)。</p><p> 4)更靈活的部署:根據(jù)負(fù)載大小靈活部署應(yīng)用程序,組件負(fù)載平衡和網(wǎng)絡(luò)負(fù)載平衡。</p><p> 2.1.2 CSIMS平臺設(shè)計目標(biāo)</p><p> CSIMS基礎(chǔ)信息平臺是基于.NET技術(shù)的多層分布式B/S架構(gòu)的平臺。該平臺提供了支持海運(yùn)企業(yè)業(yè)務(wù)處理和信息管理的
102、大部分功能。CSIMS基礎(chǔ)平臺的設(shè)計目標(biāo)是:</p><p><b> 1)高度組件化</b></p><p> 海運(yùn)業(yè)務(wù)系統(tǒng)各個功能部分相互之間的關(guān)系錯綜復(fù)雜,如果對這種相互之間的依賴關(guān)系不加以控制,隨著系統(tǒng)的發(fā)展,這些相互關(guān)系將會變得越來越難以維護(hù),很容易導(dǎo)致一點(diǎn)小的變更就會引起大批量的代碼更改,而且容易發(fā)生遺漏從而導(dǎo)致其他問題。采用CSIMS框架開發(fā),對各個
103、業(yè)務(wù)域進(jìn)行抽象,以接口的形式進(jìn)行服務(wù)契約定義從而使得各個功能部分形成一個高度組件化的封閉域,組件與組件之間的依賴服務(wù)定位器(Service Locator)進(jìn)行管理,從而具有極高的可管理性。</p><p><b> 2)易于快速開發(fā)</b></p><p> 海運(yùn)企業(yè)相互之間的競爭比較激烈,在開展新業(yè)務(wù)時,如果業(yè)務(wù)系統(tǒng)能夠很快進(jìn)行相應(yīng)的支撐,就可以帶來更好的競爭
104、優(yōu)勢。海運(yùn)企業(yè)的特點(diǎn)決定了新開展業(yè)務(wù)時一般不太可能在原有的系統(tǒng)上進(jìn)行新功能的擴(kuò)展,而是通常以業(yè)務(wù)性質(zhì)為單位進(jìn)行新的業(yè)務(wù)系統(tǒng)開發(fā),這就對系統(tǒng)的開發(fā)速度提出了更高的要求。CSIMS平臺憑借高度的組件化架構(gòu),以及對數(shù)據(jù)訪問層進(jìn)行高度抽象,在保留ADO.Net的優(yōu)勢同時提供了簡單易用的面向?qū)ο蟮腁PI,使得系統(tǒng)的開發(fā)難度大大降低,業(yè)務(wù)代碼更加清晰、易讀,業(yè)務(wù)代碼中不出現(xiàn)安全控制代碼,分工更明確等優(yōu)勢使得每一個新業(yè)務(wù)的支撐系統(tǒng)的重點(diǎn)在業(yè)務(wù)分析和定
105、義上,從而可以實現(xiàn)快速開發(fā)目標(biāo),有效跟進(jìn)企業(yè)的發(fā)展。</p><p> 3)高度可維護(hù)性和易于調(diào)試監(jiān)控</p><p> 海運(yùn)業(yè)務(wù)系統(tǒng)的交付一般需要一段時間的試運(yùn)行,在試運(yùn)行期間應(yīng)該可以有效的對系統(tǒng)的各個方面進(jìn)行監(jiān)控。憑借對數(shù)據(jù)訪問功能的封裝和抽象以及安全代碼的分離,我們可以在試運(yùn)行期間方便的進(jìn)行調(diào)試和修改功能,而在投入生產(chǎn)環(huán)境的時候?qū)⒄{(diào)試部分功能去掉,從而使系統(tǒng)的跟蹤和交付得到保障。
106、</p><p> 4)易于集成和無縫連接</p><p> 信息孤島的問題,不能集成的情況在企業(yè)里非常普遍。海運(yùn)系統(tǒng)的業(yè)務(wù)分類比較多,一方面是新的業(yè)務(wù)層出不窮,另一方面原有系統(tǒng)也有很多,尤其是各個分公司基本都具備一套系統(tǒng),但是無論是新系統(tǒng)還是老系統(tǒng)基本上都形成自己的隔離域,無法跟其他系統(tǒng)進(jìn)行有效的業(yè)務(wù)通信。這會嚴(yán)重妨礙企業(yè)的運(yùn)行效率,降低處理速度。從大型局域網(wǎng)的設(shè)計思路中得到啟發(fā),C
107、SIMS提出了企業(yè)總線的概念和模型。在大型網(wǎng)絡(luò)環(huán)境中,一般會形成一個主干網(wǎng),這個主干網(wǎng)會有相應(yīng)的總線,主干網(wǎng)中的所有的計算機(jī)通過該總線進(jìn)行相互通信,只要原有的計算機(jī)配備一條符合總線要求的網(wǎng)線和接頭即可接入整個通信網(wǎng)絡(luò),而新添置的計算機(jī)也只需要同樣進(jìn)行改造就可以方便的接入整個通信網(wǎng)絡(luò)。CSIMS企業(yè)總線功能與此類似,各個子系統(tǒng)將需要發(fā)布的服務(wù)以Web Services形式發(fā)布到企業(yè)總線,形成一個channel,企業(yè)總線的消息處理者會主動或
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于.net的海運(yùn)基礎(chǔ)信息平臺研究和實現(xiàn)
- 碩士學(xué)位論文
- 基于mpls的流量工程的研究與實現(xiàn)——碩士學(xué)位論文
- 基于mpls的流量工程的研究與實現(xiàn)——碩士學(xué)位論文
- 基于mpls的流量工程的研究與實現(xiàn)——碩士學(xué)位論文
- 在職人員攻讀碩士學(xué)位管理信息平臺
- 碩士學(xué)位論文規(guī)范
- 基于etl應(yīng)用的商業(yè)決策信息系統(tǒng)的設(shè)計與實現(xiàn)碩士學(xué)位論文
- 基于fpga和matlab的qpsk調(diào)制解調(diào)碩士學(xué)位論文
- 江蘇學(xué)術(shù)學(xué)位碩士學(xué)位論文
- 碩士學(xué)位論文雇主責(zé)任研究
- 碩士學(xué)位論文刑罰限度研究
- 申請工學(xué)碩士學(xué)位論文
- 碩士學(xué)位論文寫作規(guī)范
- 碩士學(xué)位論文修改報告
- 基于stel-0a的擴(kuò)頻信息系統(tǒng)的設(shè)計與實現(xiàn)_碩士學(xué)位論文
- 碩士學(xué)位論文的答辯技巧
- 河南優(yōu)秀碩士學(xué)位論文
- 碩士學(xué)位論文 開題報告
- 基于大數(shù)據(jù)的推薦算法研究碩士學(xué)位論文
評論
0/150
提交評論