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