瀘州醫(yī)學(xué)院工程系信息技術(shù)教研室 張 勇
Internet Web平臺(tái)技術(shù)在企業(yè)信息化管理中得到普遍的應(yīng)用和推廣,如何基于Web Services平臺(tái)更好地研究和實(shí)現(xiàn)企業(yè)信息(包括物流信息在內(nèi))的集成應(yīng)用和管理是當(dāng)前物流管理信息化研究領(lǐng)域的一個(gè)熱點(diǎn)問題。ERP(Enterprise Resources Planning)被稱為企業(yè)資源計(jì)劃系統(tǒng),隨著Internet Web技術(shù)的推廣,該系統(tǒng)也越來越多地面向Web Services 應(yīng)用進(jìn)行開發(fā),以系統(tǒng)化、一體化的管理思想服務(wù)于企業(yè)的經(jīng)營管理和戰(zhàn)略決策,并為基本業(yè)務(wù)操作提供信息化、自動(dòng)化手段,以提高工作效率。
市場(chǎng)上出現(xiàn)的多數(shù)ERP應(yīng)用系統(tǒng)都是面向具有普遍性應(yīng)用的業(yè)務(wù)流程和對(duì)象而開發(fā)的,其功能模塊覆蓋面廣且比較齊全。但對(duì)于企業(yè)物流管理或物流企業(yè)的業(yè)務(wù)管理,由于其面臨著較多的動(dòng)態(tài)不確定因素,會(huì)產(chǎn)生多樣化、個(gè)性化的需求,這時(shí)就需要對(duì)ERP系統(tǒng)進(jìn)行二次開發(fā)。物流信息管理模塊是ERP系統(tǒng)的核心組成模塊,本文構(gòu)建和設(shè)計(jì)了一個(gè)以生產(chǎn)制造企業(yè)為對(duì)象模型的ERP系統(tǒng)物流信息管理模塊,通過對(duì)企業(yè)物流信息管理的功能需求分析和設(shè)計(jì),希望能夠提高企業(yè)物流管理的信息化水平和運(yùn)行效率。設(shè)計(jì)過程中使用了微軟的.NET Framework框架、Web Services應(yīng)用以及ASP.NET技術(shù)。
.NET Framework是微軟推出的面向Internet應(yīng)用的編程平臺(tái),其采取系統(tǒng)虛擬機(jī)的形式運(yùn)行,它建立在通用語言運(yùn)行庫CLR的基礎(chǔ)之上,因而可以支持多語言進(jìn)行程序編寫,同時(shí)它也為應(yīng)用程序接口(API)提供了新的開發(fā)工具和手段,使得開發(fā)者可以很容易以此為平臺(tái)構(gòu)建和開發(fā)Web Services應(yīng)用程序。
ASP.NET是建立在.NET平臺(tái)上的動(dòng)態(tài)網(wǎng)頁技術(shù),作為ASP技術(shù)和.NET技術(shù)的結(jié)合體,ASP.NET技術(shù)極大地改變了程序開發(fā)的流程和方法,也改變了企業(yè)從事業(yè)務(wù)活動(dòng)管理的模式。從更具體的角度來看,ASP.NET技術(shù)是建立在.NET Framework框架類的基礎(chǔ)之上的,該框架為其提供了強(qiáng)大的程序開發(fā)控件和Web程序開發(fā)支持,使得XML Web和Web Services應(yīng)用開發(fā)及其操作維護(hù)變得非常簡(jiǎn)單,它將復(fù)雜的HTML代碼封裝進(jìn)了ASP.NET控件開發(fā)之中,并且這些程序空間在Web服務(wù)器端運(yùn)行,在客戶端又可以通過HTML的方式呈現(xiàn)給使用者。
Web Services是指在Web服務(wù)器端部署的應(yīng)用組件或?qū)ο?,它通過Internet來組合存取多個(gè)應(yīng)用程序并構(gòu)建一個(gè)動(dòng)態(tài)的程序交流環(huán)境,有效地解決了網(wǎng)絡(luò)環(huán)境下具有較低耦合性的客戶端程序與Web Services應(yīng)用以及Web Services之間的集成和相互調(diào)用問題。Web Services包括一系列技術(shù)應(yīng)用,諸如XML、WSDL、SOAP以及UDDI等,一般將Web Services作為一個(gè)應(yīng)用程序發(fā)布,它可以通過統(tǒng)一資源定位器(URL)來進(jìn)行尋址定位,并可以根據(jù)這種URL請(qǐng)求將相應(yīng)的信息返回給客戶端。服務(wù)提供者、服務(wù)請(qǐng)求者和服務(wù)注冊(cè)中心是Web Services體系結(jié)構(gòu)中的三種基本角色,三者之間的信息交互是通過發(fā)布、查找和綁定操作來完成的。
本文所選取的研究對(duì)象是一個(gè)生產(chǎn)制造企業(yè),該企業(yè)的物流成本像其他許多企業(yè)一樣居高不下,在生產(chǎn)經(jīng)營總成本中的比重在40%以上,因此企業(yè)為了降低生產(chǎn)經(jīng)營中的物流成本,提高競(jìng)爭(zhēng)力和經(jīng)濟(jì)效益,決定在ERP項(xiàng)目中增加一個(gè)物流管理信息化模塊,并讓該模塊與其他已有模塊之間進(jìn)行有效的信息資源共享和通訊。
該企業(yè)的基本思路是在現(xiàn)有的ERP系統(tǒng)的基礎(chǔ)上進(jìn)行擴(kuò)展和調(diào)整,主要是完善和優(yōu)化原材料、輔助材料采購計(jì)劃的制定、物資采購和貨物進(jìn)出庫管理,產(chǎn)成品物流管理方面主要是產(chǎn)品的生產(chǎn)制造、貨物的出庫入庫管理以及產(chǎn)品的銷售等環(huán)節(jié),最終實(shí)現(xiàn)對(duì)原材料采購計(jì)劃、生產(chǎn)制造計(jì)劃、產(chǎn)成品庫存管理計(jì)劃以及產(chǎn)品銷售過程計(jì)劃等的一體化、全過程管理和監(jiān)控,提高物流作業(yè)的管理水平和工作效率,減少相關(guān)的資金占用,降低物流運(yùn)作成本。
在該企業(yè)物流信息管理模塊系統(tǒng)開發(fā)的過程中,服務(wù)器端的硬盤文件格式采用安全級(jí)別相對(duì)較高的NTFS格式,開發(fā)服務(wù)器端安裝了ERP軟件以方便系統(tǒng)開發(fā)過程中的調(diào)試。開發(fā)過程中還需要以下工具或軟件:使用SQL SERVER 2005作為系統(tǒng)開發(fā)的底層數(shù)據(jù)庫,數(shù)據(jù)存放以關(guān)系數(shù)據(jù)表格的形式為主,同時(shí)有一部分?jǐn)?shù)據(jù)以XML的形式存儲(chǔ);使用VISAUL STUDIO 2005作為Web應(yīng)用程序開發(fā)的工具,其十分強(qiáng)大的集成環(huán)境能夠加速系統(tǒng)開發(fā)的速度;使用.NET Framework 2.0 SDK開發(fā)工具包作為ASP.NET的開發(fā)環(huán)境;使用微軟的Internet Information Service 7.0作為Web服務(wù)器,同時(shí)選擇微軟的Internet Explorer 7.0作為Web瀏覽器。
在物流信息管理模塊的開發(fā)過程中采取多人同步、協(xié)調(diào)開發(fā)的方式,對(duì)此.NET給予了充分的支持。供應(yīng)鏈管理、財(cái)務(wù)管理和生產(chǎn)管理是本ERP物流信息管理模塊的三個(gè)基本領(lǐng)域,同時(shí)也是生產(chǎn)制造企業(yè)物流管理的三個(gè)主要業(yè)務(wù)領(lǐng)域,這三大領(lǐng)域在實(shí)際的物流業(yè)務(wù)運(yùn)作和信息管理中會(huì)相互滲透、彼此聯(lián)系,因而其資源信息共享情況和信息順暢與否對(duì)于企業(yè)物流管理的績(jī)效會(huì)有很大影響?;诖?,本文在設(shè)計(jì)和規(guī)劃物流信息管理模塊時(shí)突出強(qiáng)調(diào)和重點(diǎn)關(guān)注這三大領(lǐng)域。圖1給出了三者在ERP物流信息管理模塊中的邏輯關(guān)系。
圖1 ERP物流信息管理模塊中三大主要領(lǐng)域及其關(guān)系
供應(yīng)鏈管理、生產(chǎn)業(yè)務(wù)管理和財(cái)務(wù)業(yè)務(wù)管理三者信息管理功能模塊的劃分如下:
(1)供應(yīng)鏈管理模塊。該模塊主要實(shí)現(xiàn)庫存管理、物資采購管理、產(chǎn)品銷售管理以及資源分銷計(jì)劃管理等。
(2)生產(chǎn)業(yè)務(wù)管理模塊。該模塊主要實(shí)現(xiàn)以下幾個(gè)功能:生產(chǎn)制造標(biāo)準(zhǔn)制定、物資需求計(jì)劃管理、主生產(chǎn)計(jì)劃管理、車間作業(yè)管理、能力需求計(jì)劃管理、質(zhì)量管理、重復(fù)制造生產(chǎn)管理以及設(shè)備管理等。
(3)財(cái)務(wù)業(yè)務(wù)管理模塊。該模塊主要實(shí)現(xiàn)以下幾個(gè)功能:應(yīng)收賬款管理、總賬管理、預(yù)算會(huì)計(jì)管理、應(yīng)付賬款管理、固定資產(chǎn)管理、現(xiàn)金管理、賬簿報(bào)表管理以及工資管理等。
以上三模塊同時(shí)融入部分其他模塊的功能,比如人力資源管理、經(jīng)營預(yù)測(cè)管理、技術(shù)管理、決策管理和工作流管理等。
Web Services技術(shù)的主要作用是將原來局限在局部網(wǎng)絡(luò)中使用的組件開發(fā)技術(shù)和面向?qū)ο箝_發(fā)技術(shù)擴(kuò)展到了Internet網(wǎng)絡(luò)應(yīng)用上,因而它使得企業(yè)的ERP物流管理信息系統(tǒng)可以在開放的Internet環(huán)境下運(yùn)行,這對(duì)于企業(yè)物流活動(dòng)中異構(gòu)數(shù)據(jù)廣泛分布的特點(diǎn)是十分重要的,它把分布在不同時(shí)間、空間上的物流信息數(shù)據(jù)通過松散耦合、封裝和動(dòng)態(tài)綁定實(shí)現(xiàn)了集成化和一體化處理應(yīng)用。
在本文所設(shè)計(jì)的物流信息管理模塊中,Web Services對(duì)于XML、HTTP和SOAP提供完全的支持,因而它在實(shí)際布局中可以輕而易舉地跨越企業(yè)目前信息管理系統(tǒng)中所普遍設(shè)置的代理服務(wù)器或防火墻。建立在Web Services技術(shù)平臺(tái)上的物流信息管理模塊系統(tǒng)能夠獨(dú)立地運(yùn)行在不同操作系統(tǒng)、不同規(guī)格的硬件參數(shù)以及各種不同開發(fā)環(huán)境中,能夠與已有的ERP系統(tǒng)模塊進(jìn)行更好的集成和整合,從而幫助企業(yè)內(nèi)部各業(yè)務(wù)部門之間、企業(yè)與客戶之間、企業(yè)與供應(yīng)商之間以較低的成本實(shí)現(xiàn)信息系統(tǒng)的對(duì)接,這樣就為企業(yè)搭建了良好的溝通協(xié)同工作環(huán)境。
物流信息管理模塊的框架級(jí)別分為三層:數(shù)據(jù)層、邏輯層和應(yīng)用層。層結(jié)構(gòu)很好地實(shí)現(xiàn)了數(shù)據(jù)、邏輯和應(yīng)用與ERP系統(tǒng)模塊的銜接。此外,邏輯和應(yīng)用的分離規(guī)范了應(yīng)用程序?qū)?shù)據(jù)的操作,增加了模塊系統(tǒng)的重用性,數(shù)據(jù)與邏輯的分離增強(qiáng)了系統(tǒng)數(shù)據(jù)的安全性。
(1)數(shù)據(jù)層實(shí)現(xiàn)。物流信息管理模塊的數(shù)據(jù)基礎(chǔ)為數(shù)據(jù)層,系統(tǒng)數(shù)據(jù)庫利用XML將系統(tǒng)中的日志記錄、實(shí)例數(shù)據(jù)以及模型數(shù)據(jù)保存,業(yè)務(wù)事件的引入使得不同過程實(shí)例、過程實(shí)例內(nèi)部以及跨平臺(tái)物流信息模塊之間進(jìn)行很方便的交互運(yùn)行。該模塊采用SQL Server作為數(shù)據(jù)庫管理系統(tǒng),運(yùn)用企業(yè)建模工具建立和維護(hù)應(yīng)用定義數(shù)據(jù)、組織資源模型、過程模型,用戶實(shí)例數(shù)據(jù)由ProcessInstance、ActivityInstance、 RelevantData、 EventLog、RelevantDataLog五張表組成,記錄了財(cái)務(wù)、管理、物流信息、活動(dòng)實(shí)例信息、過程實(shí)例信息等相關(guān)數(shù)據(jù),以及相關(guān)事件日志和數(shù)據(jù)日志。
(2)邏輯層實(shí)現(xiàn)。物流信息管理模塊的核心部分為邏輯層,包含供應(yīng)鏈管理模塊、生產(chǎn)業(yè)務(wù)管理模塊、財(cái)務(wù)業(yè)務(wù)管理模塊三個(gè)基本模塊。通過將系統(tǒng)相關(guān)業(yè)務(wù)邏輯封裝為Web服務(wù)器的方式,為應(yīng)用層和邏輯層其他模塊提供操作數(shù)據(jù)的標(biāo)準(zhǔn)接口。該系統(tǒng)是以物狀態(tài)組件方式來實(shí)現(xiàn)系統(tǒng)各服務(wù)組建的,因此,系統(tǒng)所有組件不需要保存任何系統(tǒng)數(shù)據(jù),這些數(shù)據(jù)都將保存在數(shù)據(jù)層的Web服務(wù)器中。
(3)應(yīng)用層實(shí)現(xiàn)。物流信息管理模塊的系統(tǒng)應(yīng)用層由管理員、調(diào)度員和Web客戶端組成,所有客戶應(yīng)用都將運(yùn)行在ERP系統(tǒng)的集成環(huán)境中。在操作物流系統(tǒng)事件時(shí),通過系統(tǒng)服務(wù)組件提供的接口來實(shí)現(xiàn)各部分功能。該模塊采用Web形式實(shí)現(xiàn)了管理工具功能和系統(tǒng)客戶應(yīng)用,客戶只需要通過ASP.NET建立在.NET平臺(tái)上的動(dòng)態(tài)網(wǎng)頁就能執(zhí)行和查看各項(xiàng)操作。
考慮到企業(yè)原有的ERP系統(tǒng)中有財(cái)務(wù)管理功能模塊,因此在基于Web技術(shù)的物流信息管理模塊的開發(fā)過程中把基點(diǎn)放在了.NET Framework框架上。該模塊主要實(shí)現(xiàn)以下功能:生產(chǎn)制造計(jì)劃制定、物資采購管理、物資出入庫管理以及產(chǎn)品銷售管理,同時(shí)要求實(shí)現(xiàn)物資采購和產(chǎn)品銷售等物流作業(yè)流程與財(cái)務(wù)系統(tǒng)中相關(guān)作業(yè)信息流的交互,物流作業(yè)管理信息系統(tǒng)與財(cái)務(wù)管理信息系統(tǒng)的集成和整合是該模塊的一個(gè)主要特征。圖2給出了物流信息管理模塊的集成結(jié)構(gòu)。
圖2 物流信息管理模塊的集成結(jié)構(gòu)
具體的開發(fā)和實(shí)現(xiàn)過程是,將該系統(tǒng)模塊建立在ASP.NET 2.0和SQL SERVER 2005的基礎(chǔ)之上,采用面向?qū)ο蟮南到y(tǒng)開發(fā)設(shè)計(jì)方法,把系統(tǒng)的功能組件分為業(yè)務(wù)組件和數(shù)據(jù)組件,業(yè)務(wù)組件負(fù)責(zé)對(duì)企業(yè)交易模式和交易規(guī)則的處理和運(yùn)算,具體的業(yè)務(wù)作業(yè)流程處理通過Web Services封裝的內(nèi)部功能組件進(jìn)行交互,同時(shí)物流信息管理模塊的功能可以通過重載或繼承的方式來進(jìn)行擴(kuò)展和重構(gòu),數(shù)據(jù)組件實(shí)現(xiàn)對(duì)業(yè)務(wù)數(shù)據(jù)的操作和處理,并實(shí)現(xiàn)與后臺(tái)底層數(shù)據(jù)庫之間的數(shù)據(jù)存取和交互操作,考慮到物流信息管理模塊的數(shù)據(jù)庫與財(cái)務(wù)管理信息系統(tǒng)所使用的數(shù)據(jù)庫不同,因此數(shù)據(jù)訪問和操作處理采取ADO.NET的方式進(jìn)行,通過ADO.NET可以實(shí)現(xiàn)對(duì)任何數(shù)據(jù)源的ODBC鏈接或OLEDBDE鏈接。
基于Web技術(shù)的ERP物流信息管理模塊在客戶端的工作方式如下:用戶使用Web瀏覽器向Web服務(wù)器進(jìn)行信息請(qǐng)求,服務(wù)器在接到相關(guān)指令后通過ASP.NET將命令傳送到Web服務(wù)器進(jìn)行處理,然后服務(wù)器將處理的結(jié)果返回給用戶瀏覽器,同時(shí)斷開瀏覽器與服務(wù)器之間的數(shù)據(jù)鏈接,用戶根據(jù)自己的操作權(quán)限對(duì)來自服務(wù)器端的數(shù)據(jù)進(jìn)行查閱、保存、修改或刪除等操作。