引言
制造資源計(jì)劃(Manufacturing Resource Planning簡(jiǎn)稱MRPII)是由物料需求計(jì)劃MRP發(fā)展起來的一種先進(jìn)的企業(yè)現(xiàn)代化管理方法。它以MRP為核心,指導(dǎo)企業(yè)對(duì)物料、設(shè)備、人力、資金、信息五大資源進(jìn)行全面的規(guī)劃和控制,將產(chǎn)、供、銷、人、財(cái)、物各種經(jīng)營(yíng)活動(dòng)結(jié)合起來,形成一個(gè)有機(jī)的整體,最終構(gòu)成一個(gè)人機(jī)結(jié)合的閉環(huán)反饋控制系統(tǒng)。同時(shí),它向企業(yè)提供信息,支持企業(yè)生產(chǎn)經(jīng)營(yíng)活動(dòng)的運(yùn)行、管理和決策,使企業(yè)在有限資源條件下,取得最大的經(jīng)濟(jì)效益。MRPII因其顯著地效益,被當(dāng)今世界制造業(yè)作為標(biāo)準(zhǔn)管理工具而廣泛使用。
同時(shí),目前大部分企業(yè)的IT構(gòu)架都存在不宜擴(kuò)展、不夠靈活、應(yīng)用開發(fā)周期較長(zhǎng)以及利刷率較低等問題,無法滿足企業(yè)對(duì)業(yè)務(wù)敏捷性的要求,而SOA(Service-OrientedArchitecture)作為一種軟件體系結(jié)構(gòu)風(fēng)格通過復(fù)用性、靈活性和共享性從技術(shù)上支持企業(yè)的需求。本文以陜西某制造企業(yè)為背景開發(fā)了基于SOA的制造業(yè)MRPII系統(tǒng),對(duì)一般制造企業(yè)具有通用性。
l 基于SOA的MRPII體系結(jié)構(gòu)
SOA可以看成一種管理思想、設(shè)計(jì)方法。SOA的核心本質(zhì)是實(shí)現(xiàn)服務(wù)和技術(shù)的完全分離,從而達(dá)到服務(wù)的可重用性。它將企業(yè)應(yīng)用看作由一些不同粒度、能跨越企業(yè)邊界以及能實(shí)現(xiàn)特殊功能的服務(wù)集合所構(gòu)成,并在這些服務(wù)之間通過定義良好的、獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語言的接口進(jìn)行聯(lián)系,使此類系統(tǒng)可通過一種通用的方式進(jìn)行交互。因此,采用SOA實(shí)現(xiàn)企業(yè)的IT架構(gòu)能在更大范圍上達(dá)到信息共享,實(shí)現(xiàn)高度的瓦操作性和可擴(kuò)充性,同時(shí)使企業(yè)能夠?qū)ψ兏M(jìn)行快速有效的響應(yīng),取得競(jìng)爭(zhēng)優(yōu)勢(shì)。
SOA結(jié)構(gòu)中共有如圖l所示的3種角色:服務(wù)提供者采用基于XML統(tǒng)一的Web服務(wù)描述語言(Web ServiceDefinition Language,WSDL)來描述服務(wù),在統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(Universal Description,Discovery andIntegration,UDDI)注冊(cè)中心注冊(cè)發(fā)布自己的服務(wù),并且對(duì)使用自身服務(wù)的請(qǐng)求進(jìn)行響應(yīng):服務(wù)注冊(cè)中心注冊(cè)已經(jīng)發(fā)布的服務(wù)提供者,對(duì)其進(jìn)行分類,并提供搜索服務(wù);服務(wù)請(qǐng)求者利用服務(wù)代理查找所需的服務(wù),然后使用簡(jiǎn)單對(duì)象訪問協(xié)議(Simple Object Access Protocol,SOAP)來執(zhí)行服務(wù)調(diào)用。
Web服務(wù)是面向服務(wù)體系的一個(gè)最好實(shí)現(xiàn),Web服務(wù)體系使用一系列標(biāo)準(zhǔn)和協(xié)議實(shí)現(xiàn)相關(guān)的功能,如使用WSDL描述服務(wù),使用UDDI發(fā)布和查找服務(wù),使用SOAP協(xié)議執(zhí)行服務(wù)調(diào)用。它最人的特點(diǎn)是:是完全低耦合的,服務(wù)請(qǐng)求著只有在需要服務(wù)時(shí)才動(dòng)態(tài)地綁定服務(wù)提供者,其次,Web服務(wù)是可組合和可重用的,再次,采用SOAP交互協(xié)議及XML作為消息格式具有跨平臺(tái)特性。
基于SOA的制造MRPII系統(tǒng)的架構(gòu)如圖2所示。各層的功能及聯(lián)系如下:
(1)表示層:實(shí)現(xiàn)用戶交互界面,例如Web瀏覽器、應(yīng)用程序、PDA等,通過提供用戶交互界面,接受用戶交互,判斷界面數(shù)據(jù)的有效性。
(2)服務(wù)發(fā)布層:將業(yè)務(wù)邏輯層中的各種細(xì)粒度服務(wù)封裝成粒度較大的、易用的粗粒度服務(wù),通過WebService發(fā)布各種服務(wù),接受上層表示層的調(diào)用。該層是面向服務(wù)的一層, 通過該層實(shí)現(xiàn)SOA架構(gòu)的服務(wù)發(fā)布。主要提供網(wǎng)類服務(wù):
、倩A(chǔ)數(shù)據(jù)服務(wù),主要是實(shí)現(xiàn)企業(yè)組織機(jī)構(gòu)管理、人力資源管理、供應(yīng)商信息管理、物料編碼和物料清單(Bill of Material,BOM)管理等;
、進(jìn)銷存服務(wù),主要功能是負(fù)責(zé)對(duì)產(chǎn)品的合同、到貨、庫(kù)存、銷售的管理等;填寫進(jìn)貨單、采購(gòu)單、銷售單、銷售訂單,對(duì)庫(kù)存信息、銷售情況進(jìn)行統(tǒng)計(jì)查詢;
、生產(chǎn)管理服務(wù),主要功能是實(shí)現(xiàn)對(duì)訂單,主生產(chǎn)計(jì)劃(MPS),物料需求計(jì)劃(MRP)的管理,接收從銷售部門發(fā)來的產(chǎn)品需求計(jì)劃,將需求計(jì)劃按照產(chǎn)品匯總,根據(jù)產(chǎn)品BOM樹,分別計(jì)算原料的需求量,輸出最終的生產(chǎn)計(jì)劃和采購(gòu)計(jì)劃;生產(chǎn)管理服務(wù)是整個(gè)MRP系統(tǒng)核心模塊;
、茇(cái)務(wù)服務(wù),主要功能是實(shí)現(xiàn)對(duì)應(yīng)付款、應(yīng)收款及員工工資等信息的管理,對(duì)企業(yè)的整個(gè)財(cái)務(wù)情況進(jìn)行統(tǒng)計(jì);
、轄I(yíng)銷網(wǎng)絡(luò)服務(wù):對(duì)進(jìn)銷存模塊中的供貨商、銷售商和企業(yè)的整個(gè)營(yíng)銷網(wǎng)絡(luò)進(jìn)行管理。
(3)業(yè)務(wù)邏輯層:將各種業(yè)務(wù)邏輯封裝為相互獨(dú)立的細(xì)粒度服務(wù),以接受上層粗粒度服務(wù)的調(diào)用。例如,進(jìn)銷存服務(wù)共包括多個(gè)細(xì)粒度服務(wù):合同管理、到貨管理、庫(kù)存管理等。該層被設(shè)計(jì)成無狀態(tài)面向服務(wù)的模式,通過該層實(shí)現(xiàn)SOA的服務(wù)功能。
(4)數(shù)據(jù)訪問層:數(shù)據(jù)訪問邏輯組件從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)并把實(shí)體數(shù)據(jù)保存回?cái)?shù)據(jù)庫(kù)中。
2 生產(chǎn)管理服務(wù)的設(shè)計(jì)與實(shí)現(xiàn)
生產(chǎn)管理模塊是整個(gè)MRP系統(tǒng)的核心模塊,其基本內(nèi)容是編制原料的需求計(jì)劃和采購(gòu)計(jì)劃,生產(chǎn)管理模塊的基本流程如圖3所示。首先獲得從銷售部門發(fā)來的產(chǎn)品主生產(chǎn)計(jì)劃,然后根據(jù)物料清單,計(jì)算原料的毛需求,并將需求按照原料匯總,產(chǎn)生物料需求單,再進(jìn)行能力需求計(jì)劃進(jìn)行反饋,調(diào)整,最后根據(jù)原物料庫(kù)存情況、預(yù)計(jì)入庫(kù)物料產(chǎn)生物料采購(gòu)計(jì)劃和生產(chǎn)計(jì)劃。
主要子模塊包括:
、傥锪现魑募河糜诰S護(hù)公司的所有原材料及產(chǎn)品的技術(shù)參數(shù)指標(biāo)信息,包括編號(hào)、名稱、單位、規(guī)格型號(hào)、進(jìn)貨提前期、生產(chǎn)周期等等。
、谖锪锨鍐(BOM):是整個(gè)生產(chǎn)管理模塊的基礎(chǔ),它是一張列表,包含著生產(chǎn)每單位產(chǎn)品所需要的所有部件、組件、零件與原材料等,如圖4所示:它用于維護(hù)企業(yè)產(chǎn)品的物料清單,維護(hù)產(chǎn)品的原料或配件的結(jié)構(gòu);BOM是MRP計(jì)算的基礎(chǔ);在圖4中,組裝一個(gè)X需要B、C、D、E、F的數(shù)量:B-2,C-l,D-3*2=6,E-1*2+2*1+2*3*4=28;
、壑餍枨笥(jì)劃:用于暫存營(yíng)銷部門報(bào)送的缺貨信息,需要生產(chǎn)的產(chǎn)品及數(shù)量等信息;
、苤魃a(chǎn)計(jì)劃:用于結(jié)合公司的日歷制定生產(chǎn)目標(biāo),也即是將需求計(jì)劃提上日程組織生產(chǎn):
⑤MRP計(jì)算:主要用于計(jì)算相關(guān)物料的需求量,計(jì)算的結(jié)果包括物料編號(hào)、年份、計(jì)劃期、初期庫(kù)存、毛需求、凈需求。
2.1 MRP運(yùn)算邏輯
MRP計(jì)算是生產(chǎn)管理中最核心的一步,它能依據(jù)主生產(chǎn)計(jì)劃、預(yù)計(jì)入庫(kù)物料、BOM、現(xiàn)有庫(kù)存等輸入信息自動(dòng)產(chǎn)生物料需求計(jì)劃。物料需求計(jì)劃不僅要計(jì)算各層物料的需求數(shù)量,更重要的是要得出它們的需求時(shí)間。時(shí)問階段化是MRP的基本特點(diǎn)。MRP系統(tǒng)對(duì)每項(xiàng)物料的庫(kù)存狀態(tài)按時(shí)區(qū)做出分析,自動(dòng)確定計(jì)劃訂貨的數(shù)量和時(shí)間,并提醒人們不斷調(diào)整。主生產(chǎn)計(jì)劃產(chǎn)生最終產(chǎn)品的需求量(毛需求量),它來源于市場(chǎng)預(yù)測(cè)、客戶訂單的需求;中間件的毛需求量來自上屬物料項(xiàng)目的需求。某時(shí)區(qū)的凈需求量,可以通過該時(shí)區(qū)庫(kù)存量的變化得到:
毛需求=父項(xiàng)的計(jì)劃訂單數(shù)量 * 項(xiàng)目用量因子
某時(shí)區(qū)庫(kù)存可用量=上時(shí)區(qū)庫(kù)存量 + 本時(shí)區(qū)預(yù)計(jì)入庫(kù)量 - 本時(shí)區(qū)毛需求量[- 安全庫(kù)存量]
由上述公式計(jì)算出的某物料在各個(gè)時(shí)段的需求量如表1所示:
當(dāng)庫(kù)存可用量為負(fù)值時(shí),意味著出現(xiàn)了凈需求,其發(fā)生時(shí)間指出了即將發(fā)生的物料短缺,需要按其需求時(shí)間和數(shù)量進(jìn)行能力平衡后制定生產(chǎn)或采購(gòu)計(jì)劃。預(yù)計(jì)入庫(kù)量是指本時(shí)區(qū)之前各時(shí)區(qū)已下達(dá)的訂貨,預(yù)計(jì)可以在本時(shí)區(qū)之內(nèi)入庫(kù)的數(shù)量。在制造過程中,庫(kù)存項(xiàng)目指一個(gè)惟一可識(shí)別的零件或部件。提前期指物料項(xiàng)目從完工或交付日期算起倒推到開始日期的這段時(shí)間。批量指一次加工或者訂貨的數(shù)量。如果要使系統(tǒng)真正起到計(jì)劃與控制的作用,MRP模塊中提前期和批量的數(shù)值設(shè)置,必須綜合考慮產(chǎn)品的工藝過程和采購(gòu)流程,車間的生產(chǎn)能力以及它們兩者之間的相互作用等各方面的因素:安全庫(kù)存量的設(shè)置是為了應(yīng)付不確定性,比如,不合格品的出現(xiàn)、外購(gòu)件交貨延誤、設(shè)備故障等。
3 系統(tǒng)實(shí)現(xiàn)
在此MRPII系統(tǒng)中,充分地利用了SOA的設(shè)計(jì)理念,用面向服務(wù)的思想來對(duì)系統(tǒng)進(jìn)行建模,使系統(tǒng)的各功能模塊能夠以服務(wù)的形式進(jìn)行劃分。在實(shí)現(xiàn)中采用了.NET技術(shù),這使得系統(tǒng)的實(shí)現(xiàn)更加方便、快捷,并且,系統(tǒng)的開發(fā)符合SOA的軟件架構(gòu)模式,從而使系統(tǒng)的軟件架構(gòu)具有SOA的松散耦合及可重用的特性。數(shù)據(jù)訪問層主要負(fù)責(zé)數(shù)據(jù)及知識(shí)的訪問和存儲(chǔ)工作。在任何模塊中都可能對(duì)數(shù)據(jù)庫(kù)或知識(shí)庫(kù)進(jìn)行查詢或更新等操作,對(duì)于數(shù)據(jù)庫(kù)而言,有些模塊可能同時(shí)訪問不同的數(shù)據(jù)庫(kù),這就必須為系統(tǒng)提供通用的數(shù)據(jù)訪問組件,滿足系統(tǒng)不同用戶訪問不同數(shù)據(jù)庫(kù)的需要。本系統(tǒng)支持MSSQL Server、Oracle、MySQL、DB2等多種數(shù)據(jù)庫(kù)系統(tǒng)。采用工廠模式實(shí)現(xiàn)支持多數(shù)據(jù)庫(kù)系統(tǒng)。如圖5所示,即數(shù)據(jù)庫(kù)訪問的具體實(shí)現(xiàn)。
其中,IDataAccess為數(shù)據(jù)訪問邏輯接口,定義了每種數(shù)據(jù)庫(kù)訪問都必須實(shí)現(xiàn)的方法;OracleClass、SQLServerClass、MySQLCIass和DB2Class為專門針對(duì)SQL Oracle、SQLServer、MySQL和DB2而編寫的數(shù)據(jù)訪問邏輯,實(shí)現(xiàn)了IDataAccess接口:DataAccessFactory為數(shù)據(jù)訪問邏輯工廠,由該工廠負(fù)責(zé)根據(jù)配置文件Web.config動(dòng)態(tài)創(chuàng)建系統(tǒng)所需的數(shù)據(jù)訪問邏輯對(duì)象。外部方法訪問工廠類DataAccessFactory,工廠通過讀取配置文件Web contfig,獲取數(shù)據(jù)庫(kù)類型然后創(chuàng)建一個(gè)數(shù)據(jù)訪問邏輯的實(shí)例,并返回該實(shí)例的接口IDataAccess,外部方法通過調(diào)用該接口進(jìn)行數(shù)據(jù)庫(kù)操作,從而不用關(guān)心具體操作的是哪種數(shù)據(jù)庫(kù)系統(tǒng)。
系統(tǒng)中所有的應(yīng)用邏輯都在業(yè)務(wù)邏輯層中,業(yè)務(wù)邏輯就是根據(jù)具體業(yè)務(wù)需求來設(shè)計(jì)處理程序,是整個(gè)系統(tǒng)的核心部分,包括合同管理、到貨管理等,其通過調(diào)用數(shù)據(jù)訪問層的訪問接口來訪問數(shù)據(jù)庫(kù),并完成所需的業(yè)務(wù)規(guī)則。將業(yè)務(wù)數(shù)據(jù)和相關(guān)的業(yè)務(wù)操作封裝成業(yè)務(wù)實(shí)體類,業(yè)務(wù)實(shí)體的集合通過Web服務(wù)層的接口包裝,為表示層提供服務(wù)。所有的邏輯功能單元模塊以.net組件(DLL,EXE)形式存在。Web服務(wù)層SOA是一個(gè)組件模型,將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義的良好的接口聯(lián)系在一起。接口是采用中立的方式進(jìn)行定義,應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種各樣的系統(tǒng)中的服務(wù),可以以一種統(tǒng)一和通用的方式進(jìn)行交互。在圖2所示的集成框架中,業(yè)務(wù)邏輯層中的應(yīng)用是以Wcb服務(wù)接口的方式掛接到平臺(tái)中來。Web服務(wù)使用基于XML的消息處理作為基本的數(shù)據(jù)通訊方式,削除使用不同組件模型、操作系統(tǒng)和編程語言的系統(tǒng)之間存在的差異,使異類系統(tǒng)能夠作為單個(gè)計(jì)算網(wǎng)絡(luò)協(xié)同單元運(yùn)行。因?yàn)榻涌谠谠O(shè)計(jì)上采用Web服務(wù)的方式,因此,無論單元應(yīng)用本身是什么語言實(shí)現(xiàn)的,它只需把接口開放出來并注冊(cè)到UDDI注冊(cè)中心,其他應(yīng)用在使用的時(shí)候,首先去UDDI注冊(cè)中心查詢服務(wù)提供方的地址和相應(yīng)函數(shù)參數(shù)及返回值,然后使用web服務(wù)的方式去調(diào)用,就會(huì)得到接口提供方返回的數(shù)據(jù)。這種與平臺(tái)無關(guān)的SOA思想極大方便了MRPII集成平臺(tái)的實(shí)現(xiàn)。
表示層是系統(tǒng)對(duì)外提供服務(wù)的接口,主要處理與用戶的交互邏輯,為用戶提供靈活友好的使用界面。本系統(tǒng)中,用戶使用瀏覽器或其他載體與系統(tǒng)交互,表示層是基于ASP.NET的,在客戶系統(tǒng)中使用Web服務(wù),一般需要以下幾個(gè)步驟:
1)創(chuàng)建Web服務(wù)代理類
2)在客戶系統(tǒng)代碼中引用Web服務(wù)代理類
3)創(chuàng)建Web服務(wù)代理類的對(duì)象
4)調(diào)用代理類對(duì)象的方法與遠(yuǎn)程Web服務(wù)通信.NET使用發(fā)布的WSDL文件創(chuàng)建代理對(duì)象,創(chuàng)建的代理對(duì)象模擬所調(diào)用的Web服務(wù)上的療法凋用,使開發(fā)人員只需要與本地對(duì)象打交到。代理對(duì)象創(chuàng)建并格式化數(shù)據(jù)為SOAP消息發(fā)送給遠(yuǎn)程的Web服務(wù)。在.NET開發(fā)環(huán)境下支持兩種創(chuàng)建代理類的方法,一是直接在開發(fā)環(huán)境中添加Web引用,就可以添加指定Web服務(wù)器上的Web服務(wù);另一種是通過.NET自帶的WSDL.EXE工具加載Web服務(wù)的WSDL文件來創(chuàng)建代理類,創(chuàng)建完成后,添加到工程中。
4 結(jié)論
本文所設(shè)計(jì)的MRPII系統(tǒng)充分利用了面向服務(wù)的思想,在各個(gè)系統(tǒng)模塊間通過Web Services的消息總線進(jìn)行通訊,較好地解決了各個(gè)部分之間的緊耦合問題,同時(shí)系統(tǒng)基于制造企業(yè)的共性考慮而設(shè)計(jì),使其對(duì)制造生產(chǎn)行業(yè)具有一定地通用性。目前,系統(tǒng)已應(yīng)用于陜西某制造企業(yè)生產(chǎn)管理,在實(shí)際應(yīng)用中取得了良好的經(jīng)濟(jì)效益。MRPII系統(tǒng)由于采用了面向服務(wù)的體系結(jié)構(gòu),促進(jìn)了IT資源復(fù)用,使制造企業(yè)能夠在激烈的市場(chǎng)競(jìng)爭(zhēng)中具備良好的敏捷性,從『面可以根據(jù)市場(chǎng)、商機(jī)、合作環(huán)境的變化快速創(chuàng)建新的業(yè)務(wù)并且能夠快速調(diào)整現(xiàn)存業(yè)務(wù)。隨著我國(guó)制造業(yè)的大力發(fā)展及現(xiàn)代化管理的要求,基于SOA的制造生產(chǎn)MRPII系統(tǒng)將具有較好的應(yīng)用前景。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:基于SOA的制造業(yè)MRPII系統(tǒng)的研究和實(shí)現(xiàn)
本文網(wǎng)址:http://www.oesoe.com/html/support/1112153649.html