?
本文提供了一個(gè)Web環(huán)境下基于構(gòu)件的IERP系統(tǒng)軟件的框架設(shè)計(jì),在論文中首先分析了IERP的定義,包括IERP、ERP的含義和集成過(guò)程。其次,分析了IERP系統(tǒng)的體系結(jié)構(gòu),包括框架結(jié)構(gòu)和分塊體系結(jié)構(gòu),最后討論了系統(tǒng)框架的實(shí)現(xiàn)技術(shù),包括EJB、CORBA和Web Service集成構(gòu)件的優(yōu)缺點(diǎn),并提出了IERP系統(tǒng)構(gòu)件的集成方案。
一、IERP的定義和資源集成
ERP首先是1990年初由Gartner Group提出的,在Gartner Group信息技術(shù)詞匯表(Gartner Group's IT Glossary—Enterprise Resource Planning (ERP))中關(guān)于ERP的定義如下:一個(gè)由Gartner Group提出的概念,描述下一代制造商業(yè)系統(tǒng)和制造資源計(jì)劃(Manufacturing Resource Planning MRP II)軟件的集成。它包含了客戶端/服務(wù)器(Client/Server,C/S)體系結(jié)構(gòu),使用圖形用戶接口,應(yīng)用開(kāi)放式系統(tǒng)進(jìn)行規(guī)劃。除了已有的標(biāo)準(zhǔn)功能外,它還包括其它功能,如質(zhì)量、過(guò)程運(yùn)作管理和報(bào)表等。另外,基礎(chǔ)技術(shù)在ERP中的使用,使軟件和硬件分離而易于升級(jí)。ERP的關(guān)鍵在于它能夠量身定制,因而具有固有的易用性。
F. Robert Jacobs and Elliot Bendoly 從“概念”和“系統(tǒng)”兩個(gè)方面對(duì)ERP的定義進(jìn)行了探討,概念研究主要集中在ERP對(duì)不同商業(yè)功能執(zhí)行的潛在沖擊上,而“系統(tǒng)”研究主要是對(duì)錯(cuò)綜復(fù)雜的軟件包和過(guò)程進(jìn)行設(shè)計(jì)以實(shí)現(xiàn)相應(yīng)的概念對(duì)象。
David C. Yen、David C. Chou and Jane Chang把ERP系統(tǒng)看作是一個(gè)軟件,能夠用它來(lái)集成企業(yè)內(nèi)部所有的功能信息,并且自主執(zhí)行業(yè)務(wù)處理。也就是說(shuō),ERP系統(tǒng)是一個(gè)商業(yè)管理系統(tǒng),它集成了企業(yè)的方方面面的內(nèi)容,包括計(jì)劃、市場(chǎng)和制造。
以上定義無(wú)論是從概念上,還是從系統(tǒng)上、軟件上都可以看出它們具有一個(gè)共同點(diǎn),ERP是對(duì)企業(yè)所有的信息流、物流、資金流和工作流的無(wú)縫集成,是企業(yè)集成內(nèi)部所有資源,包括財(cái)務(wù)、成本、物流、制造、人力資源等,進(jìn)行有效的計(jì)劃和控制,以達(dá)到最大效益的工具。然而,隨著Internet的廣泛應(yīng)用,傳統(tǒng)ERP逐漸顯示出了它的局限性,它主要集中在對(duì)企業(yè)內(nèi)部資源的管理,缺乏自主性和柔性,針對(duì)這一問(wèn)題,本文提出了網(wǎng)絡(luò)ERP的概念,IERP是以WEB為平臺(tái),充分利用網(wǎng)絡(luò)通信技術(shù),實(shí)現(xiàn)企業(yè)內(nèi)部資源和外部資源的無(wú)縫集成,達(dá)到企業(yè)內(nèi)部資源的共享和外部資源的協(xié)同,最終實(shí)現(xiàn)企業(yè)的在線運(yùn)作。圖1描述了IERP系統(tǒng)的資源集成過(guò)程。
圖1 IERP系統(tǒng)資源流動(dòng)集成圖
二、IERP系統(tǒng)體系結(jié)構(gòu)
1.IERP系統(tǒng)分塊體系結(jié)構(gòu)
軟件體系結(jié)構(gòu)代表了系統(tǒng)公共的高層次的抽象,是軟件開(kāi)發(fā)過(guò)程中的重要產(chǎn)品和系統(tǒng)性重用的主要資產(chǎn),基于構(gòu)件的軟件開(kāi)發(fā)必須以體系結(jié)構(gòu)為中心。為解決不同部門或公司的邏輯處理的協(xié)同,我們?cè)谠O(shè)計(jì)時(shí)引入了軟構(gòu)件以提供協(xié)同服務(wù),使軟件具有足夠的靈活性和互操作性。
傳統(tǒng)的ERP系統(tǒng)采用基于瀏覽器/服務(wù)器 (Browse/Server,B/S)的層次體系結(jié)構(gòu),分為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,雖然三層結(jié)構(gòu)在Web應(yīng)用系統(tǒng)開(kāi)發(fā)中,被證明是行之有效的,但是它的表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)層緊耦合,如果一層發(fā)生變動(dòng),其它層也必須隨之變動(dòng),不利于軟件的復(fù)用和重構(gòu)。為了克服三層結(jié)構(gòu)的局限性,我們將系統(tǒng)分成五快,從而在軟件體系結(jié)構(gòu)上保證了構(gòu)件的可復(fù)用性,軟件的可重構(gòu)性、可擴(kuò)展性。圖2為基于構(gòu)件的IERP系統(tǒng)分塊體系結(jié)構(gòu),分為前臺(tái)表現(xiàn)塊、界面構(gòu)件塊、業(yè)務(wù)功能塊、數(shù)據(jù)訪問(wèn)塊和后臺(tái)管理系統(tǒng)塊。根據(jù)定義,分層方法只允許一個(gè)層與其相鄰的上下層之間通信。如果按層次結(jié)構(gòu)將系統(tǒng)體系結(jié)構(gòu)分為五層,那么通信只能在相鄰兩層間進(jìn)行,而系統(tǒng)實(shí)際運(yùn)作時(shí)前臺(tái)表現(xiàn)層與后臺(tái)管理系統(tǒng)層的操作需要業(yè)務(wù)功能層與前臺(tái)表現(xiàn)層、界面構(gòu)件層與數(shù)據(jù)訪問(wèn)層通信。而這違反了分層原則,因此IERP系統(tǒng)體系結(jié)構(gòu)是按塊而不是按層來(lái)組織。這種結(jié)構(gòu)將數(shù)據(jù)模型與數(shù)據(jù)源分離開(kāi)來(lái),我們可以用最小的代價(jià)改變數(shù)據(jù)庫(kù)管理系統(tǒng)。各塊和各構(gòu)件之間使用對(duì)象請(qǐng)求代理(Object Request Broker,ORB)、EJB( Enterprise Java Beans,由SUN公司提出的基于Java的面向?qū)ο蟮慕M件標(biāo)準(zhǔn))和Web Service實(shí)現(xiàn)相互合作。
圖2 IERP系統(tǒng)分塊體系結(jié)構(gòu)
(1)前臺(tái)表現(xiàn)塊 用Web客戶端構(gòu)成表現(xiàn)塊,為Web瀏覽器準(zhǔn)備
顯示內(nèi)容,用于和用戶進(jìn)行交互,主要包括圖形用戶界面和所有的顯示邏輯,前臺(tái)表現(xiàn)塊函數(shù)獨(dú)立于頁(yè)面內(nèi)容,因此,可以改變業(yè)務(wù)功能或界面構(gòu)件而不會(huì)對(duì)表現(xiàn)塊造成影響。
(2)界面構(gòu)件塊 為前臺(tái)表現(xiàn)塊提供用戶顯示的界面構(gòu)件,把客戶端應(yīng)用程序從復(fù)雜的業(yè)務(wù)服務(wù)中孤立出來(lái),使表現(xiàn)塊不受復(fù)雜的業(yè)務(wù)干擾,降低表現(xiàn)塊和業(yè)務(wù)功能塊的耦合度。系統(tǒng)采用了軟構(gòu)件技術(shù),將部分腳本塊(如報(bào)表格式、圖像格式等)封裝為構(gòu)件,既有利于大量腳本的重用又增加了系統(tǒng)的安全性。
(3)業(yè)務(wù)功能塊 業(yè)務(wù)功能塊是IERP框架的核心部分,用于封裝大量可重用業(yè)務(wù)構(gòu)件。業(yè)務(wù)構(gòu)件的設(shè)計(jì)既要滿足系統(tǒng)需求,又要具備高內(nèi)聚、低耦合、易重用的特點(diǎn)。
(4)數(shù)據(jù)訪問(wèn)塊 該塊提供了接口適配器和數(shù)據(jù)庫(kù)適配器,主要用于數(shù)據(jù)為業(yè)務(wù)功能塊和界面構(gòu)件塊服務(wù),提供數(shù)據(jù)訪問(wèn)服務(wù),使業(yè)務(wù)邏輯脫離后臺(tái)管理系統(tǒng)塊的干擾,同時(shí)有利于基于構(gòu)件的事務(wù)的實(shí)現(xiàn),包括數(shù)據(jù)有效性的驗(yàn)證,數(shù)據(jù)記錄集的添加、修改、刪除等。
(5)后臺(tái)管理系統(tǒng)塊 該塊包括數(shù)據(jù)庫(kù)、知識(shí)庫(kù)、底層硬件、分布式計(jì)算環(huán)境、操作系統(tǒng)和網(wǎng)絡(luò)配置與維護(hù),數(shù)據(jù)庫(kù)用于存儲(chǔ)信息數(shù)據(jù),包括基本信息,貨物信息和生產(chǎn)信息等。知識(shí)庫(kù)用于存儲(chǔ)本地規(guī)則和部門或公司間的合作協(xié)議,支持工作流引擎的執(zhí)行。
2.IERP系統(tǒng)框架結(jié)構(gòu)
基于構(gòu)件的框架是由一組相互協(xié)作的構(gòu)件組成,通過(guò)用構(gòu)件替代框架內(nèi)部相互協(xié)作的類,以增大框架構(gòu)成成分的粒度,用構(gòu)件接口的調(diào)用替代類方法的重載,便于框架的組裝,從而使軟件具有更大的構(gòu)件粒度以及良好的擴(kuò)展機(jī)制,使其更易于被重用和重構(gòu),易于滿足軟件的客戶化要求,這些構(gòu)件及其協(xié)作關(guān)系定義了應(yīng)用系統(tǒng)的體系結(jié)構(gòu)。綜上所述,并參照文獻(xiàn)[12]給出了IERP系統(tǒng)的框架結(jié)構(gòu)(如圖3所示),系統(tǒng)主要由十三個(gè)核心構(gòu)件、一個(gè)備用構(gòu)件庫(kù)、一個(gè)客戶關(guān)系管理構(gòu)件庫(kù)、一個(gè)供應(yīng)鏈管理構(gòu)件庫(kù)、三個(gè)引擎和三個(gè)平臺(tái)構(gòu)成。圖中虛線部分為框架內(nèi)部構(gòu)件,即框架核心構(gòu)件,它實(shí)現(xiàn)了系統(tǒng)的共性。其余為由用戶定制的、待組裝構(gòu)件,即應(yīng)用構(gòu)件,它代表了系統(tǒng)的變化性。在系統(tǒng)定制時(shí),根據(jù)應(yīng)用的具體特點(diǎn),對(duì)非核心構(gòu)件庫(kù)進(jìn)行篩選,通過(guò)構(gòu)件接口將框架核心構(gòu)件和所篩選的構(gòu)件銜接起來(lái),進(jìn)行組裝,形成最終的應(yīng)用系統(tǒng)框架,實(shí)現(xiàn)軟件構(gòu)件的復(fù)用和系統(tǒng)的重構(gòu)。
圖3 IERP系統(tǒng)框架結(jié)構(gòu)
在IERP系統(tǒng)框架結(jié)構(gòu)中,通信引擎實(shí)現(xiàn)構(gòu)件之間、構(gòu)件與用戶之間的通信。主要包括數(shù)據(jù)通信、信息轉(zhuǎn)換與流動(dòng)等。企業(yè)應(yīng)用集成引擎主要實(shí)現(xiàn)構(gòu)件之間、構(gòu)件和用戶之間的請(qǐng)求和響應(yīng),例如用戶通過(guò)WEB瀏覽器提出他們的請(qǐng)求,企業(yè)應(yīng)用集成引擎則要找到所需要的請(qǐng)求,并且將結(jié)果返回給用戶。工作流引擎是系統(tǒng)構(gòu)件協(xié)同的關(guān)鍵,負(fù)責(zé)商業(yè)過(guò)程的建模、執(zhí)行與監(jiān)控?;谟脩裘?工作流管理程序按存儲(chǔ)在知識(shí)庫(kù)中的規(guī)則分析形成工作流,并利用工作流來(lái)協(xié)調(diào)完成企業(yè)內(nèi)部各部門及其相應(yīng)的應(yīng)用軟件系統(tǒng)之間的工作。
圖4 EJB、CORBA和Web Service在IERP系統(tǒng)體系結(jié)構(gòu)中的技術(shù)實(shí)現(xiàn)
三、實(shí)現(xiàn)技術(shù)
實(shí)現(xiàn)技術(shù)是系統(tǒng)實(shí)現(xiàn)的關(guān)鍵,基于構(gòu)件的IERP系統(tǒng)的框架設(shè)計(jì)主要實(shí)現(xiàn)三個(gè)方面的內(nèi)容:構(gòu)件的設(shè)計(jì)、構(gòu)件接口設(shè)計(jì)和服務(wù)。應(yīng)用的技術(shù)主要包括:EJB、CORBA和Web Service。IERP系統(tǒng)框架設(shè)計(jì)是一個(gè)基于構(gòu)件的設(shè)計(jì),是構(gòu)件的集成。構(gòu)件封裝了存儲(chǔ)數(shù)據(jù)的屬性和執(zhí)行功能的方法,它對(duì)外界隱藏設(shè)計(jì)和實(shí)現(xiàn)細(xì)節(jié),僅通過(guò)接口與外界交換信息,接口是理解構(gòu)件和使用構(gòu)件的唯一信息源。綜上所述,我們可以看出,IERP系統(tǒng)的構(gòu)件組合是通過(guò)接口集成的,并且IERP框架的實(shí)現(xiàn)依賴于一系列的服務(wù)、工具以及通信機(jī)制。
1.通過(guò)CORBA集成
CORBA是由對(duì)象管理組織(Object Management Group,OMG)為解決分布式、異構(gòu)的
軟件和硬件環(huán)境下對(duì)象之間的互操作問(wèn)題而提出的基于中間件的構(gòu)件技術(shù)。CORBA使用了中間代理機(jī)制,使用對(duì)象請(qǐng)求代理(Object Request Broker, ORB),實(shí)現(xiàn)構(gòu)件之間的通信,從而將構(gòu)件的接口與構(gòu)件的實(shí)現(xiàn)分離開(kāi)來(lái),客戶可以通過(guò)靜態(tài)存根(Stub)或者通過(guò)運(yùn)行時(shí)動(dòng)態(tài)生成的IDL(Interface Define Language,接口定義語(yǔ)言)來(lái)調(diào)用服務(wù),并且提供了一個(gè)強(qiáng)制性的網(wǎng)間對(duì)象請(qǐng)求中介通信協(xié)議(the Internet Inter-ORB Protocol, IIOP),可以通過(guò)TCP/IP協(xié)議實(shí)現(xiàn)構(gòu)件間的通信。CORBA提供了豐富的便于用戶使用的、標(biāo)準(zhǔn)的對(duì)象服務(wù),如命名服務(wù)、交易服務(wù)等。優(yōu)點(diǎn):以IDL為標(biāo)準(zhǔn),與實(shí)現(xiàn)構(gòu)件接口的語(yǔ)言、軟件平臺(tái)和硬件平臺(tái)無(wú)關(guān);以O(shè)RB為軟件總線,開(kāi)放性好。缺點(diǎn):IDL的實(shí)現(xiàn)與軟、硬件平臺(tái)相關(guān),無(wú)法滿足Internet上大量的移動(dòng)計(jì)算的需求;具有獨(dú)立的體系結(jié)構(gòu)和私有協(xié)議,不同模型的應(yīng)用系統(tǒng)之間通信十分不便。
2.通過(guò)EJB集成
EJB是Sun公司提出的基于Java的面向?qū)ο蟮慕M件標(biāo)準(zhǔn),是Java類與XML的集合,具有平臺(tái)無(wú)關(guān)性、可重用性和可移植性的特點(diǎn)。EJB構(gòu)件間的相互調(diào)用是通過(guò)遠(yuǎn)程方法調(diào)用RMI(Remote method invocation)協(xié)議完成的。RMI使用在TCP/IP上的線路集協(xié)議JRMP(Java Remote Method Protocol,Java遠(yuǎn)程方法協(xié)議)和IIOP實(shí)現(xiàn)網(wǎng)絡(luò)間的傳輸。EJB提供了JNDI(Java naming and directory interface Java ,命名和目錄接口)、JTS(Java Transaction Service,Java事務(wù)服務(wù))等一系列服務(wù)。缺點(diǎn):具有語(yǔ)言相關(guān)性;具有獨(dú)立的體系結(jié)構(gòu)和私有協(xié)議,不同模型的應(yīng)用系統(tǒng)間通信十分不便。
3.通過(guò)Web Service集成
Web Service 是建立在XML數(shù)據(jù)交換基礎(chǔ)上的軟件模型,是一種部署到Internet中,可復(fù)用的應(yīng)用程序構(gòu)件。Web Service定義了一系列標(biāo)準(zhǔn)和協(xié)議,用于接口定義、方法調(diào)用、基于Internet的構(gòu)件注冊(cè)以及各種應(yīng)用的實(shí)現(xiàn)。其中主要的標(biāo)準(zhǔn)和協(xié)議是:XML、WSDL、SOAP、HTTP、UDDI。這些標(biāo)準(zhǔn)和協(xié)議的具體介紹參看文獻(xiàn)[14]。優(yōu)點(diǎn):Web Service使用標(biāo)準(zhǔn)的Internet協(xié)議,具有協(xié)議的通用性;完全的平臺(tái)、語(yǔ)言無(wú)關(guān)性,具有良好的互操作性。缺點(diǎn):由于基于XML,所以也具有XML的缺點(diǎn),因?yàn)閄ML數(shù)據(jù)要經(jīng)過(guò)多步處理才能被系統(tǒng)使用,因此占用大量的CPU資源,對(duì)大量數(shù)據(jù)處理經(jīng)常出現(xiàn)超時(shí)現(xiàn)象。
4.IERP系統(tǒng)構(gòu)件集成方案
根據(jù)上面對(duì)CORBA、EJB和Web Service三種集成方案的優(yōu)缺點(diǎn)分析,我們?cè)谠O(shè)計(jì)IERP系統(tǒng)時(shí)將三種技術(shù)融合起來(lái),取長(zhǎng)補(bǔ)短。由于CORBA具有豐富的服務(wù)和良好的開(kāi)放性,系統(tǒng)中除需要移動(dòng)計(jì)算的構(gòu)件之外的企業(yè)內(nèi)部交互性大的構(gòu)件全部通過(guò)CORBA集成,從而避免了EJB和Web Service數(shù)據(jù)處理速度慢的缺點(diǎn)。企業(yè)內(nèi)部需要移動(dòng)計(jì)算的構(gòu)件,像物料需求計(jì)算,成本核算等,采用EJB集成,從而發(fā)揮了EJB可移植性和平臺(tái)無(wú)關(guān)性的優(yōu)點(diǎn)。對(duì)于數(shù)據(jù)交互量不大的供應(yīng)商和客戶服務(wù)構(gòu)件以及其他的與客戶、合作伙伴相關(guān)的構(gòu)件采用Web Service進(jìn)行集成,從而充分發(fā)揮了協(xié)議通用性、平臺(tái)和語(yǔ)言無(wú)關(guān)性的優(yōu)勢(shì)。
四、結(jié)論
隨著Internet和Intranet的廣泛使用,傳統(tǒng)的ERP系統(tǒng)已經(jīng)不能完全滿足企業(yè)的需要,網(wǎng)絡(luò)ERP的設(shè)計(jì)為企業(yè)提供了一個(gè)以WEB為平臺(tái)的網(wǎng)絡(luò)管理系統(tǒng),基于構(gòu)件的軟件開(kāi)發(fā)方法和作為面向領(lǐng)域具有大粒度可復(fù)用軟件成分的框架設(shè)計(jì)實(shí)現(xiàn)了IERP系統(tǒng)的互操作性,可擴(kuò)展性、可重用性和可重構(gòu)性,EJB、CORBA和Web Service為IERP系統(tǒng)的實(shí)現(xiàn)提供了技術(shù)支持。
評(píng)論
查看更多