




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、ERP系統(tǒng)架構(gòu)設(shè)計方案2009年5月版本控制版本注釋作者時間1.0ERP系統(tǒng)架構(gòu)設(shè)計方案初稿麥仲博2009-05-28一、前言二、架構(gòu)設(shè)計2.1 架構(gòu)分析2.2 架構(gòu)定義2.3 架構(gòu)說明2.4 軟件邏輯結(jié)構(gòu)三、具體功能簡述3.1 自定義工作流解決方案3.2 多語言解決方案3.3 消息發(fā)布/訂閱系統(tǒng)方案3.4 報表&打印方案四、系統(tǒng)平臺&支撐組件五、系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)六、開發(fā)管理層面一、前言一個企業(yè)級的商業(yè)軟件能夠滿足用戶需要、正常運行、易于維護、易于擴展,必須擁有一個良好的軟件架構(gòu)支撐。本文主要是分析和構(gòu)建一個企業(yè)級商業(yè)軟件架構(gòu)。二、架構(gòu)設(shè)計2.1 架構(gòu)分析企業(yè)級的商業(yè)軟件架構(gòu)在技術(shù)
2、層面的要求主要體系在高性能、健壯性和低成本。高性能對于企業(yè)級商業(yè)軟件來說, 軟件架構(gòu)需要盡可能地使軟件具有最高的性能,支持最大的并發(fā)性。健壯性企業(yè)級的商業(yè)軟件要求軟件是可靠的和無缺陷的?,F(xiàn)在的架構(gòu)一般是, 服務(wù)器模式的。軟件的可靠和健壯主要依賴與服務(wù)器。服務(wù)器的穩(wěn)定通過良好的代碼和完備的測試能夠解決這個問題。低成本企業(yè)級商業(yè)軟件還有一個很重要的要求:低成本。軟件架構(gòu)要求簡單、 易掌握,復(fù)雜度低,易于維護和擴展,易于測試。2.2 架構(gòu)定義本架構(gòu)以XML為整個系統(tǒng)的交互接口,包括系統(tǒng)架構(gòu)內(nèi)部和外部。整個系統(tǒng)分為界面展示層,流程控制層和數(shù)據(jù)存儲層。2.3 架構(gòu)說明系統(tǒng)架構(gòu)圖We匿戶端(b/s) 智能
3、客戶端(c/s)MobileJJErp架構(gòu)中各核心服務(wù)之間滿足松散耦合特性,具有定義良好的接口,可通過拆分與組合,可以有針對性地構(gòu)建滿足不同應(yīng)用場景需求的Erp應(yīng)用系統(tǒng)。2.3.1 適配器在集成環(huán)境中需要復(fù)用已有的應(yīng)用系統(tǒng)和數(shù)據(jù)資源,通過適配器可以將已有應(yīng)用系統(tǒng)和數(shù)據(jù)資源接入到 ERP應(yīng)用系統(tǒng)中。通過適配器可以實現(xiàn)已有資源與ERP系統(tǒng)中其它服務(wù)實現(xiàn)雙向通訊和互相調(diào)用。首先通過適配器可以實現(xiàn)對已有資源的服務(wù)化封裝,將已有資源封裝為一個服務(wù)提供者,可以為ERP應(yīng)用系統(tǒng)中的服務(wù)消費者提供業(yè)務(wù)和數(shù)據(jù)服務(wù),其次通過適配器,也可以使已有資源 可以消費ERP應(yīng)用系統(tǒng)中的其它服務(wù)。2.3.2 資源倉庫資源倉庫
4、主要功能是提供服務(wù)描述信息的存儲、分類和查詢功能。對于廣義的資源倉庫而言,除了提供服務(wù)類型的資源管理外,還需要提供對其它各種資源的管理能力,可管理對象包括:人員和權(quán)限信息、流程定義和描述、資源封裝服務(wù)、服務(wù)實現(xiàn)代碼、服務(wù)部署和打 包內(nèi)容、以及環(huán)境定義和描述信息。資源倉庫首先需要提供服務(wù)描述能力,需要能夠描述服務(wù)的各種屬性特征,包括:服務(wù)的接口描述、服務(wù)的業(yè)務(wù)特性、服務(wù)的質(zhì)量特征(如:安全、可靠和事務(wù)等)以及服務(wù)運行的QoS屬性。2.3.3 連通服務(wù)連通服務(wù)是ERP基礎(chǔ)技術(shù)平臺中的一個重要核心服務(wù),典型的連通服務(wù)就是企業(yè)服務(wù) 總線(Enterprise Service Bus, ESB),它是服
5、務(wù)之間互相通信和交互的骨干。連通服務(wù)的主要 功能是通信代理,如服務(wù)消費的雙向交互、代理之間的通信、 代理之間的通信質(zhì)量保障以及服務(wù)運行管理功能等。連通服務(wù)還需要保證傳輸效率和傳輸質(zhì)量。連通服務(wù)一般應(yīng)用于連接一個自治域內(nèi)部的各個服務(wù),在自治域內(nèi)部服務(wù)都是相對可控的,所以連通服務(wù)更多應(yīng)該考慮效率問題。2.3.4 流程服務(wù)流程服務(wù)是為業(yè)務(wù)流程的運行提供支撐的一組標準服務(wù)。業(yè)務(wù)流程是一組服務(wù)的集合, 可以按照特定的順序并使用一組特定的規(guī)則進行調(diào)用。業(yè)務(wù)流程可以由不同粒度的服務(wù)組 成,其本身可視為服務(wù)。流程服務(wù)是業(yè)務(wù)流程的運行環(huán)境,提供流程驅(qū)動,服務(wù)調(diào)用,事務(wù)管理等功能。流程服務(wù)需要支持機器自動處理的流
6、程, 也需要支持人工干預(yù)的任務(wù)操作, 它支持的業(yè)務(wù)流程主要 適用于對運行處理時間要求不高的,多方合作操作的業(yè)務(wù)過程。2.3.5 交互服務(wù)交互服務(wù)實現(xiàn)人與服務(wù)之間的交互功能。交互服務(wù)就是需要提供一組完整的功能,以實現(xiàn)人與服務(wù)的便捷交互,既能支持多種交互渠道(如瀏覽器方式,富客戶端方式和移動接入方式等),也能支持多種交互能力(如單點登錄、個性化、支持各種資源的統(tǒng)一內(nèi)容管理等)。2.3.6 協(xié)作服務(wù)協(xié)作服務(wù)用來解決自治域之間及自治域內(nèi)部的交互通信。協(xié)作服務(wù)強調(diào)標準的采用, 強調(diào)平等協(xié)作。具體實現(xiàn)技術(shù)時將更多的考慮采用WCF相關(guān)技術(shù),以實現(xiàn)流程協(xié)同,服務(wù)交互,和各種質(zhì)量屬性管理(如事務(wù)管理、可靠傳輸和
7、安全管理等)。2.3.7 安全服務(wù)像ERP這樣強調(diào)松散耦合的分布式集成系統(tǒng),安全性顯得尤為重要。安全有時被稱為 一種“事關(guān)全局的考慮”,是全方位的問題,它跨越ERP參考架構(gòu)模型的各個部分。安全服務(wù)向ERP參考架構(gòu)模型中其他服務(wù)提供基本的安全服務(wù)功能,包括:身份驗證、訪問控制、數(shù)據(jù)加密、數(shù)據(jù)完整性和抗抵賴性,以及安全信任、身份聯(lián)邦、安全會話、安全 策略等。2.3.8 信息服務(wù)信息服務(wù)特指為利用上述各種基本的核心服務(wù)提供信息管理和使用的服務(wù)。具體包括提供元數(shù)據(jù)管理功能,以一種統(tǒng)一的方式描述ERP系統(tǒng)中所需要使用的各種信息數(shù)據(jù)。它也提供對各種類型數(shù)據(jù)(包括結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)),以及分布在不同地
8、方的數(shù)據(jù)進行統(tǒng) 一的訪問管理。信息服務(wù)其目標是使應(yīng)用系統(tǒng)能夠統(tǒng)一、透明、高效地訪問和操縱位于網(wǎng)絡(luò)環(huán)境中的各種分布、異構(gòu)的數(shù)據(jù)資源,為實現(xiàn)全局數(shù)據(jù)訪問、加快應(yīng)用開發(fā)、增強網(wǎng)絡(luò)應(yīng)用和方便系統(tǒng)管理提供支持。2.3.9 運行管理工具運行管理工具提供界面友好的圖形化方式的監(jiān)控和管理工具,提供對各種資源和服務(wù)對象的運行管理功能。監(jiān)控管理工具需要管理核心服務(wù),也需要管理應(yīng)用服務(wù)??梢圆榭锤鱾€服務(wù)的運行狀態(tài)和歷史信息,也能對服務(wù)進行啟動、停止、暫停、恢復(fù)、版本升級等管 理控制操作,同時需要提供分析和統(tǒng)計功能,可以根據(jù)服務(wù)運行信息實現(xiàn)對系統(tǒng)的調(diào)整和優(yōu) 化操作。2.4 軟件邏輯結(jié)構(gòu)軟件架構(gòu)平面文本數(shù)據(jù)數(shù)據(jù)庫XML
9、RSS框架從層次結(jié)構(gòu)上分主要分為:表示層、服務(wù)層、業(yè)務(wù)層、數(shù)據(jù)層表示層表示層由UI ( User Interface)和UI控制邏輯組成。c/s選用wpf+智能客戶端,b/s選用 mvcWPF的出現(xiàn)解決了三個問題:(1)更快速的去開發(fā)更豐富的用戶體驗:使用WPF,可以在更加快速的時間內(nèi)開發(fā)出來更加豐富的界面,滿足用戶的需求。 WPF借助XAML來利用標記而不是編程語言(如 C#) 來構(gòu)造精美逼真的用戶界面 (UI),只要稍微具備一些 HTML基礎(chǔ)知識,就可以快速地掌握XAML中的大部分內(nèi)容。(2)消除用戶界面差異:wpf可以以IE為宿主的?;?Silverlight 軟件開發(fā)團隊的協(xié)作問題:在
10、軟件團隊中,我們比較熟悉 Developer、DBA、Tester IT Pro、 Architect等。Designer可能往往被我們忽視,但實際上,Designer的工作成果才是與客戶距 離最近的。而且 Designer與Developer如何配合工作,是很多團隊所頭疼的,而WPF正可 以解決此問題。智能客戶端的優(yōu)勢1)充分利用終端設(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)有很
11、好的集成*注:因xaml和html是標記語言,此層大部分可用代碼生成器生成。服務(wù)層采用微軟的 WCF, Windows Communication Foundation (WCF) 是 Microsoft 為構(gòu)建面向 服務(wù)的應(yīng)用提供的分布式通信編程框架平臺,是 .NET Framework 3.5的重要組成部分。 使用 該框架,開發(fā)人員可以構(gòu)建跨平臺、安全、可靠和支持事務(wù)處理的企業(yè)級互聯(lián)應(yīng)用解決方案。WCF從一開始就是工程化的,能夠簡化應(yīng)用程序的開發(fā)與部署,降低開發(fā)成本。用于構(gòu)建面向服務(wù)的應(yīng)用程序,不管這些程序是獨立的桌面應(yīng)用程序,還是 Web應(yīng)用程序和服務(wù), 還是高端的企業(yè)應(yīng)用程序。邏輯、業(yè)
12、務(wù)層業(yè)務(wù)層封裝了實際業(yè)務(wù)邏輯,包含數(shù)據(jù)驗證,事物處理,權(quán)限處理等業(yè)務(wù)相關(guān)操作,是整個應(yīng)用系統(tǒng)的核心。因此設(shè)計一個能夠真實反映實際需要的業(yè)務(wù)層是非常必要的,我們將實際業(yè)務(wù)具體分為業(yè)務(wù)數(shù)據(jù)與業(yè)務(wù)操作兩部分。業(yè)務(wù)數(shù)據(jù)Domain Model則是根據(jù)實際業(yè)務(wù)按照現(xiàn)實方式用OO思想建模,這樣很適合業(yè)務(wù)復(fù)雜的系統(tǒng)。通常采用自定義數(shù)據(jù)實體(Custom Data Entity )方式表達。自定義數(shù)據(jù)實體,有著良好 的性能,編譯時的類型檢查,數(shù)據(jù)表現(xiàn)方式非常直觀符合實際業(yè)務(wù)的操作方式等優(yōu)點,但需要自己定義維護類,在分布式環(huán)境下需要自己編寫序列化方法。此階段負責數(shù)據(jù)交換(傳輸)的業(yè)務(wù)實體被稱之為 DTO (Da
13、ta Transfer Object)。DTO要能夠支持:數(shù)據(jù)綁定、數(shù)據(jù)驗證、歷史記錄、級聯(lián)觸發(fā)、合并集合、序列化與反序列化,要實現(xiàn)一個大的遞歸,從其中的任何一個對象開始,能夠找出整個傳遞的所有數(shù)據(jù)。(1)、數(shù)據(jù)的綁定支持。要實現(xiàn)IEditableObject接口,對于狀態(tài)的變化要實現(xiàn)INotifyPropertyChanged 接口,這樣才能夠?qū)崿F(xiàn)數(shù)據(jù)的觸發(fā),這樣就要實現(xiàn)一個對象能夠找到其所有的集合,一個集合要能夠其所有的對象,這樣一樣,就必須實現(xiàn)從對象、集合、對象 的遞歸,再深入一點,就實現(xiàn)了數(shù)據(jù)的級聯(lián)觸發(fā),實現(xiàn)了雙向數(shù)據(jù)觸發(fā)、綁定。數(shù)據(jù)源的每 個屬性變更,要能夠在界面上反映出來,綁定界面
14、的改變,能夠記錄到后臺的數(shù)據(jù)源,并且要能夠支持回滾。對于容納這些數(shù)據(jù)的ObservableCollection集合也支持綁定處理。(2)、數(shù)據(jù)驗證。實現(xiàn)IDataErrorInfo 接口(3)對于歷史記錄。當實現(xiàn)IEditableObject這個接口,則必然實現(xiàn)了歷史記錄。能夠找 到集合的所有更改的記錄,包括刪除的記錄。對于單個對象而言是能夠得到歷史記錄和當前 數(shù)據(jù),對于集合而言,則能夠找出差異集,同時,集合也要具備集合回滾的功能。(4)級聯(lián)觸發(fā),則是在實現(xiàn)數(shù)據(jù)綁定的基礎(chǔ)上的,對于常見的主從結(jié)構(gòu),當從對象的一 個屬性改變了,要能夠自動通知其所在的集合、集合再通知所在的對象數(shù)據(jù)改變了,如果是多層
15、結(jié)構(gòu),則能夠自動的從最底層開始一路通知到頂層。(5)合并集合、集合的處理。集合的處理與數(shù)據(jù)綁定是直接相當?shù)?。?shù)據(jù)源找出差異集 之后,要對差異集進行處理,處理完之后,要對原始集合進行更進一步的處理,要把兩個集 合進行合并處理,主要是為了同步引用。(6)同時,另外要實現(xiàn)的就是 Data與SDO之間的轉(zhuǎn)換以及其他格式的數(shù)據(jù)與 SDO、Data 數(shù)據(jù)之間的數(shù)據(jù)轉(zhuǎn)換,比如 Binary/Xml/Text/Key/文件/等,最基本的是 SDO與Data之間的 轉(zhuǎn)換,這些轉(zhuǎn)換根據(jù)需要,有時候是單向的,有時候是雙向的,根據(jù)業(yè)務(wù)需求而定。(7)序列化與反序列化,主要是涉及到Binary和XML序列化。業(yè)務(wù)操作業(yè)
16、務(wù)操作負責對業(yè)務(wù)數(shù)據(jù)進行各種業(yè)務(wù)相關(guān)的處理,例如驗證,流向,整合,事物,權(quán)限等,但它不負責有關(guān)對數(shù)據(jù)源的操作。采用整合業(yè)務(wù)數(shù)據(jù)與業(yè)務(wù)方式來操作,將業(yè)務(wù)數(shù)據(jù)與相關(guān)的業(yè)務(wù)操作封裝在一起稱 為業(yè)務(wù)實體,業(yè)務(wù)實體作為統(tǒng)一的業(yè)務(wù)層為表示層提供服務(wù),同時也負責作為DTO在各個層次間傳輸,這樣完整的 Domain Model設(shè)計方式,每個業(yè)務(wù)實體都可以做為一個單獨組件 形式存在,對于組件化復(fù)用有著莫大的好處。數(shù)據(jù)層數(shù)據(jù)層的宗旨就是為數(shù)據(jù)源提供一個可供外界訪問的接口,我們應(yīng)該選用一種能夠提供數(shù)據(jù)源無關(guān)的抽象數(shù)據(jù)訪問接口并通過在其下掛接各種不同的DataProviador來訪問數(shù)據(jù)源的數(shù)據(jù)層組件,這樣做便于移植
17、到不同的數(shù)據(jù)源上。從紛繁蕪雜的關(guān)系數(shù)據(jù)模型中抽象出概念模型。這樣開發(fā)人員可以只需著眼概念模型, 而不必要去關(guān)心紛繁蕪雜的關(guān)系數(shù)據(jù)模型,從而提高開發(fā)效率。那么如何能夠做到這一點?答案就是:Linq 和 ADO.NET Entity FrameworkLINQ 幾乎支持你所期望的所有數(shù)據(jù)源:數(shù)據(jù)對象、SQL Server數(shù)據(jù)庫、XML和數(shù)據(jù)集,當然也支持 ADO.NET Entity(LINQ to Entities),LINQ 有如下優(yōu)勢:1、無需復(fù)雜學習過程即可上手下面我給出一個簡單的C#示例。String QueryString = "One", "Two&qu
18、ot;, "Three", "Four", "Five" ;要想查找其中長度大于3的字符串,你可以使用以下查詢語句:var ThisQuery =from StringValuein QueryStringwhere StringValue.Length > 3select StringValue;2、編寫更少代碼即可創(chuàng)建完整應(yīng)用。3、更快開發(fā)錯誤更少的應(yīng)用程序。4、無需求助奇怪的編程技巧就可合并數(shù)據(jù)源。5、讓新開發(fā)者開發(fā)效率更高。ADO.NET Entity Framework 包括1 .實體數(shù)據(jù)模型(Entity Data
19、Model),開發(fā)人員通過 EDM抽象出非常合適的模型。2 .非常強大的client-view/mappping引擎,用于映射數(shù)據(jù)關(guān)系3 . Entity SQL語言和LINQ 查詢對 EDM schemas的全面支持4 . ojbect services layer供您選擇以何種方式去處理查詢結(jié)果。比如(行,列或作為對象)5 .提供一個開放的模型使 ADO.NET Entity Framework可以處理其他的數(shù)據(jù)存儲。6 . Entity Framework 實現(xiàn)了樂觀的并發(fā)模式( Optimistic Concurrency Model )7 .事務(wù)處理三、具體功能簡述7.1 工作流解決
20、方案工作流引擎:該部分為工作流模型的核心部分,用于生成、管理、角度和監(jiān)控工作流的各個活動執(zhí)行情況,并實現(xiàn)相應(yīng)的人機交互。由于采用 XPDL等語言定義的工作流文件記 載了相應(yīng)的業(yè)務(wù)邏輯, 隱藏工作流引擎通過解析該文件來了解業(yè)務(wù)流轉(zhuǎn)的邏輯。然后依據(jù)某種運行模式按照解析出來的業(yè)務(wù)邏輯進行驅(qū)動,最終實現(xiàn)業(yè)務(wù)流程的流轉(zhuǎn)。工作流定義接口:通過該接口可以進行工作流程的分析、建模、描述和歸檔等工作,并將設(shè)計完畢的業(yè)務(wù)流程生成工作流引擎能夠識別的語言。工作流客戶接口:處理工作流運行過程中需要人為參與的操作。工作流調(diào)用應(yīng)用程序接口:工作流引擎調(diào)用外部應(yīng)用程序的規(guī)范。工作流引擎協(xié)作接口:不同工作流引擎之間的協(xié)作。工作流管理監(jiān)控接口:監(jiān)控和管理工作流所有實例狀態(tài)。7.2 多語言&用戶自定義標簽方案 數(shù)據(jù)庫結(jié)構(gòu)LanguageLdnguageDetai IID£ Lang_tD¥ Item_Mame ResQMrc ULLoeatian Upd 就 b_Us
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級歷史文化傳承的舉措計劃
- 大班班級日常管理的注意事項計劃
- 2025年玉米酒精糟回收蛋白飼料成套設(shè)備(DDGS)項目建議書
- 2025年異步轉(zhuǎn)移模式寬帶交換機項目建議書
- 2025年不停電電源(UPS)項目合作計劃書
- 2025年中國文創(chuàng)產(chǎn)品行業(yè)發(fā)展策略、市場環(huán)境及前景研究分析報告
- 2025年鼠抗腫瘤相關(guān)抗原單克隆抗體項目合作計劃書
- 客戶資料查詢權(quán)限嚴格把控
- 簡易私人承包合同
- 電纜電線采購合同書
- 《消費者心理與行為分析》第五版 課件全套 肖澗松 單元1-10 消費者心理與行為概述 - 消費者購買決策與購后行為
- 信息系統(tǒng)運行管理員(基礎(chǔ)知識、應(yīng)用技術(shù))合卷軟件資格考試(初級)試題與參考答案(2024年)
- 延安研學活動方案
- 2024年高考政治必修三《政治與法治》常考材料題考點梳理匯編
- 體檢報告電子版
- 2024年中考語文真題分類匯編(全國版)專題12議論文閱讀(第01期)含答案及解析
- 食堂清洗及消毒制度
- 服裝質(zhì)量管理制度
- 稀土材料技術(shù)基礎(chǔ)知識單選題100道及答案解析
- 自然辯證法概論:第四章-馬克思主義科學技術(shù)社會論
- 建筑工程質(zhì)量管理培訓(xùn)
評論
0/150
提交評論