近年來,ERP(EntERPrise ResourcePlanning,企業(yè)資源計(jì)劃)系統(tǒng)得到了越來越多的重視。ERP軟件系統(tǒng)的開發(fā)技術(shù)也越來越靈活。企業(yè)在實(shí)施ERP項(xiàng)目時(shí)對ERP軟件系統(tǒng)的實(shí)用性、靈活性以及可擴(kuò)展性具有更多的要求。目前,許多ERP產(chǎn)品在構(gòu)建中主要存在兩個(gè)關(guān)鍵問題:一是ERP產(chǎn)品在開發(fā)過程中有大量的重復(fù)工作,系統(tǒng)開發(fā)周期長;二是ERP軟件無法適應(yīng)企業(yè)個(gè)性化需求。因此,對構(gòu)建標(biāo)準(zhǔn)化、可擴(kuò)充性、可快速重構(gòu)的ERP系統(tǒng)的研究,快速滿足用戶個(gè)性化需求對企業(yè)實(shí)施和應(yīng)用ERP具有重要意義。
面向服務(wù)的架構(gòu)
面向服務(wù)的架構(gòu)(service-oriented architecture,SOA)是在基礎(chǔ)技術(shù)日趨成熟的條件下,提出的一種對現(xiàn)代軟件架構(gòu)的新思維。SOA被認(rèn)為是一種設(shè)計(jì)和構(gòu)建松散耦合軟件的最佳解決方案,它能夠以程序化的、可訪問的軟件服務(wù)形式公開業(yè)務(wù)功能,并允許其他應(yīng)用程序通過已發(fā)布和可發(fā)現(xiàn)的接口來使用這些服務(wù)。在服務(wù)體系結(jié)構(gòu)中,服務(wù)跨越了技術(shù)與空間的局限性,無論是C++、Java還是VB(Visual Basic)等開發(fā)的服務(wù)都可以被調(diào)用。SOA強(qiáng)調(diào)標(biāo)準(zhǔn)化、跨企業(yè)應(yīng)用、動態(tài)性、模塊化以及服務(wù)組合。
面向服務(wù)體系結(jié)構(gòu)中所有服務(wù)都是獨(dú)立的,服務(wù)使用者只需通過服務(wù)供應(yīng)者提供的接口來調(diào)用服務(wù),可以按照服務(wù)使用者所期望的來使用服務(wù),而不需要關(guān)心這些服務(wù)功能是如何實(shí)現(xiàn)的。在SOA中,服務(wù)時(shí)封裝成用于業(yè)務(wù)流程可重用的組件,是一種可以被調(diào)用的模塊,它提供信息或業(yè)務(wù)數(shù)據(jù)從一個(gè)有效的、一致的狀態(tài)向另一個(gè)狀態(tài)轉(zhuǎn)變。每個(gè)服務(wù)表示一個(gè)功能,它可以準(zhǔn)確地映射到業(yè)務(wù)流程中的具體步驟。并且,服務(wù)在實(shí)現(xiàn)的時(shí)候不需要依賴于其他服務(wù)的上下文和狀態(tài),是一種松散耦合的模式。
從總體上來講,SOA是一種結(jié)構(gòu)模型,它可以根據(jù)需求并通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。如圖1所示。
圖1 基于SOA的可重構(gòu)ERP系統(tǒng)整體模型
SOA的基本體系架構(gòu)由四部分組成,包括服務(wù)提供者、服務(wù)管理者、服務(wù)消費(fèi)者和服務(wù)契約;同時(shí),主要包含三種主要的操作,包括發(fā)布服務(wù)、查詢服務(wù)和綁定服務(wù)。服務(wù)的提供者與服務(wù)的消費(fèi)者是彼此分開的,注冊中心的服務(wù)信息位于兩者之間,它將服務(wù)提供者所提供的服務(wù)按一定的標(biāo)準(zhǔn)組織并分類,并向消費(fèi)者發(fā)布服務(wù)接口,消費(fèi)者使用查詢功能發(fā)現(xiàn)提供者。服務(wù)提供者與服務(wù)消費(fèi)者通過事先定義好的契約進(jìn)行交互。
面向服務(wù)的ERP可重構(gòu)開發(fā)模型
一是以業(yè)務(wù)流程為出發(fā)點(diǎn),以業(yè)務(wù)流程建模技術(shù)和面向?qū)ο蟮姆椒ㄅc技術(shù)實(shí)現(xiàn)應(yīng)用系統(tǒng)的分析與設(shè)計(jì)。業(yè)務(wù)流程是指企業(yè)為完成某一特定目標(biāo)而進(jìn)行的一系列邏輯相關(guān)的企業(yè)活動集合。專注業(yè)務(wù)流程有利于發(fā)現(xiàn)并剔除流程中無效的、不增值的環(huán)節(jié),提高各業(yè)務(wù)部門的協(xié)作水平,加速業(yè)務(wù)處理中的信息流動,提高企業(yè)的敏捷性及客戶服務(wù)水平。
二是引入工作流技術(shù),采用工作流管理系統(tǒng)(Workflow Management System, WfMS)強(qiáng)調(diào)流程的建模與執(zhí)行的分離。WfMS支持下的工作流建模過程,更強(qiáng)調(diào)對外部應(yīng)用及人員的集成。在工作流執(zhí)行過程中,由WfMS實(shí)現(xiàn)任務(wù)的分配及流程執(zhí)行進(jìn)度的監(jiān)控。這種流程邏輯與功能實(shí)現(xiàn)相分離的特點(diǎn),極大地增強(qiáng)了系統(tǒng)的柔性,從而使流程有更大的可定制空間,更能滿足企業(yè)業(yè)務(wù)流程管理持續(xù)改進(jìn)的需要。
三是系統(tǒng)組件化,通過組件的組合與替換支持ERP系統(tǒng)的重構(gòu)與演化。軟件組件是可以獨(dú)立生產(chǎn)、獲取、部署的軟件單元,通過組件組裝可以實(shí)現(xiàn)組件化的功能系統(tǒng)。軟件組件分離了接口規(guī)范與具體功能實(shí)現(xiàn),允許以組件替換的方式實(shí)現(xiàn)系統(tǒng)的升級及演化;趯ζ髽I(yè)業(yè)務(wù)流程的分析,結(jié)合對象組件化技術(shù),面向復(fù)用目的建立應(yīng)用系統(tǒng)業(yè)務(wù)組件體系結(jié)構(gòu),是實(shí)現(xiàn)以工作流建模為核心的支持業(yè)務(wù)流程動態(tài)調(diào)整的可定制、可持續(xù)演化的ERP應(yīng)用系統(tǒng)的基礎(chǔ)性工作。
四是服務(wù)資產(chǎn)的復(fù)用,借助業(yè)務(wù)基礎(chǔ)軟件平臺快速構(gòu)建具有版本演化能力的應(yīng)用系統(tǒng),利用可集成的一組工具集及可復(fù)用資產(chǎn)庫,實(shí)現(xiàn)可定制的應(yīng)用系統(tǒng)。
結(jié)合以上分析,本文給出一個(gè)面向服務(wù)劃分的、以大規(guī)模系統(tǒng)化復(fù)用為主要途徑的、層次化的企業(yè)應(yīng)用系統(tǒng)業(yè)務(wù)基礎(chǔ)軟件平臺框架,如圖2所示?蓮(fù)用業(yè)務(wù)模型資源庫的建立是一項(xiàng)重要的基礎(chǔ)性工作?蓮(fù)用業(yè)務(wù)模型的數(shù)量、質(zhì)量及組織方式直接影響了基于產(chǎn)品復(fù)用方式構(gòu)建ERP系統(tǒng)的可行性。批量定制層是實(shí)現(xiàn)可定制的ERP系統(tǒng)的關(guān)鍵層,主要由一組ERP構(gòu)建工具集組成。業(yè)務(wù)基礎(chǔ)軟件平臺層可以隔離底層的異構(gòu)系統(tǒng)之間的差異,并提供支持團(tuán)隊(duì)開發(fā)的集成開發(fā)工具。企業(yè)應(yīng)用層由可實(shí)際運(yùn)行的根據(jù)不同企業(yè)的應(yīng)用系統(tǒng)組成。
圖2 基于服務(wù)的ERP可重構(gòu)開發(fā)模型
底層支持系統(tǒng)主要包括兩個(gè)組成部分:應(yīng)用服務(wù)器及Web服務(wù)器層和操作系統(tǒng)及數(shù)據(jù)庫管理系統(tǒng)層。操作系統(tǒng)及數(shù)據(jù)庫管理系統(tǒng)是構(gòu)建大型的企業(yè)應(yīng)用的基礎(chǔ)通信及數(shù)據(jù)支持設(shè)施。應(yīng)用服務(wù)器是網(wǎng)絡(luò)環(huán)境下最重要的一類中間件軟件,通過提供各種領(lǐng)域獨(dú)立的應(yīng)用基礎(chǔ)服務(wù)或功能,通常是一組核心服務(wù)或功能及擴(kuò)展服務(wù)或功能,常見的功能或服務(wù)包括運(yùn)行時(shí)和執(zhí)行處理、DBMS訪問和連接性、動態(tài)WEB頁面、上下文/會話管理等。
業(yè)務(wù)基礎(chǔ)軟件平臺層位于底層支持系統(tǒng)之上的一個(gè)軟件抽象層,旨在協(xié)調(diào)大型項(xiàng)目團(tuán)隊(duì)的協(xié)作開發(fā)活動,如任務(wù)分解及資源分配、進(jìn)程控制、訪問控制、配置支持等,通過提供工具集接口,以支持與外部各種工具(如流程建模工具、應(yīng)用開發(fā)環(huán)境等)的無縫集成。
批量定制平臺層,主要由企業(yè)建模與診斷工具、業(yè)務(wù)建模與執(zhí)行工具、企業(yè)參考模型定制工具、配置管理工具、系統(tǒng)生成與映射支持工具、外部工具接口等組成。這些工具相互集成,其中業(yè)務(wù)建模與執(zhí)行工具是核心,在可復(fù)用的參考模型及應(yīng)用系統(tǒng)參考模型的基礎(chǔ)上,對目標(biāo)企業(yè)的業(yè)務(wù)流程進(jìn)行建模、定制、仿真、優(yōu)化;系統(tǒng)生成支持工具,基于已優(yōu)化的目標(biāo)企業(yè)業(yè)務(wù)流程解決方案及其相關(guān)配置信息,以圖形的方式顯示系統(tǒng)的構(gòu)架,支持人機(jī)交互方式的系統(tǒng)框架求精,并能自動生成系統(tǒng)的構(gòu)架框架代碼參考模型定制工具與配置管理工具緊密聯(lián)系,在對現(xiàn)有的應(yīng)用系統(tǒng)參考模型定制的基礎(chǔ)上,完成對模型各部分定制情況的配置,配置后的模型也可加入可復(fù)用業(yè)務(wù)模型資源庫中并作為特定的業(yè)務(wù)參考模型。
可復(fù)用業(yè)務(wù)模型資源庫由企業(yè)業(yè)務(wù)組件、企業(yè)參考模型、應(yīng)用系統(tǒng)參考模型組成。業(yè)務(wù)基礎(chǔ)資源由企業(yè)領(lǐng)域內(nèi)的各類概念實(shí)體組成,該層次的組件封裝了各類概念實(shí)體對象的實(shí)現(xiàn),各對象類組件之間僅僅通過接口進(jìn)行交互。業(yè)務(wù)任務(wù)組件層包括企業(yè)領(lǐng)域內(nèi)的各種標(biāo)準(zhǔn)業(yè)務(wù)活動。這里的業(yè)務(wù)活動指構(gòu)成業(yè)務(wù)流程的基礎(chǔ)的活動單元,是一組不可再分解的獨(dú)立執(zhí)行步驟,回答活動做什么(即:對象方法的調(diào)用)、誰來做(即:涉及的業(yè)務(wù)對象集)的問題,它實(shí)現(xiàn)了以特定領(lǐng)域的“活動”粒度層次組織業(yè)務(wù)對象的協(xié)作,從而支持以活動為中心的業(yè)務(wù)流程建模與仿真優(yōu)化。
基于SOA的ERP系統(tǒng)實(shí)現(xiàn)技術(shù)SOA的主要實(shí)現(xiàn)技術(shù)是Web Service技術(shù),Web Service技術(shù)通過使用一系列標(biāo)準(zhǔn)和協(xié)議實(shí)現(xiàn)相關(guān)的功能,如XML、WSDL、UDDI及SOAP協(xié)議等。實(shí)現(xiàn)Web服務(wù)的主流開發(fā)平臺主要有J2EE及Microsoft平臺,其中J2EE平臺開發(fā)的系統(tǒng)具有平臺無關(guān)性、可伸縮性等優(yōu)點(diǎn),因此得到較廣泛的應(yīng)用。本文研究的就是采用J2EE平臺來實(shí)現(xiàn)ERP系統(tǒng)的Web服務(wù)體系結(jié)構(gòu)。如圖3所示。
圖3 基于J2EE 的Web 服務(wù)體系結(jié)構(gòu)
其中,JAXR(Java API for XMLRegistries,用于XML注冊表的Java API)使得應(yīng)用程序能夠在注冊表中注冊、或查詢其他公司提供的Web服務(wù),JAXM(JavaAPI for XML Messaging,用于XML 想消息交換的Java API)提供了Web服務(wù)環(huán)境中的異步和消息交換功能,并可以通過內(nèi)部網(wǎng)和Internet進(jìn)行XML文檔交換,JAXM是基于SOAP1.1規(guī)范和SOAP附件定義的消息交換協(xié)議的一種API框架。
J2EE平臺是簡化的基于組件的開發(fā)模型,具有可移植性,遵循J2EE標(biāo)準(zhǔn)的所有服務(wù)器都支持此模型;贘2EE的應(yīng)用程序并不依賴任何特定操作系統(tǒng),具有比較好的重用性。
該系統(tǒng)的運(yùn)行過程服務(wù)請求者向主控器發(fā)出HTTP請求,主控器利用JAXR發(fā)現(xiàn)UDDI服務(wù)注冊表中的服務(wù),然后根據(jù)請求內(nèi)容創(chuàng)建一條SOAP Message,服務(wù)提供方用JAXR向UDDI服務(wù)注冊表發(fā)布Web服務(wù),客戶端的用戶界面用瀏覽器的形式表示,使用JSP和JSTL來實(shí)現(xiàn),JSTL標(biāo)記將輔助完成條件處理和對Web服務(wù)所返回的XML數(shù)據(jù)的分析,并將最后的結(jié)果用瀏覽器形式通過頁面顯示給用戶。
綜上所述,面向服務(wù)體系結(jié)構(gòu)(SOA)為企業(yè)提供了一個(gè)業(yè)務(wù)敏捷的應(yīng)用架構(gòu)。它實(shí)現(xiàn)了在Web上發(fā)布并集成應(yīng)用程序邏輯,解決了Web數(shù)據(jù)集中和無法共享等缺陷。本文利用了面向服務(wù)體系架構(gòu)的松耦合、可重用的服務(wù)和標(biāo)準(zhǔn)化接口等特點(diǎn),設(shè)計(jì)一個(gè)更具有重用性和可擴(kuò)展性的業(yè)務(wù)架構(gòu)系統(tǒng)。通過對面向服務(wù)可重構(gòu)ERP系統(tǒng)的模型的研究和探討,為提高ERP產(chǎn)品的柔性和靈活性提供一定支持。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于SOA的可重構(gòu)ERP系統(tǒng) 滿足企業(yè)個(gè)性化需求
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401931420.html