【正文】
SIMS access control system, which provides UserRole based and LDAP based access control. The thesis is posed of six chapters. The first chapter introduces the background of this thesis, the state of the art of enterprise application platform and related technologies for implementing of multitier distributed application。 Chapter two focused on specification of CSIMS architecture, multitier architecture and function implementation each tier, and describing function systems。 Chapter three explains the design and implementation details of .NET platform based CSIMS ORM Framework – a data persistence implementation strategy。 CSIMS access control system which provides UserRole based and LDAP based access control is discussed in Chapter four。 in chapter five, the design patterns are involved in CSIMS implementation, that contribute to perfect high level structure and efficient code implementation。 In the last chapter, the author concludes the whole research and gives the prospect of the system application.Yanni Wu (Computer Application Technology) Directed by Prof. Kangchen ShenKEYWORDS:.NET, Multitier Framework, Business Logic, Data persistence, Component Model, Security interception 75目錄第一章 引言 1 課題研究背景 1 海運(yùn)行業(yè)信息化現(xiàn)狀及存在的問(wèn)題 1 信息平臺(tái)技術(shù)的發(fā)展 3 平臺(tái)化軟件 3 應(yīng)用軟件體系結(jié)構(gòu)發(fā)展 4 平臺(tái)軟件的設(shè)計(jì)要求 5 本課題研究的目標(biāo)與意義 6 主要的相關(guān)技術(shù) 7 .NET技術(shù) 7 技術(shù)及C 9 10 11 XML技術(shù) 12第二章 海運(yùn)基礎(chǔ)信息平臺(tái)(CSIMS)體系結(jié)構(gòu) 14 CSIMS平臺(tái)設(shè)計(jì)目標(biāo) 14 平臺(tái)服務(wù)不斷改進(jìn)的目標(biāo) [29] [32] 14 CSIMS平臺(tái)設(shè)計(jì)目標(biāo) 14 CSIMS平臺(tái)的邏輯分層結(jié)構(gòu) 16 分層結(jié)構(gòu)圖 16 CSIMS分層設(shè)計(jì)思想 17 CSIMS邏輯層面功能介紹 18 CSIMS平臺(tái)總體邏輯結(jié)構(gòu) 21 CSIMS 平臺(tái)系統(tǒng)功能設(shè)計(jì)實(shí)現(xiàn) 22 CSIMS平臺(tái)功能模塊組成 22 基礎(chǔ)平臺(tái)管理系統(tǒng) 24 個(gè)人事務(wù)管理子系統(tǒng) 26 客戶(hù)關(guān)系管理子系統(tǒng) 27 航線管理子系統(tǒng) 29 船舶管理系統(tǒng) 30 決策支持系統(tǒng) 32第三章 CSIMS數(shù)據(jù)持久層設(shè)計(jì)與實(shí)現(xiàn) 34 引入CSIMS ORM Framework的原因 34 什么是持久層 34 為何引入持久層 34 CSIMS ORM Framework功能 34 CSIMS ORM Framework實(shí)現(xiàn) 35 整體架構(gòu)概覽: 35 實(shí)現(xiàn)數(shù)據(jù)庫(kù)無(wú)關(guān) 37 定義映射關(guān)系 38 體現(xiàn)映射關(guān)系 40 讀取映射關(guān)系 41 核心數(shù)據(jù)處理模塊實(shí)現(xiàn) 41 事務(wù)管理功能 44 持久化數(shù)據(jù)對(duì)象高級(jí)控制功能 45 查詢(xún)功能實(shí)現(xiàn) 46 CSIMS ORM Framework特點(diǎn) 46第四章 CSIMS安全控制系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn) 48 權(quán)限訪問(wèn)控制 49 CSIMS可插拔式安全系統(tǒng)架構(gòu)設(shè)計(jì) 51 Authentication模塊設(shè)計(jì) 53 Access control模塊設(shè)計(jì) 54 CSIMS安全攔截器設(shè)計(jì)與實(shí)現(xiàn) 56第五章 CSIMS平臺(tái)設(shè)計(jì)原則 59 CSIMS平臺(tái)設(shè)計(jì)原則 59 開(kāi)閉原則(OCP) 59 替換原則 (LSP) 60 依賴(lài)原則 (DIP) 61 接口分離原則(ISP) 62第六章 結(jié)論與展望 65本文所做的工作 65本文研究工作的意義 65下一步研究計(jì)劃 66系統(tǒng)的應(yīng)用前景 67致謝 68參考文獻(xiàn) 69第一章 引言 課題研究背景科學(xué)技術(shù)的高速發(fā)展、計(jì)算機(jī)在全社會(huì)各個(gè)領(lǐng)域廣泛應(yīng)用的今天,人類(lèi)已進(jìn)入信息社會(huì)的時(shí)代,一個(gè)企業(yè)能否利用計(jì)算機(jī)技術(shù)、信息網(wǎng)絡(luò)技術(shù)等現(xiàn)代化的手段服務(wù)于自身管理,幾乎決定著它是否能夠適應(yīng)當(dāng)今社會(huì)的發(fā)展。特別在中國(guó)加入WTO后,市場(chǎng)競(jìng)爭(zhēng)日益激烈,如何通過(guò)現(xiàn)代的信息化技術(shù),來(lái)提高本身生產(chǎn)、管理、銷(xiāo)售等的效率,提高企業(yè)的競(jìng)爭(zhēng)能力,是企業(yè)刻不容緩的需求。海運(yùn)系統(tǒng)作為傳統(tǒng)的物流服務(wù)業(yè),隨著全球經(jīng)濟(jì)一體化趨勢(shì)的進(jìn)一步發(fā)展和電子商務(wù)時(shí)代的到來(lái),只有對(duì)內(nèi)進(jìn)行有機(jī)整合,對(duì)外尋求強(qiáng)強(qiáng)聯(lián)合,充分發(fā)揮整體功能和規(guī)模優(yōu)勢(shì),”整合”還是”聯(lián)合”都強(qiáng)調(diào)資源的最佳配置和利用。這就對(duì)企業(yè)的信息化建設(shè)的力度,信息化應(yīng)用水平提出了較高要求。 隨著市場(chǎng)競(jìng)爭(zhēng)的加劇,以及合作伙伴對(duì)物流企業(yè)響應(yīng)速度、準(zhǔn)確性需求不斷提高,采用簡(jiǎn)單的數(shù)據(jù)錄入、輸出的信息管理手段已經(jīng)無(wú)法實(shí)現(xiàn)良好的信息管理效果,物流企業(yè)的信息化已經(jīng)開(kāi)始從硬件和數(shù)據(jù)庫(kù)建設(shè)為主向智能化程度更高的軟件應(yīng)用方向發(fā)展。同時(shí),物流行業(yè)地域分布廣、信息系統(tǒng)眾多,系統(tǒng)之間互聯(lián)互通、即時(shí)共享的需求也十分明顯,因此,系統(tǒng)整合也成為了一種必然趨勢(shì)。但是在海運(yùn)企業(yè)的實(shí)施信息化的過(guò)程中,普遍遇到異構(gòu)的軟硬件平臺(tái)、分布的數(shù)據(jù)資源與業(yè)務(wù)系統(tǒng),以及難于擴(kuò)展和適應(yīng)需求變化等問(wèn)題。 海運(yùn)行業(yè)信息化現(xiàn)狀及存在的問(wèn)題經(jīng)過(guò)研究和實(shí)地調(diào)查,我們發(fā)現(xiàn)我國(guó)海運(yùn)行業(yè)信息化存在以下特點(diǎn)和問(wèn)題 [42] [45]:1)我國(guó)海運(yùn)行業(yè)已普遍使用計(jì)算機(jī)處理業(yè)務(wù). 公司內(nèi)部建有局域網(wǎng),通過(guò)專(zhuān)線與總公司或者分公司聯(lián)結(jié),并通過(guò)ADSL或者寬帶等訪問(wèn)公網(wǎng)。由于公共基礎(chǔ)設(shè)施和內(nèi)部網(wǎng)的建設(shè),一般海運(yùn)企業(yè)都已具備了基本的信息處理環(huán)境 ;2)大部分公司已經(jīng)建設(shè)起一些滿(mǎn)足單項(xiàng)業(yè)務(wù)需要的各自獨(dú)立的應(yīng)用軟件如:船舶管理系統(tǒng),單證管理系統(tǒng),港使費(fèi)管理系統(tǒng),人事考核系統(tǒng),財(cái)務(wù)管理等業(yè)務(wù)軟件。但其中多數(shù)建立在老的平臺(tái)上,使用不便;有些企業(yè)核心業(yè)務(wù),如航運(yùn)管理等尚未開(kāi)發(fā);一些基本的應(yīng)用,如部門(mén)或崗位之間交換數(shù)據(jù),發(fā)送通知和電子郵件等尚不能進(jìn)行,沒(méi)有形成企業(yè)的內(nèi)部網(wǎng);3)大部分已實(shí)施的計(jì)算機(jī)系統(tǒng)只能做一個(gè)業(yè)務(wù)流程中一個(gè)或幾個(gè)業(yè)務(wù)環(huán)節(jié)的工作,不能完成整個(gè)業(yè)務(wù)流程;整個(gè)業(yè)務(wù)流程的大部分環(huán)節(jié)需要大量的人力投入手工完成大部分操作,這就形成公司業(yè)務(wù)的“瓶頸”,大大制約公司業(yè)務(wù)的發(fā)展。4)這些應(yīng)用軟件都有自己的數(shù)據(jù)庫(kù)或文件,一般不能實(shí)時(shí)共享;這就會(huì)造成數(shù)據(jù)重復(fù)輸入的情況。同時(shí),各系統(tǒng)間的“數(shù)據(jù)口徑”不同,系統(tǒng)之間要進(jìn)行“多對(duì)多”的數(shù)據(jù)交換十分困難,形成“信息孤島”;各部門(mén)對(duì)自己數(shù)據(jù)庫(kù)中數(shù)據(jù)的隨時(shí)更新,也可能造成公司內(nèi)部數(shù)據(jù)失去了“一致性”和“完整性”,隨著海運(yùn)企業(yè)對(duì)計(jì)算機(jī)系統(tǒng)依賴(lài)的加深,這種現(xiàn)象會(huì)導(dǎo)致公司業(yè)務(wù)的混亂。5)由于各個(gè)應(yīng)用系統(tǒng)是由不同的服務(wù)提供商,使用不同的技術(shù)在不同的時(shí)間提供的,沒(méi)有統(tǒng)一的平臺(tái)、設(shè)計(jì)和標(biāo)準(zhǔn),已經(jīng)對(duì)公司的業(yè)務(wù)帶來(lái)困難。在實(shí)際工作中因?yàn)椴煌膽?yīng)用系統(tǒng)常需跨不同的主機(jī)、或不同的操作系統(tǒng)(OS)、而因DOS Memory的限制、某些部門(mén)的工作人員每次轉(zhuǎn)換作業(yè)都需要重新開(kāi)機(jī)或使用兩臺(tái)以上計(jì)算機(jī)來(lái)作業(yè)十分麻煩。舉例來(lái)說(shuō),貨載信息審核作業(yè)是使用HP3000上的系統(tǒng)、電報(bào)前端作業(yè)是使用Clipper來(lái)開(kāi)發(fā)的系統(tǒng)而文書(shū)處理又是使用Office ,常常得打開(kāi)HP3000主機(jī)上的應(yīng)用系統(tǒng),取得數(shù)據(jù)后再關(guān)掉系統(tǒng)轉(zhuǎn)換至電報(bào)系統(tǒng)上回電報(bào),很多應(yīng)用系統(tǒng)是在DOS環(huán)境下完成的,若又需使用電子表格(EXCEL)或是文件撰寫(xiě)排版(WORD) 等工具又要重新進(jìn)入Windows 環(huán)境,如此切換作業(yè)對(duì)于工作的效率與情緒都有不良的影響。6)這些信息系統(tǒng)主要滿(mǎn)足業(yè)務(wù)操作需要,對(duì)管理層的支持較少,對(duì)決策分析的貢獻(xiàn)更少;信息系統(tǒng)沒(méi)有或基本沒(méi)有反映企業(yè)領(lǐng)導(dǎo)對(duì)本企業(yè)管理的模式、企業(yè)發(fā)展目標(biāo)的支持。信息系統(tǒng)難以跟上企業(yè)業(yè)務(wù)發(fā)展、企業(yè)重組和企業(yè)流程再造的步伐,逐漸會(huì)成為制約企業(yè)發(fā)展的因素之一;信息系統(tǒng)主要為企業(yè)內(nèi)部管理服務(wù),很少面向市場(chǎng),面向客戶(hù)、面向合作單位,難以向電子商務(wù)過(guò)渡。7)有一定的硬件:用局域網(wǎng)連起來(lái)的幾臺(tái)服務(wù)器和若干微機(jī)。一方面這些設(shè)備并沒(méi)有發(fā)揮其全部作用,例如支持企業(yè)的內(nèi)部網(wǎng);另一方面,這些設(shè)備又不足以滿(mǎn)足目前業(yè)務(wù)應(yīng)用的需求,例如業(yè)務(wù)數(shù)據(jù)如在網(wǎng)上流動(dòng),則速度會(huì)較慢;同時(shí),沒(méi)有足夠的服務(wù)器支持各類(lèi)業(yè)務(wù)數(shù)據(jù)的存儲(chǔ)和管理。8)企業(yè)深切體會(huì)到了信息化的重要性,但如何建設(shè)和應(yīng)用信息技術(shù)為公司服務(wù)的具體方案很難拿出;對(duì)信息技術(shù)的把握和管理還沒(méi)有形成科學(xué)的制度和規(guī)章。包括管理和利用企業(yè)信息資源:? 大量的數(shù)據(jù)? 計(jì)算機(jī)系統(tǒng)? 技術(shù)力量等中高級(jí)人才的不足和對(duì)信息化的認(rèn)識(shí)深度有限,信息技術(shù)工作并沒(méi)有在企業(yè)的規(guī)劃和具體工作計(jì)劃中落實(shí)。所有這一切,都使企業(yè)面臨一系列令人困惑的問(wèn)題。提高認(rèn)識(shí),掌握企業(yè)信息化的規(guī)律,加大投入,建設(shè)隊(duì)伍,形成相對(duì)穩(wěn)定的合作伙伴關(guān)系,制訂科學(xué)的發(fā)展規(guī)劃和實(shí)施計(jì)劃,是解決企業(yè)信息化問(wèn)題的對(duì)策。 信息平臺(tái)技術(shù)的發(fā)展 平臺(tái)化軟件平臺(tái)化軟件是指用來(lái)構(gòu)建與支撐應(yīng)用軟件的獨(dú)立軟件系統(tǒng)。軟件平臺(tái)有兩個(gè)基本要素,即支撐環(huán)境和開(kāi)發(fā)體系,其中支撐環(huán)境是指應(yīng)用軟件系統(tǒng)開(kāi)發(fā)與運(yùn)行的基本條件,開(kāi)發(fā)體系是指開(kāi)發(fā)與維護(hù)管理應(yīng)用軟件的工具與方法。它又可以分為技術(shù)支撐型平臺(tái)軟件和應(yīng)用實(shí)現(xiàn)型平臺(tái)軟件兩種類(lèi)型的平臺(tái)。技術(shù)支撐型平臺(tái) 為軟件系統(tǒng)研發(fā)提供通用技術(shù)基礎(chǔ)架構(gòu),主要面向軟件開(kāi)發(fā)人員,主要包含應(yīng)用軟件的運(yùn)行支持體系和上層開(kāi)發(fā)的工具,上層應(yīng)用系統(tǒng)由用戶(hù)進(jìn)行研發(fā)。、J2EE、IIS服務(wù)器等它們整合了豐富的組件和類(lèi)庫(kù),另外還提供很多不錯(cuò)的技術(shù)框架,例如提供軟件公司或企業(yè)進(jìn)行二次開(kāi)發(fā)的Library等這些功能如果不采用平臺(tái)開(kāi)發(fā)則需要用戶(hù)自己編程實(shí)現(xiàn)。使用此類(lèi)平臺(tái)進(jìn)行開(kāi)發(fā)可以大大的提高系統(tǒng)的開(kāi)發(fā)效率,并且降低系統(tǒng)出錯(cuò)的幾率。應(yīng)用實(shí)現(xiàn)型平臺(tái) 指用來(lái)構(gòu)建與支撐應(yīng)用軟件的獨(dú)立軟件系統(tǒng)。主要面向應(yīng)用軟件的終端用戶(hù)。目前直接賣(mài)給終端用戶(hù)的軟件基本上都是應(yīng)用實(shí)現(xiàn)型平臺(tái)。一般來(lái)說(shuō),這種平臺(tái)會(huì)對(duì)業(yè)務(wù)流程做很多抽象和假設(shè),對(duì)目前已經(jīng)存在的業(yè)務(wù)流程有一定的支持和抽象,一般只能依賴(lài)工作流技術(shù)對(duì)企業(yè)的業(yè)務(wù)進(jìn)行有限的更改和變更支持。 應(yīng)用軟件體系結(jié)構(gòu)發(fā)展在應(yīng)用軟件技術(shù)發(fā)展的過(guò)程中,出現(xiàn)了四類(lèi)比較重要的體系結(jié)構(gòu):?jiǎn)螌咏Y(jié)構(gòu)、客戶(hù)/服務(wù)器結(jié)構(gòu)(富客戶(hù)端結(jié)構(gòu))、三層(多層)結(jié)構(gòu)和瀏覽器/服務(wù)器結(jié)構(gòu),它們都在各自的年代得到了非常廣泛的應(yīng)用。單層應(yīng)用程序結(jié)構(gòu)單層應(yīng)用程序結(jié)構(gòu)沒(méi)有層次概念。通常一個(gè)應(yīng)用程序包括了所有的用戶(hù)界面、業(yè)務(wù)規(guī)則以及數(shù)據(jù)處理。單層應(yīng)用程序結(jié)構(gòu)由于包含了所有的應(yīng)用邏輯,從后臺(tái)最基本的數(shù)據(jù)處理,到前臺(tái)對(duì)用戶(hù)的響應(yīng)以及處理結(jié)果的顯示,所以應(yīng)用軟件往往比較龐大。單層應(yīng)用程序結(jié)構(gòu)不利于軟件工程。軟件生產(chǎn)過(guò)程中,在設(shè)計(jì)階段,要求設(shè)計(jì)人員必須面面俱到,從復(fù)雜的邏輯結(jié)構(gòu)中整理出程序設(shè)計(jì)文檔;在開(kāi)發(fā)階段,軟件開(kāi)發(fā)人員之間的協(xié)作比較困難;在測(cè)試和維護(hù)階段,對(duì)軟件的局部變動(dòng)可能會(huì)影響到整體;軟件發(fā)布之后,為適應(yīng)新的需求,在開(kāi)發(fā)新版本軟件時(shí),往往全面調(diào)整甚至廢棄原來(lái)大量的代碼,所以單層軟件的版本升級(jí)往往比較慢。其優(yōu)點(diǎn)是程序的運(yùn)行效率往往比較高,對(duì)用戶(hù)的響應(yīng)也比較快??蛻?hù)/服務(wù)器結(jié)構(gòu)客戶(hù)/服務(wù)器結(jié)構(gòu)把應(yīng)用程序分成客戶(hù)端程序和服務(wù)器端程序兩部分。用戶(hù)界面和業(yè)務(wù)規(guī)則在應(yīng)用程序的客戶(hù)端,數(shù)據(jù)維護(hù)在服務(wù)器端實(shí)現(xiàn)。業(yè)務(wù)邏輯放在數(shù)據(jù)庫(kù)系統(tǒng)中,用存儲(chǔ)過(guò)程來(lái)維護(hù)數(shù)據(jù)的系統(tǒng)結(jié)構(gòu)即屬于此類(lèi)結(jié)構(gòu)。在此類(lèi)結(jié)構(gòu)中如果把業(yè)務(wù)規(guī)則放在客戶(hù)端,則往往是客戶(hù)端非常笨重;如果把業(yè)務(wù)邏輯放在服務(wù)器端,往往難以實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)規(guī)則。三層(多層)結(jié)構(gòu)三層(多層)結(jié)構(gòu)是指業(yè)務(wù)規(guī)則被單獨(dú)提取出來(lái),構(gòu)成了中間層,形成真正的分布式應(yīng)用系統(tǒng)。在多層應(yīng)用結(jié)構(gòu)(包括三層應(yīng)用結(jié)構(gòu))中,客戶(hù)層(也稱(chēng)為表現(xiàn)層)提供用戶(hù)界面,它根據(jù)用戶(hù)的操作作出相應(yīng)的反應(yīng),它不能直接訪問(wèn)后臺(tái)數(shù)據(jù)庫(kù);業(yè)務(wù)邏輯層是負(fù)責(zé)處理所有用戶(hù)的請(qǐng)求,并把處理結(jié)果反饋給客戶(hù)層;服務(wù)器層仍然提供數(shù)據(jù)庫(kù)支持,稱(chēng)這一層為數(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ū)ο螅⒖蓪⑵浞峙涞蕉鄠€(gè)網(wǎng)絡(luò)互連的應(yīng)用服務(wù)器中間件上實(shí)現(xiàn)負(fù)荷的分擔(dān)。三層(多層)結(jié)構(gòu)可以運(yùn)行在不同的機(jī)器上,如果應(yīng)用的業(yè)務(wù)邏輯比較復(fù)雜,可以使用高配置的計(jì)算機(jī)來(lái)運(yùn)行業(yè)務(wù)層。如果應(yīng)用的數(shù)據(jù)