劉 振
[摘 要] 本文在分析傳統(tǒng)ERP面臨的局限的基礎上,闡述了SOA的定義?主要思想和實現(xiàn)方法,分析了將SOA技術應用到ERP中的必要性和重要意義,總結了基于SOA的ERP產(chǎn)品應用現(xiàn)狀,并對其未來發(fā)展做了展望?
[關鍵詞] SOA;ERP;服務
[中圖分類號]F270.7[文獻標識碼]A[文章編號]1673-0194(2009)04-0075-03
一?傳統(tǒng)ERP面臨的困境
隨著全球經(jīng)濟一體化進程的加速,企業(yè)面臨的問題越來越復雜,傳統(tǒng)ERP廠商由于原有產(chǎn)品的功能僵化,體系結構缺少靈活性,已不能滿足客戶不斷變化的個性化需求,ERP軟件的發(fā)展遭遇了前所未有的挑戰(zhàn),ERP客戶化的復雜性和實施成功率的低下成為困擾軟件廠商和用戶的難題?
傳統(tǒng)的ERP的主要局限性如下:
1. 環(huán)境適應性的局限
(1)企業(yè)外部環(huán)境變化?目前很多企業(yè)戰(zhàn)略正從內(nèi)部戰(zhàn)略轉向聯(lián)盟體戰(zhàn)略,這在企業(yè)管理領域是一個劃時代的變化?傳統(tǒng)的ERP在實現(xiàn)聯(lián)盟體戰(zhàn)略(即實現(xiàn)企業(yè)內(nèi)部人員?企業(yè)與業(yè)務伙伴?企業(yè)與客戶之間的協(xié)同商務)時,遇到了不可逾越的鴻溝,不能靈活地支持供應鏈管理功能,不能實現(xiàn)企業(yè)與供應商?企業(yè)與分銷商之間的信息集成以及不同軟件之間的互操作?
(2)企業(yè)內(nèi)部環(huán)境變化?傳統(tǒng)ERP不能適應企業(yè)內(nèi)部經(jīng)營管理模式的變化,企業(yè)組織架構?經(jīng)營管理模式的變化會導致原有的ERP系統(tǒng)需要重新開發(fā)或做較大的改進,造成投資浪費?
2. 軟件可擴展性的局限
因為傳統(tǒng)ERP中各業(yè)務模塊之間是非松耦合的關系,某一塊業(yè)務功能升級將引發(fā)整個ERP產(chǎn)品的升級,某一業(yè)務模塊的調整將對整個公司或集團的信息處理工作帶來影響,如模塊升級需要頻繁停機安裝和備份,甚至帶來相關模塊操作界面和流程的改變?
二?SOA概念?主要思想和實現(xiàn)方法
1. 概念
SOA(Service- Oriented Architecture,面向服務的體系結構)是由 Gartner公司在1990年提出的,它根據(jù)需求通過網(wǎng)絡對松散耦合的粗粒度應用組件進行分布式部署?組合和使用,是目前最流行的一種架構模型?SOA 軟件系統(tǒng)是由不同的功能單元(稱為服務)組裝而成,服務之間靠定義良好的接口和契約聯(lián)系起來,這使得構建在這樣的系統(tǒng)中的各種服務以統(tǒng)一和通用的方式進行交互?
2. 主要思想
SOA的主要思想是最大限度地重用現(xiàn)有的服務以提高IT 的適應性和效率?
3. 實現(xiàn)技術
SOA目前最主要的實現(xiàn)方法是Web Services技術,實現(xiàn)Web Services的主流開發(fā)平臺有J2EE平臺和Microsoft. net平臺,J2EE平臺開發(fā)的系統(tǒng)因具有平臺無關性?安全性?可伸縮性?不同供應商實現(xiàn)方案之間的可移植性等若干優(yōu)點而得到了廣泛的應用?Web Services技術使用如下一系列標準和協(xié)議實現(xiàn)相關的功能:
(1)XML 是一種流行的?獨立于中間件的格式,可以在不同應用程序之間交換數(shù)據(jù)和文檔?
(2)WSDL(Web Service Description Language)用于Web Service 的提供者將自己的Web 服務的所有相關內(nèi)容,如所提供的服務的傳輸方式?服務方法接口?接口參數(shù)?服務路徑等,生成相應的完全文檔,發(fā)布給使用者?
(3)UDDI(Universal Description,Discovery and Integeration)向服務注冊代理描述?發(fā)布和注冊Web服務,服務請求者通過UDDI進行查詢,找到所需的服務?
(4)SOAP (Simple Object Access Protocol,簡單對象訪問協(xié)議)是Web Service 的標準通信協(xié)議,采用標準化XML 格式傳輸消息?
Web Services標準的成熟和應用的普及為廣泛地實現(xiàn)SOA 架構提供了基礎,Web Service 技術實現(xiàn)了服務接口的傳輸和調用的標準化,服務接口和服務實現(xiàn)的分離,以及Web 服務組件的可重用性?
三?應用SOA構建ERP
隨著網(wǎng)絡技術飛速發(fā)展,軟件架構日益向B/S結構遷移,為SOA在ERP中的實踐提供了基礎?同時中間件和平臺技術的成熟也給SOA在應用層面上的實踐提供了有利的保障?
為了解決現(xiàn)有ERP系統(tǒng)難以重構,難以與企業(yè)之外的供應商?分銷商集成的問題,企業(yè)需要用一種手段,來消除上下游,以及企業(yè)內(nèi)部應用的壁壘,實現(xiàn)信息?人員?流程的通暢,最佳的技術手段就是SOA?SOA是對企業(yè)各種異構的信息孤島進行整合的最有效方法,可以實現(xiàn)企業(yè)和組織的信息共享,提升人員協(xié)同能力以及業(yè)務的優(yōu)化和整合程度,實現(xiàn)有效的業(yè)務轉型和創(chuàng)新,幫助企業(yè)適應外部變化,提高運營效率和反應速度?
基于面向服務架構(SOA)的ERP系統(tǒng)體系結構是一種定制化?個性化?可重用的ERP套件,ERP軟件分解成以Web服務形式出現(xiàn)的更加粒狀的自我描述構件,組合這些構件,以生成定制的松散耦聯(lián)的復合應用,將企業(yè)應用構建成為服務的集合,實現(xiàn)企業(yè)內(nèi)外各個不同服務系統(tǒng)之間的互調或者集成?任何業(yè)務功能都被作為提供的一個服務使用,應用程序的不同功能(服務)通過這些服務之間定義的結構和合約聯(lián)系,應用系統(tǒng)可以看作是一系列服務的集成?
企業(yè)應用的業(yè)務功能分解并重組為一個個服務,這就涉及一個粒度的問題?基于SOA的ERP系統(tǒng)體系結構,把ERP系統(tǒng)模塊表示成粗粒度服務,而每一個粗粒度服務又可以分解成多個細粒度服務,每一個細粒度服務完成一項單一功能,通過調用數(shù)據(jù)訪問邏輯組件直接操作數(shù)據(jù)庫表,通過細粒度服務的不同組合可實現(xiàn)ERP系統(tǒng)的不同業(yè)務功能和業(yè)務流程,當企業(yè)業(yè)務流程改變時,通過重新組合已編寫的服務組件,ERP各個業(yè)務模塊的功能作為粗粒度服務發(fā)布,而每個模塊的功能又是由多個子功能組成,這些子功能可以作為細粒度服務發(fā)布,從而達到企業(yè)業(yè)務流程重組的目的?企業(yè)也可以把需要向外部企業(yè)提供的服務發(fā)布到公共服務注冊代理供合作伙伴訪問,同時也通過公共服務注冊代理查找合作伙伴提供的服務,滿足企業(yè)的需要?服務粒度大小,在某種程度上決定著整個系統(tǒng)的靈活性和效率,如果粒度劃分太細,企業(yè)付出的成本相應會高;如果粒度劃分太粗,則系統(tǒng)無法很好地按需快速變動?企業(yè)必須要在兩者之間尋得一個平衡點,服務的粒度劃分是基于SOA的ERP系統(tǒng)中的一個重點和難點?
SOA在企業(yè)信息化應用中的優(yōu)勢:
1. 減少成本和軟件重用
利用現(xiàn)有的資源,將企業(yè)或者合作伙伴的有用資源改造成服務,并結合本企業(yè)和合作伙伴現(xiàn)有的服務,開發(fā)出功能更強大的服務,這樣軟件的開發(fā)就不用從頭開始,大大縮短了開發(fā)周期,降低了開發(fā)成本,在最短的時間內(nèi),利用最少的成本,開發(fā)出需要的應用系統(tǒng)?
2. 快速反應
能夠在保持原有系統(tǒng)正常使用的前提下,從現(xiàn)有的服務中組合新的服務,縮短軟件系統(tǒng)分析?設計?開發(fā)等所需的時間,對新需求做出快速的響應,滿足企業(yè)業(yè)務多變的需求?
四?基于SOA的ERP的應用現(xiàn)狀
各ERP廠商都在SOA的技術規(guī)范下建立了自己的SOA研發(fā)環(huán)境,都試圖在SOA規(guī)范的基礎上,增加和擴充屬于自己的一些東西,并希望其成為行業(yè)內(nèi)的事實標準,比如SAP的NetWeaver?甲骨文公司的Fusion?金蝶的BOS等,這些廠商基本上都是要把所有原來ERP的功能模塊重新定義并做成服務形式,再把基于服務的形式創(chuàng)建成關于業(yè)務邏輯的知識,并建立了“企業(yè)服務知識庫”,把所有的服務歸納在一起,然后在知識庫的基礎上重新架構應用軟件,將ERP導入SOA架構中?通過ERP內(nèi)置研發(fā)平臺,逐漸向企業(yè)其他應用滲透,這也是ERP技術發(fā)展趨勢之一?通過SOA研發(fā)平臺的遷移,ERP廠商們對原來緊密結合的業(yè)務模塊進行重新定義,作為單獨的產(chǎn)品來發(fā)布和升級?是否內(nèi)置符合SOA標準的?支持多語言的研發(fā)平臺,并且ERP任何應用模塊都在這個平臺上構建,現(xiàn)已成為區(qū)分ERP技術構架的分水嶺?
五?結束語
將SOA應用到ERP中的主要問題如Web Services 的集成?服務資源和服務方法的重用?系統(tǒng)的分布性和異構性等,都有待于進一步研究?
在ERP系統(tǒng)中應用SOA的路才剛剛開始,還面臨著很多的問題和挑戰(zhàn)?SOA作為構架企業(yè)信息化平臺的新技術,能否拯救ERP,目前還沒有肯定的答案,但可以相信的是,SOA必將對未來幾年的ERP市場的格局帶來深遠影響?筆者期待更多的ERP廠商不斷推進SOA 架構標準化,進一步完善和細化基于SOA 架構的ERP產(chǎn)品,加快企業(yè)信息化建設的步伐?
主要參考文獻
[1] 〔美〕科拉夫茲格,本克,斯拉姆. Enterprise SOA中文版——面向服務架構的最佳實戰(zhàn)[M]. 北京:清華大學出版社,2006.
[2] 〔美〕Thomas Erl. SOA概念?技術與設計[M]. 北京:機械工業(yè)出版社,2000.
[3] 梁愛虎. 精通SOA:基于服務總線的Struts+EJB+Web Service整合應用開發(fā)[M]. 北京:電子工業(yè)出版社,2007.
[4] 楊善林,劉洋,馬溪駿. 基于Web Services 面向服務架構的虛擬企業(yè)解決方案[J]. 計算機應用研究,2005(10).