【正文】
基于WCF的外貿(mào)ERP業(yè)務(wù)系統(tǒng)的設(shè)計與實現(xiàn)摘要當今,ERP(Enterprise Resource Planning,企業(yè)資源計劃)系統(tǒng)已使許多企業(yè)的生產(chǎn)經(jīng)營管理發(fā)生了全新的變化。成功地實施了ERP的企業(yè)也從中獲得了顯著的效益。但是經(jīng)過這么多年的發(fā)展,ERP系統(tǒng)的規(guī)模也越來越大,導(dǎo)致維護難度極大。另外,子系統(tǒng)與子系統(tǒng)之間、模塊與模塊之間互相操作也是困難重重。如何解決這些問題已迫在眉睫。幸好,隨著SOA標準的成熟以及支持SOA實現(xiàn)技術(shù)的不斷發(fā)展,SOA在各企業(yè)的信息化建設(shè)及其各部門業(yè)務(wù)整合上也具有了一些應(yīng)用。, Remoting、Web Service等相關(guān)技術(shù)。本文首先介紹了分布式開發(fā)模型的發(fā)展過程,對傳統(tǒng)C/S與B/S的特點及基于分布式組件技術(shù)的多層B/S開發(fā)模型的優(yōu)缺點進行分析。接下來介紹了SOA,探討了Web Service技術(shù)的特點。在此基礎(chǔ)上對WCF概念、多層服務(wù)模型、通道模型、WCF宿主進行分析。還對外貿(mào)ERP業(yè)務(wù)系統(tǒng)進行了深入的需求分析,最終制定了系統(tǒng)的總體架構(gòu)。本系統(tǒng)劃分為四個層次,分別是表現(xiàn)層、通訊層、業(yè)務(wù)層和數(shù)據(jù)層。表現(xiàn)層包括用戶界面以及一定量的數(shù)據(jù)處理;通訊層主要負責客戶端和服務(wù)器端之間的通訊;業(yè)務(wù)層主要負責對數(shù)據(jù)按照一定的商業(yè)邏輯進行操作;數(shù)據(jù)層主要是屏蔽上層業(yè)務(wù)邏輯與底層數(shù)據(jù)訪問,對數(shù)據(jù)進行一系列的操作。本系統(tǒng)不僅對以上四個層具有良好的設(shè)計,更是成功的實現(xiàn)了以上四層。關(guān)鍵詞:ERP系統(tǒng),WCF,分布式,SOA67 / 75AbstractToday, production and operation and management of many panies have been changed by ERP (Enterprise Resource Planning) system. The panies that succeed with their ERP39。s implement always gains significant benefits. But after so many years of development, the size of the ERP system bee more increasing, lead to increase maintenance. In addition, the interoperation between the subsystem and the subsystem, the module and the module, that is difficult. How to solve these problems is imminent. Fortunately, with mature SOA39。s standards and technology to support SOA that is developing, there are a number of applications for SOA business integration between the enterprise information construction and its various departments. Nearly WCF as distributed development technology in .NET to fuse Net Remoting and Web Service, undoubtedly WCF is optimal weapon in .NET framework for SOA.This dissertation reviews the history of distributed software development model, analyses advantages and disadvantages of traditional C/S and B/S model, especially the multitier C/S model based on distributed ponent. This dissertation introduces WCF concept, multitier service model, channel model, WCF host. There is also a thorough requirement analysis for the foreign trade ERP business system, finally, establishes overall structure of the system. The system is divided into four levels, namely, the presentation layer, munication layer, business layer and data layer. Presentation layer including a certain amount of data processing。 munication layer is responsible for client side and server side’s munication。 business layer is mainly responsible for the data according to certain business logic to operate。 data layer is shield the upper business logic and the underlying data access, deals with a series of operations on the data. The system not only good design of the four layers, but also successful realization of the above four layer.Key Words:ERP system, WCF, Distributed, SOA 目錄摘要 iAbstract ii目錄 I圖目錄 IV表目錄 V第1章 緒論 1 研究背景 1 研究內(nèi)容 1 研究的意義 2 國內(nèi)外研究現(xiàn)狀 2 國外研究現(xiàn)狀 2 國內(nèi)研究現(xiàn)狀 3 論文的組織結(jié)構(gòu) 4 本章小結(jié) 4第2章 分布式開發(fā)模型與WCF技術(shù) 5 C/S開發(fā)模型介紹 5 B/S開發(fā)模式介紹 6 分布式組件技術(shù) 7 基于分布式組件技術(shù)的多層C/S開發(fā)模型 8 SOA介紹 8 SOA的體系結(jié)構(gòu) 10 Web Service簡介 11 WCF技術(shù) 12 WCF概念 12 合約 12 協(xié)定綁定 13 安全性層次 14 基于WCF的多層服務(wù)模型 15 WCF通道模型 16 WCF宿主 18 本章小結(jié) 19第3章 系統(tǒng)需求分析 21 項目背景 21 系統(tǒng)總體需求 21 客戶端功能 22 主要的業(yè)務(wù)流程 24 外銷合同管理 24 收購合同管理 25 進倉管理 26 出倉管理 27 出口明細單管理 27 報關(guān)單管理 27 結(jié)匯單證管理 28 核銷單管理 28 信用證管理 29 結(jié)算單管理 29 本章小結(jié) 30第4章 基于WCF的外貿(mào)ERP業(yè)務(wù)系統(tǒng)設(shè)計 31 系統(tǒng)總體方案 31 體系結(jié)構(gòu)概述 31 系統(tǒng)構(gòu)架實現(xiàn) 32 表現(xiàn)層設(shè)計 32 通訊層設(shè)計 36 業(yè)務(wù)邏輯層設(shè)計 38 數(shù)據(jù)層設(shè)計 39 WCF技術(shù)在構(gòu)架實現(xiàn)中的應(yīng)用 40 WCF實現(xiàn)雙工模式 40 WCF處理大型數(shù)據(jù)的傳輸 43 數(shù)據(jù)庫設(shè)計 46 商品表的設(shè)計 46 客戶表的設(shè)計 47 外銷合同表的設(shè)計 48 本章小結(jié) 50第5章 系統(tǒng)的實現(xiàn)和結(jié)果展示 51 系統(tǒng)的部署環(huán)境 51 系統(tǒng)的實現(xiàn) 51 Client Search表現(xiàn)層的實現(xiàn) 51 Client Search通訊層的實現(xiàn) 53 Client Search業(yè)務(wù)邏輯的實現(xiàn) 54 Client Search數(shù)據(jù)層的實現(xiàn) 55 系統(tǒng)結(jié)果展示 59 本章小結(jié) 63第6章 總結(jié)與展望 64 論文總結(jié) 64 未來的工作 64參考文獻 66作者簡歷 68致謝 69圖目錄圖 C/S開發(fā)模型 5圖 B/S開發(fā)模型 7圖 基于分布式組件技術(shù)的多層C/S開發(fā)模式 8圖 SOA的體系結(jié)構(gòu) 10圖 基于WCF的多層服務(wù)模型 15圖 通道堆棧 16圖 通道對象的靜態(tài)類圖 18圖 ERP業(yè)務(wù)系統(tǒng)的組織結(jié)構(gòu) 21圖 外銷合同管理流程 24圖 外銷合同管理流程 25圖 四層架構(gòu) 31圖 窗體類圖 33圖 BaseForm的類圖 34圖 EclipseForm的類圖 35圖 SearchForm的類圖 35圖 WizardForm的類圖 36圖 ECI通訊圖 37圖 數(shù)據(jù)層處理邏輯 39圖 CDSLock的類圖 40圖 Client Search 表現(xiàn)層 52圖 數(shù)據(jù)層機構(gòu)圖 58圖 系統(tǒng)主界面 60圖 客戶查詢界面 60圖 客戶編輯界面 61圖 外銷合同的編輯界面 61圖 收購合同的編輯界面 62圖 托運明細單的編輯界面 62表目錄表 WCF的四種合約類型 13表 WCF宿主種類以及特點 19表 46表 47表 外銷合同主表的表結(jié)構(gòu) 48表 外銷合同商品表的表結(jié)構(gòu) 49表 外銷合同費用表的表結(jié)構(gòu) 50 第1章 緒論 研究背景當今,ERP(Enterprise Resource Planning,企業(yè)資源計劃)系統(tǒng)已使許多企業(yè)的生產(chǎn)經(jīng)營管理發(fā)生了全新的變化。成功地實施了ERP的企業(yè)也從中獲得了顯著的效益。但是經(jīng)過這么多年的發(fā)展,ERP系統(tǒng)的規(guī)模也越來越大,導(dǎo)致維護難度極大。另外,子系統(tǒng)與子系統(tǒng)之間、模塊與模塊之間互相操作也是困難重重。如何解決這些問題已迫在眉睫。幸好,隨著SOA標準的成熟以及支持SOA實現(xiàn)技術(shù)的不斷發(fā)展,SOA在各企業(yè)的信息化建設(shè)及其各部門業(yè)務(wù)整合上也具有了一些應(yīng)用。, Remoting、Web Service等相關(guān)技術(shù)。基于此,本文主要研究如何使用WCF分布式技術(shù)來實現(xiàn)一個外貿(mào)ERP業(yè)務(wù)系統(tǒng)。 研究內(nèi)容研究內(nèi)容包括以下三個主要組成部分:1) 詳細分析傳統(tǒng)的C/S兩層架系統(tǒng),在實際的運行中存在的問題,比如:系統(tǒng)數(shù)據(jù)庫操作的可擴展性差,數(shù)據(jù)層負責直接與數(shù)據(jù)庫交互,業(yè)務(wù)邏輯層和表示層混合在一起作為另一層。雖然原系統(tǒng)已經(jīng)把對數(shù)據(jù)庫操作的一些方法封裝到了數(shù)據(jù)層的類里面,對于不同的事體對象可以根據(jù)需要使用類里面的方法。但是這樣的設(shè)計,可擴展性不夠好,當業(yè)務(wù)需求變動,需要改變類里面的方法時,各個客戶端都必須再重新更新應(yīng)用程序。代碼可重用性差,C/S開發(fā)模型的程序基于不同開發(fā)工具,數(shù)據(jù)庫平臺,由于兼容性的原因,代碼很難重用。如果以前已用C開發(fā)了一個C/S兩層架構(gòu)的報價單管理系統(tǒng),現(xiàn)在單位想用Java再開發(fā)一個Web版的報價單管理系統(tǒng),來方便客戶查詢公司產(chǎn)品的價格。此時以前寫的代碼就很難重用,不得不用java再重新實現(xiàn)一遍,增加了成本。思考若運用WCF技術(shù)是否可以解決這些問題。2) 分析WCF組成、技術(shù)特點、通信模式、部署方式、安全性。3) 分析外貿(mào)的業(yè)務(wù)流程,從而設(shè)計出一套外貿(mào)ERP業(yè)務(wù)系統(tǒng),有效地幫組企業(yè)去加強過程控制,設(shè)置風險預(yù)警,細化業(yè)務(wù)核算。 研究的意義在一個系統(tǒng)的中特別是較為大型的系統(tǒng)中,如外貿(mào)ERP業(yè)務(wù)系統(tǒng),可按照功能切分為:商品管理系統(tǒng)、客戶管理系統(tǒng)、外銷合同管理系統(tǒng)、收購合同管理系統(tǒng)、報關(guān)單管理系統(tǒng)、倉儲管理系統(tǒng)等。在這樣的應(yīng)用中系統(tǒng)切分了、功能獨立了、耦合降低了、容易維護了,可是各個系統(tǒng)中的通訊怎么完成呢?假如發(fā)生一筆“以銷定購”的業(yè)務(wù),采購員在使用ERP系統(tǒng)新建收購合同的時候,勢必想去讀取外銷合同中的有用數(shù)據(jù)(如商品信息),那要怎么做呢?是要直接引用外銷合同管理系統(tǒng)的DLL還是把這些需要相互調(diào)用的功能放在一個叫Common的項目中供所有子系統(tǒng)調(diào)用呢,或者干脆直接在收購合同管理系統(tǒng)中訪問數(shù)據(jù)庫中的外銷合同數(shù)據(jù),這些方法都是不太良好的。分布式技術(shù)的出現(xiàn)將物理分散的資源、處理邏輯整合成統(tǒng)一的工作平臺,并在整個系統(tǒng)上進行分配與優(yōu)化,克服了傳統(tǒng)集中式系統(tǒng)的缺陷。之后SOA(面向服務(wù)的架構(gòu))的出現(xiàn),又將應(yīng)用程序的不同的功能單元構(gòu)建為服務(wù),這些服務(wù)通過定義良好的借口和契約聯(lián)系起來。接口采用中立的方式定義,它獨立于實現(xiàn)服務(wù)的硬件平臺,操作系統(tǒng)和編程語言。使得構(gòu)建在各種系統(tǒng)中的服務(wù)以統(tǒng)一,通用的方式進行交互。Microsoft公司順應(yīng)這一趨勢,推出了基于SOA的網(wǎng)絡(luò)開發(fā)新技術(shù)WCF(Windows Communication Foundation,windows通信基礎(chǔ))。WCF采用面向服務(wù)的新型編程模型簡化了分布式應(yīng)用程序的開發(fā)。它提供分層的體系結(jié)構(gòu),支持多種風格的分布式應(yīng)用程序開發(fā)。WCF對“WS*”標準的內(nèi)置支持,提供了安全、可靠、協(xié)商過的互操作。對于開發(fā)人員開說,這減少了達到異構(gòu)平臺互操作所需的基礎(chǔ)結(jié)構(gòu)代碼量。對于企業(yè)來說,這意味著在組織內(nèi)部和外部與客戶、伙伴和供應(yīng)商交互的能力,而不管他們使用的是什么平臺。因此,選用WCF分布式技術(shù)來實現(xiàn)一個外貿(mào)ERP業(yè)務(wù)系統(tǒng),不失為一個最佳的解決方案。 國內(nèi)外研究現(xiàn)狀 國外研究現(xiàn)狀在一些IT應(yīng)用比較發(fā)達的歐美國家中,企業(yè)已經(jīng)開始著手整合其不同種類的操作系統(tǒng),應(yīng)用軟件,系統(tǒng)軟件和應(yīng)用基礎(chǔ)結(jié)構(gòu)(application infrastructure)。一些現(xiàn)存的應(yīng)用程序被用來處理當前的業(yè)務(wù)流程(business