系統(tǒng)erp架構(gòu)設(shè)計(jì)方案_第1頁
系統(tǒng)erp架構(gòu)設(shè)計(jì)方案_第2頁
系統(tǒng)erp架構(gòu)設(shè)計(jì)方案_第3頁
系統(tǒng)erp架構(gòu)設(shè)計(jì)方案_第4頁
系統(tǒng)erp架構(gòu)設(shè)計(jì)方案_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

ERP系統(tǒng)架構(gòu)設(shè)計(jì)方案年5月版本控制版本注釋作者時(shí)間1.0ERP系統(tǒng)架構(gòu)設(shè)計(jì)方案草稿麥仲博-05-28一、序言二、架構(gòu)設(shè)計(jì) 2.1架構(gòu)分析 2.2架構(gòu)定義 2.3架構(gòu)闡明 2.4軟件邏輯構(gòu)造三、詳細(xì)功能簡述3.1自定義工作流處理方案3.2多語言處理方案3.3消息公布/訂閱系統(tǒng)方案3.4報(bào)表&打印方案四、系統(tǒng)平臺(tái)&支撐組件五、系統(tǒng)網(wǎng)絡(luò)構(gòu)造六、開發(fā)管理層面一、序言一種企業(yè)級(jí)的商業(yè)軟件可以滿足顧客需要、正常運(yùn)行、易于維護(hù)、易于擴(kuò)展,必須擁有一種良好的軟件架構(gòu)支撐。本文重要是分析和構(gòu)建一種企業(yè)級(jí)商業(yè)軟件架構(gòu)。二、架構(gòu)設(shè)計(jì) 2.1架構(gòu)分析企業(yè)級(jí)的商業(yè)軟件架構(gòu)在技術(shù)層面的規(guī)定重要體系在高性能、強(qiáng)健性和低本錢。高性能對于企業(yè)級(jí)商業(yè)軟件來說,軟件架構(gòu)需要盡量地使軟件具有最高的性能,支持最大的并發(fā)性。強(qiáng)健性企業(yè)級(jí)的商業(yè)軟件規(guī)定軟件是可靠的和無缺陷的。目前的架構(gòu)一般是,效勞器模式的。軟件的可靠和強(qiáng)健重要依賴與效勞器。效勞器的穩(wěn)定通過良好的代碼和完備的測試可以處理這個(gè)問題。低本錢企業(yè)級(jí)商業(yè)軟件尚有一種很重要的規(guī)定:低本錢。軟件架構(gòu)規(guī)定簡樸、易掌握,復(fù)雜度低,易于維護(hù)和擴(kuò)展,易于測試。2.2架構(gòu)定義本架構(gòu)以XML為整個(gè)系統(tǒng)的交互接口,包括系統(tǒng)架構(gòu)內(nèi)部和外部。整個(gè)系統(tǒng)分為界面展示層,流程控制層和數(shù)據(jù)存儲(chǔ)層。2.3架構(gòu)闡明系統(tǒng)架構(gòu)圖Erp架構(gòu)中各關(guān)鍵效勞之間滿足松散耦合特性,具有定義良好的接口,可通過拆分與組合,可以有針對性地構(gòu)建滿足不一樣應(yīng)用場景需求的Erp應(yīng)用系統(tǒng)。適配器在集成環(huán)境中需要復(fù)用已經(jīng)有的應(yīng)用系統(tǒng)和數(shù)據(jù)資源,通過適配器可以將已經(jīng)有應(yīng)用系統(tǒng)和數(shù)據(jù)資源接入到ERP應(yīng)用系統(tǒng)中。通過適配器可以實(shí)現(xiàn)已經(jīng)有資源與ERP系統(tǒng)中其他效勞實(shí)現(xiàn)雙向通訊和互相調(diào)用。首先通過適配器可以實(shí)現(xiàn)對已經(jīng)有資源的效勞化封裝,將已經(jīng)有資源封裝為一種效勞提供者,可認(rèn)為ERP應(yīng)用系統(tǒng)中的效勞消費(fèi)者提供業(yè)務(wù)和數(shù)據(jù)效勞,另一方面通過適配器,也可以使已經(jīng)有資源可以消費(fèi)ERP應(yīng)用系統(tǒng)中的其他效勞。資源倉庫資源倉庫重要功能是提供效勞描述信息的存儲(chǔ)、分類和查詢功能。對于廣義的資源倉庫而言,除了提供效勞類型的資源管理外,還需要提供對其他多種資源的管理能力,可管理對象包括:人員和權(quán)限信息、流程定義和描述、資源封裝效勞、效勞實(shí)現(xiàn)代碼、效勞布署和打包內(nèi)容、以及環(huán)境定義和描述信息。資源倉庫首先需要提供效勞描述能力,需要可以描述效勞的多種屬性特性,包括:效勞的接口描述、效勞的業(yè)務(wù)特性、效勞的質(zhì)量特性(如:平安、可靠和事務(wù)等)以及效勞運(yùn)行的QoS屬性。連通效勞連通效勞是ERP根底技術(shù)平臺(tái)中的一種重要關(guān)鍵效勞,經(jīng)典的連通效勞就是企業(yè)效勞總線(EnterpriseServiceBus,ESB),它是效勞之間互相通信和交互的骨干。連通效勞的重要功能是通信代理,如效勞消費(fèi)的雙向交互、代理之間的通信、代理之間的通信質(zhì)量保障以及效勞運(yùn)行管理功能等。連通效勞還需要保證傳播效率和傳播質(zhì)量。連通效勞一般應(yīng)用于連接一種自治域內(nèi)部的各個(gè)效勞,在自治域內(nèi)部效勞都是相對可控的,因此連通效勞更多應(yīng)當(dāng)考慮效率問題。2.3.4流程效勞流程效勞是為業(yè)務(wù)流程的運(yùn)行提供支撐的一組原則效勞。業(yè)務(wù)流程是一組效勞的集合,可以按照特定的次序并使用一組特定的規(guī)那么進(jìn)行調(diào)用。業(yè)務(wù)流程可以由不一樣粒度的效勞構(gòu)成,其自身可視為效勞。流程效勞是業(yè)務(wù)流程的運(yùn)行環(huán)境,提供流程驅(qū)動(dòng),效勞調(diào)用,事務(wù)管理等功能。流程效勞需要支持機(jī)器自動(dòng)處理的流程,也需要支持人工干預(yù)的任務(wù)操作,它支持的業(yè)務(wù)流程重要合用于對運(yùn)行處理時(shí)間規(guī)定不高的,多方合作操作的業(yè)務(wù)過程。2.3.5交互效勞交互效勞實(shí)現(xiàn)人與效勞之間的交互功能。交互效勞就是需要提供一組完整的功能,以實(shí)現(xiàn)人與效勞的便捷交互,既能支持多種交互渠道(如瀏覽器方式,富客戶端方式和移動(dòng)接入方式等),也能支持多種交互能力(如單點(diǎn)登錄、個(gè)性化、支持多種資源的統(tǒng)一內(nèi)容管理等)。2.3.6協(xié)作效勞協(xié)作效勞用來處理自治域之間及自治域內(nèi)部的交互通信。協(xié)作效勞強(qiáng)調(diào)原則的采用,強(qiáng)調(diào)平等協(xié)作。詳細(xì)實(shí)現(xiàn)技術(shù)時(shí)將更多的考慮采用WCF有關(guān)技術(shù),以實(shí)現(xiàn)流程協(xié)同,效勞交互,和多種質(zhì)量屬性管理(如事務(wù)管理、可靠傳播和平安管理等)。2.3.7平安效勞像ERP這樣強(qiáng)調(diào)松散耦合的分布式集成系統(tǒng),平安性顯得尤為重要。平安有時(shí)被稱為一種“事關(guān)全局的考慮〞,是全方位的問題,它跨越ERP參照架構(gòu)模型的各個(gè)局部。平安效勞向ERP參照架構(gòu)模型中其他效勞提供主線的平安效勞功能,包括:身份驗(yàn)證、訪問控制、數(shù)據(jù)加密、數(shù)據(jù)完整性和抗抵賴性,以及平安信任、身份聯(lián)邦、平安會(huì)話、平安方略等。2.3.8信息效勞信息效勞特指為運(yùn)用上述多種主線的關(guān)鍵效勞提供信息管理和使用的效勞。詳細(xì)包括提供元數(shù)據(jù)管理功能,以一種統(tǒng)一的方式描述ERP系統(tǒng)中所需要使用的多種信息數(shù)據(jù)。它也提供對多種類型數(shù)據(jù)(包括構(gòu)造化數(shù)據(jù)和非構(gòu)造化數(shù)據(jù)),以及分布在不一樣地方的數(shù)據(jù)進(jìn)行統(tǒng)一的訪問管理。信息效勞其目的是使應(yīng)用系統(tǒng)可以統(tǒng)一、透明、高效地訪問和操縱位于網(wǎng)絡(luò)環(huán)境中的多種分布、異構(gòu)的數(shù)據(jù)資源,為實(shí)現(xiàn)全局?jǐn)?shù)據(jù)訪問、加緊應(yīng)用開發(fā)、增強(qiáng)網(wǎng)絡(luò)應(yīng)用和以便系統(tǒng)管理提供支持。2.3.9運(yùn)行管理工具運(yùn)行管理工具提供界面友好的圖形化方式的監(jiān)控和管理工具,提供對多種資源和效勞對象的運(yùn)行管理功能。監(jiān)控管理工具需要管理關(guān)鍵效勞,也需要管理應(yīng)用效勞。可以查看各個(gè)效勞的運(yùn)行狀態(tài)和歷史信息,也能對效勞進(jìn)行啟動(dòng)、停止、暫停、恢復(fù)、版本升級(jí)等管理控制操作,同步需要提供分析和記錄功能,可以根據(jù)效勞運(yùn)行信息實(shí)現(xiàn)對系統(tǒng)的調(diào)整和優(yōu)化操作。2.4軟件邏輯構(gòu)造軟件架構(gòu)圖框架從層次構(gòu)造上分重要分為:表達(dá)層、效勞層、業(yè)務(wù)層、數(shù)據(jù)層◆表達(dá)層表達(dá)層由UI〔UserInterface〕和UI控制邏輯構(gòu)成。c/s選用wpf+智能客戶端,b/s選用mvcWPF的出現(xiàn)處理了三個(gè)問題:更迅速的去開發(fā)更豐富的顧客體驗(yàn):使用WPF,可以在愈加迅速的時(shí)間內(nèi)開發(fā)出來愈加豐富的界面,滿足顧客的需求。WPF借助XAML來運(yùn)用標(biāo)識(shí)而不是編程語言〔如C#〕來構(gòu)造精美逼真的顧客界面(UI),只要稍微具有某些HTML根底知識(shí),就可以迅速地掌握XAML中的大局部內(nèi)容。消除顧客界面差異:wpf可以以IE為宿主的?;騍ilverlight軟件開發(fā)團(tuán)體的協(xié)作問題:在軟件團(tuán)體中,我們比擬熟悉Developer、DBA、Tester、ITPro、Architect等。Designer也許往往被我們忽視,但實(shí)際上,Designer的工作成果才是與客戶距離近來的。并且Designer與Developer怎樣配合工作,是諸多團(tuán)體所頭疼的,而WPF正可以處理此問題。智能客戶端的優(yōu)勢1)充足運(yùn)用終端設(shè)備的優(yōu)勢2)可以調(diào)用wcf3)支持在線和離線兩種狀態(tài)4)可以如同Web應(yīng)用程序一般簡樸以便的布署mvc內(nèi)置AJAX支持。自身含的MVC〔模型-視圖-控制器)和本系統(tǒng)MVVM(Model-View-ViewModel)就是雙胞胎,在demo里已經(jīng)有很好的集成*注:因xaml和html是標(biāo)識(shí)語言,此層大局部可用代碼生成器生成。◆效勞層采用微軟的WCF,WindowsCommunicationFoundation(WCF)是Microsoft為構(gòu)建面向效勞的應(yīng)用提供的分布式通信編程框架平臺(tái),是.NETFramework3.5的重要構(gòu)成局部。使用該框架,開發(fā)人員可以構(gòu)建跨平臺(tái)、平安、可靠和支持事務(wù)處理的企業(yè)級(jí)互聯(lián)應(yīng)用處理方案。WCF從一開始就是工程化的,可以簡化應(yīng)用程序的開發(fā)與布署,減少開發(fā)本錢。用于構(gòu)建面向效勞的應(yīng)用程序,不管這些程序是獨(dú)立的桌面應(yīng)用程序,還是Web應(yīng)用程序和效勞,還是高端的企業(yè)應(yīng)用程序。◆邏輯、業(yè)務(wù)層業(yè)務(wù)層封裝了實(shí)際業(yè)務(wù)邏輯,包括數(shù)據(jù)驗(yàn)證,事物處理,權(quán)限處理等業(yè)務(wù)有關(guān)操作,是整個(gè)應(yīng)用系統(tǒng)的關(guān)鍵。因此設(shè)計(jì)一種可以真實(shí)反應(yīng)實(shí)際需要的業(yè)務(wù)層是非常必要的,我們將實(shí)際業(yè)務(wù)詳細(xì)分為業(yè)務(wù)數(shù)據(jù)與業(yè)務(wù)操作兩局部。業(yè)務(wù)數(shù)據(jù)DomainModel那么是根據(jù)實(shí)際業(yè)務(wù)按照現(xiàn)實(shí)方式用OO思想建模,這樣很適合業(yè)務(wù)復(fù)雜的系統(tǒng)。一般采用自定義數(shù)據(jù)實(shí)體〔CustomDataEntity〕方式體現(xiàn)。自定義數(shù)據(jù)實(shí)體,有著良好的性能,編譯時(shí)的類型檢查,數(shù)據(jù)體現(xiàn)方式非常直觀符合實(shí)際業(yè)務(wù)的操作方式等長處,但需要自己定義維護(hù)類,在分布式環(huán)境下需要自己編寫序列化措施。此階段負(fù)責(zé)數(shù)據(jù)互換(傳播)的業(yè)務(wù)實(shí)體被稱之為DTO〔DataTransferObject〕。DTO要可以支持:數(shù)據(jù)綁定、數(shù)據(jù)驗(yàn)證、歷史記錄、級(jí)聯(lián)觸發(fā)、合并集合、序列化與反序列化,要實(shí)現(xiàn)一種大的遞歸,從其中的任何一種對象開始,可以找出整個(gè)傳遞的所有數(shù)據(jù)。(1)、數(shù)據(jù)的綁定支持。要實(shí)現(xiàn)IEditableObject接口,對于狀態(tài)的變化要實(shí)現(xiàn)INotifyPropertyChanged接口,這樣才可以實(shí)現(xiàn)數(shù)據(jù)的觸發(fā),這樣就要實(shí)現(xiàn)一種對象可以找到其所有的集合,一種集合要可以其所有的對象,這樣同樣,就必須實(shí)現(xiàn)從對象、集合、對象的遞歸,再深入一點(diǎn),就實(shí)現(xiàn)了數(shù)據(jù)的級(jí)聯(lián)觸發(fā),實(shí)現(xiàn)了雙向數(shù)據(jù)觸發(fā)、綁定。數(shù)據(jù)源的每個(gè)屬性變更,要可以在界面上反應(yīng)出來,綁定界面的變化,可以記錄到后臺(tái)的數(shù)據(jù)源,并且要可以支持回滾。對于容納這些數(shù)據(jù)的ObservableCollection集合也支持綁定處理。(2)、數(shù)據(jù)驗(yàn)證。實(shí)現(xiàn)IDataErrorInfo接口(3)對于歷史記錄。當(dāng)實(shí)現(xiàn)IEditableObject這個(gè)接口,那么必然實(shí)現(xiàn)了歷史記錄。可以找到集合的所有更改的記錄,包括刪除的記錄。對于單個(gè)對象而言是可以得到歷史記錄和目前數(shù)據(jù),對于集合而言,那么可以找出差異集,同步,集合也要具有集合回滾的功能。(4)級(jí)聯(lián)觸發(fā),那么是在實(shí)現(xiàn)數(shù)據(jù)綁定的根底上的,對于常見的主從構(gòu)造,當(dāng)從對象的一種屬性變化了,要可以自動(dòng)告知其所在的集合、集合再告知所在的對象數(shù)據(jù)變化了,假如是多層構(gòu)造,那么可以自動(dòng)的從最底層開始一路告知到頂層。(5)合并集合、集合的處理。集合的處理與數(shù)據(jù)綁定是直接相稱的。數(shù)據(jù)源找出差異集之后,要對差異集進(jìn)行處理,處理完之后,要對原始集合進(jìn)行更深入的處理,要把兩個(gè)集合進(jìn)行合并處理,重要是為了同步引用。(6)同步,此外要實(shí)現(xiàn)的就是Data與SDO之間的轉(zhuǎn)換以及其他格式的數(shù)據(jù)與SDO、Data數(shù)據(jù)之間的數(shù)據(jù)轉(zhuǎn)換,比方Binary/Xml/Text/Key/文獻(xiàn)/等,最主線的是SDO與Data之間的轉(zhuǎn)換,這些轉(zhuǎn)換根據(jù)需要,有時(shí)候是單向的,有時(shí)候是雙向的,根據(jù)業(yè)務(wù)需求而定。(7)序列化與反序列化,重要是波及到Binary和XML序列化。業(yè)務(wù)操作業(yè)務(wù)操作負(fù)責(zé)對業(yè)務(wù)數(shù)據(jù)進(jìn)行多種業(yè)務(wù)有關(guān)的處理,例如驗(yàn)證,流向,整合,事物,權(quán)限等,但它不負(fù)責(zé)有關(guān)對數(shù)據(jù)源的操作。采用整合業(yè)務(wù)數(shù)據(jù)與業(yè)務(wù)方式來操作,將業(yè)務(wù)數(shù)據(jù)與有關(guān)的業(yè)務(wù)操作封裝在一起稱為業(yè)務(wù)實(shí)體,業(yè)務(wù)實(shí)體作為統(tǒng)一的業(yè)務(wù)層為表達(dá)層提供效勞,同步也負(fù)責(zé)作為DTO在各個(gè)層次間傳播,這樣完整的DomainModel設(shè)計(jì)方式,每個(gè)業(yè)務(wù)實(shí)體都可以做為一種單獨(dú)組件形式存在,對于組件化復(fù)用有著莫大的好處?!魯?shù)據(jù)層數(shù)據(jù)層的宗旨就是為數(shù)據(jù)源提供一種可供外界訪問的接口,我們應(yīng)當(dāng)選用一種可以提供數(shù)據(jù)源無關(guān)的抽象數(shù)據(jù)訪問接口并通過在其下掛接多種不一樣的DataProviador來訪問數(shù)據(jù)源的數(shù)據(jù)層組件,這樣做便于移植到不一樣的數(shù)據(jù)源上。從紛繁蕪雜的關(guān)系數(shù)據(jù)模型中抽象出概念模型。這樣開發(fā)人員可以只需著眼概念模型,而不必要去關(guān)懷紛繁蕪雜的關(guān)系數(shù)據(jù)模型,從而提高開發(fā)效率。那么怎樣可以做到這一點(diǎn)?答案就是:Linq和ADO.NETEntityFrameworkLINQ幾乎支持你所期望的所有數(shù)據(jù)源:數(shù)據(jù)對象、SQLServer數(shù)據(jù)庫、XML和數(shù)據(jù)集,當(dāng)然也支持ADO.NETEntity(LINQtoEntities),LINQ有如下優(yōu)勢:無需復(fù)雜學(xué)習(xí)過程即可上手下面我給出一種簡樸的C#例如。String[]QueryString={"One","Two","Three","Four","Five"};要想查找其中長度不小于3的字符串,你可以使用如下查詢語句:varThisQuery=fromStringValueinQueryStringwhereStringValue.Length>3selectStringValue;編寫更少代碼即可創(chuàng)立完整應(yīng)用。更快開發(fā)錯(cuò)誤更少的應(yīng)用程序。無需求援奇怪的編程技巧就可合并數(shù)據(jù)源。讓新開發(fā)者開發(fā)效率更高。ADO.NETEntityFramework包括1.實(shí)體數(shù)據(jù)模型(EntityDataModel),開發(fā)人員通過EDM抽象出非常合適的模型。2.非常強(qiáng)大的client-view/mappping引擎,用于映射數(shù)據(jù)關(guān)系3.EntitySQL語言和LINQ查詢對EDMschemas的全面支持4.ojbectserviceslayer供您選擇以何種方式去處理查詢成果。比方〔行,列或作為對象〕。5.提供一種開放的模型使ADO.NETEntityFramework可以處理其他的數(shù)據(jù)存儲(chǔ)。6.EntityFramework實(shí)現(xiàn)了樂觀的并發(fā)模式〔OptimisticConcurrencyModel〕7.事務(wù)處理三、詳細(xì)功能簡述3.1工作流處理方案工作流引擎:該局部為工作流模型的關(guān)鍵局部,用于生成、管理、角度和監(jiān)控工作流的各個(gè)活動(dòng)執(zhí)行狀況,并實(shí)現(xiàn)對應(yīng)的人機(jī)交互。由于采用XPDL等語言定義的工作流文獻(xiàn)記載了對應(yīng)的業(yè)務(wù)邏輯,隱藏工作流引擎通過解析該文獻(xiàn)來理解業(yè)務(wù)流轉(zhuǎn)的邏輯。然后根據(jù)某種運(yùn)行模式按照解析出來的業(yè)務(wù)邏輯進(jìn)行驅(qū)動(dòng),最終實(shí)現(xiàn)業(yè)務(wù)流程的流轉(zhuǎn)。工作流定義接口:通過該接口可以進(jìn)行工作流程的分析、建模、描述和歸檔等工作,并將設(shè)計(jì)完畢的業(yè)務(wù)流程生成工作流引擎可以識(shí)別的語言。工作流客戶接口:處理工作流運(yùn)行過程中需要人為參與的操作。工作流調(diào)用應(yīng)用程序接口:工作流引擎調(diào)用外部應(yīng)用程序的

溫馨提示

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

評論

0/150

提交評論