摘 要: 對現(xiàn)有的企業(yè)應用集成模式進行了分類,并總結出不同集成模式的相關技術需求、適用的集成條件、具體的集成方法及其優(yōu)點和缺點,討論了集成模式的選擇方法。
關鍵詞: 企業(yè)資源規(guī)劃 企業(yè)應用集成 集成模式
現(xiàn)代企業(yè)面臨日趨激烈的市場競爭以及快速變化的市場和不斷革新的生產技術和信息化管理手段。對于信息技術的應用水平,是現(xiàn)代企業(yè)提高競爭力的最有效的方法之一。因此企業(yè)對于信息化建設的重視和投入程度越來越高。
信息化建設的初級階段,信息系統(tǒng)的建設以滿足部門級的應用為目的。然而在面臨跨部門的工作流程時,部門級的應用系統(tǒng)無法滿足管理的需要。企業(yè)資源規(guī)劃(Enterprise Resource Plan,ERP)作為企業(yè)應用套件(Enterprise Application Package,EAP)的出現(xiàn)滿足了企業(yè)跨部門管理的需要。但是即使是世界上最好的ERP軟件,例如SAP R/3及Baan ERP,仍然只能解決企業(yè)管理的部分問題。這是因為作為大型軟件的開發(fā),往往需要足夠的軟件開發(fā)隊伍和海量資金投入,這是企業(yè)用戶無法承擔的。同樣出于成本的考慮,軟件公司在開發(fā)ERP軟件時也不是為一個企業(yè)定制其最合適的ERP系統(tǒng)。于是,企業(yè)應用集成(Enterpeise Application Intergration,EAI)的概念被提出。根據Butler Group[1]的定義,EAI是“將異構系統(tǒng)極其模塊的功能性行為、企業(yè)規(guī)則和數(shù)據集成為滿足企業(yè)的新流程”,并指出EAI應該包括以下工作:
(1)二個以上應用系統(tǒng)間的數(shù)據傳輸和轉換;
(2)管理數(shù)據傳輸和轉換的時序;
(3)對集成工作的目標和效果進行控制。
自EAI概念被提出以來,EAI的工程項目數(shù)量在逐年增加。但是,有些EAI項目的質量和效果不夠理想甚至失敗,仍然存在系統(tǒng)間的基礎信息不一致、界面紊亂、流程無法有效貫通等問題,導致信息無法在系統(tǒng)間共享、傳遞,信息系統(tǒng)的優(yōu)勢和EAI的目標都無法得以充分實現(xiàn)。如何有效提升EAI的集成效果,已經成為企業(yè)信息化建設的關鍵問題之一。
本文將對現(xiàn)有的企業(yè)應用集成模式進行分類,并總結出不同集成模式的相關技術需求、適用的集成條件、具體的集成方法、優(yōu)點和缺點。最后,提出了選擇集成模式的依據。
1 EAI模式的概念及分類
信息系統(tǒng)集成的歷史由來已久。集成模式一直是每個信息系統(tǒng)集成項目的靈魂和核心。
從概念上來說,集成模式和集成架構密切相關。集成架構的概念來源于集成工作的內容。GartnerGroup[2]將集成工作的內容歸納為以下5部分:
(1)集成界面:將應用系統(tǒng)的數(shù)據讀入或讀出到另一個系統(tǒng)的界面;
(2)數(shù)據轉換:將一個系統(tǒng)的數(shù)據轉換為另一個系統(tǒng)可以接受的格式;
(3)數(shù)據傳輸:將數(shù)據從源系統(tǒng)傳輸至目標系統(tǒng);
(4)傳輸路徑:對數(shù)據的傳輸方向進行控制;
(5)集成管理:管理和控制數(shù)據傳輸?shù)耐暾鞒獭?/p>
而集成架構將集成工作的內容給予層次上的清晰劃分。Cherry Tree和Co.Research[3]提出了系統(tǒng)集成架構,并將之分為四層:
(1)企業(yè)流程層:將不同的數(shù)據送至不同的系統(tǒng);
(2)企業(yè)邏輯層:提供判斷數(shù)據流向的法則;
(3)數(shù)據轉換層:數(shù)據保持一致的格式以滿足集成的需要;
(4)數(shù)據傳輸層:數(shù)據在應用系統(tǒng)間傳輸。
集成架構可以有多種組合。這種架構的組合又可以按Hall[4]的總結劃分為三類:
(1)拼盤式集成:不同的系統(tǒng)利用系統(tǒng)間的接口傳輸數(shù)據;
(2)綜合式集成:將不同的系統(tǒng)綜合后集成為一個完整的大型系統(tǒng);
(3)標準化集成:制定一個信息系統(tǒng)的集成標準,將需要集成的系統(tǒng)按照這個標準進行統(tǒng)一。
但是,無論是集成的內容,還是集成的架構,抑或是集成的分類,都無法完成對集成項目的思想、目標、約束、技術等方面的描述。因此,本文提出了集成模式(Intergration Model,IM)的概念。
集成模式表示信息系統(tǒng)集成的一種方法和架構,定義了實現(xiàn)集成工作后的各個信息系統(tǒng)如何通過集成的種類和機制進行工作。不同的集成模式有不同的特點和不同的需求及限制。一個好的集成模式應該具有以下特點:
(1)能夠簡明地表示出集成的需求;
(2)可以在信息系統(tǒng)升級后繼續(xù)實現(xiàn)集成;
(3)廣泛地使用各種技術、方法和思路,通過篩選和對比,實現(xiàn)代價最低、成效最高的集成。
本文作者根據近年在研究工作中積累的經驗和資料,將EAI的模式分為界面層集成模式(Interface Intergration Model)、數(shù)據層集成模式(Data Intergration Model)及功能層集成模式(Functional Intergration Model)。
2 界面層集成模式
界面層集成模式的特點是通過被集成對象的界面的邏輯關系完成集成工作。雖然集成工作增加或改變了一些界面,但操作者完成一個流程總是要面對被集成對象原有的界面,并且對數(shù)據的加工也是通過原有的界面完成。如參考文獻[5]中所描述的ERP-OA的集成就包含了界面層集成的成分。
為了從一個系統(tǒng)進入另一個系統(tǒng)的某個界面,需要通過一連串的鍵盤錄入,包括口令、菜單選擇等。因此,模擬鍵盤錄入和屏幕抓取的技術和工具經常在界面集成模式中使用。
界面層集成模式通常在以下情況中采用:
(1)集成對象都是PC或終端為基礎的界面,用戶的操作系統(tǒng)支持多窗口;
(2)用戶僅僅需要提供一個整屏顯示的界面,不要求數(shù)據和功能上的集成;
(3)集成對象都是不開放的或者內部不可見的,或者不允許直接對數(shù)據庫操作。這種情況下,只能采用界面層集成模式。
3 數(shù)據層集成模式
數(shù)據層集成模式可以忽視界面或企業(yè)業(yè)務邏輯,直接修改原系統(tǒng)的數(shù)據庫或利用其數(shù)據結構進行集成。
可用于直接對數(shù)據庫中的數(shù)據進行讀寫的技術非常多,主要有以下四類:
(1)批處理程序:將數(shù)據在不同系統(tǒng)間定時或定量傳送的批處理程序。在20世紀90年代使用較多。目前對新系統(tǒng)進行初始化時進行數(shù)據轉錄仍在使用這種技術。
(2)開放的數(shù)據連接技術(ODBC):一種標準的API,提供一種抽象化的方式對異構的關系型數(shù)據庫進行存取操作。
(3)數(shù)據庫訪問中間件(Database Access Middleware):這種技術可以建立數(shù)據應用資源互操作的模式,對異構環(huán)境下的數(shù)據庫實現(xiàn)聯(lián)接或文件系統(tǒng)實現(xiàn)聯(lián)接,并按使用者的要求進行讀取。
(4)數(shù)據轉換(Data Transformation):通常配合數(shù)據庫訪問中間件使用,將從源數(shù)據庫讀來的數(shù)據轉換為目的數(shù)據庫可以接收的格式,或者將不同系統(tǒng)間的不同數(shù)據結構轉換成相互可識別的格式。如果采用XML文件作為中間數(shù)據格式,則在生成XML文件和寫入目的數(shù)據庫之前,都需要由數(shù)據轉換程序完成。
數(shù)據層集成模式通常在以下情況下采用:
(1)進行決策分析時從不同的系統(tǒng)中抽取數(shù)據。例如要生成一個客戶報表時,從ERP系統(tǒng)、DRP系統(tǒng)、CRM系統(tǒng)中抽取數(shù)據,并將這些數(shù)據在決策分析系統(tǒng)中進行分析并生成報表。
(2)形成數(shù)據倉庫中的二次數(shù)據。
(3)需要保持系統(tǒng)間數(shù)據的同步。例如圖1中,當客戶地址改版時,訂單系統(tǒng)、財務系統(tǒng)、客戶管理系統(tǒng)中的客戶地址同時發(fā)生改變。

4 功能層集成模式
功能層集成只是一種集成模式命名方法,不同于一般意義上企業(yè)建模中的功能的概念。所謂功能層集成,是在企業(yè)業(yè)務邏輯的層面上進行集成,是面向過程和過程中功能的。
有些管理系統(tǒng)提供了供外界訪問的API。在沒有提供API的情況下,則需要集成者額外提供代碼。
遠程過程調用(RPC)也曾是功能層集成的主要技術。RPC作為一種協(xié)議,允許使用這種協(xié)議的網絡中的計算機相互調用彼此的程序,提高了程序的互操作性。但RPC僅僅提供了程序間對數(shù)據存取的標準定義以及程序間比較簡單的溝通能力。目前RPC已經被中間件(Middleware)取代。
中間件在操作系統(tǒng)、網絡和數(shù)據庫之上,位于應用軟件的下層。其主要作用是為處于自己上層的應用軟件提供運行與開發(fā)的環(huán)境,幫助用戶靈活、高效地開發(fā)和集成復雜的應用軟件。中間件為程序間的互操作提供了終端仿真/屏幕轉換、數(shù)據訪問、消息管理、對象集成、Web服務、安全控制等多種功能,并且也同樣可以實現(xiàn)遠程過程調用。中間件根據其功能可以分為不同的類型,在功能層集成中應用最多的中間件有以下幾種類型:
(1)消息管理中間件:用來屏蔽掉各種平臺及協(xié)議之間的特性,實現(xiàn)在不同平臺之間通信,實現(xiàn)分布式系統(tǒng)中可靠、高效、實時的跨平臺數(shù)據傳輸,實現(xiàn)應用程序之間的協(xié)同。
(2)對象中間件:在分布、異構的網絡計算環(huán)境中,可以將各種分布對象有機地結合在一起,完成系統(tǒng)的快速集成,實現(xiàn)對象重用。在這方面遵循的標準是CORBA。對象中間件將是未來的主流。OMG的CORBA、Microsoft的COM+和SUN的J2EE都采用了對象中間件技術。
(3)交易中間件:在分布、異構環(huán)境下提供保證交易完整性和數(shù)據完整性的一種環(huán)境平臺。
(4)信息中介中間件:以集中式的架構,建立各應用系統(tǒng)間界面的代管中心,類似各應用系統(tǒng)間的信息轉換器和路由器。信息中介中間件將信息從各個源系統(tǒng)讀取后,發(fā)送到目標系統(tǒng)的界面。
各個中間件的功能可以單獨使用,也可以根據需要組合使用。
功能層集成模式比界面層集成和數(shù)據層集成具有更高的彈性。功能層集成模式最常見的是工作流集成方法和插件式集成方法。
(1)工作流集成方法:是指將某個業(yè)務流程按照企業(yè)的業(yè)務邏輯在所有相關的系統(tǒng)中執(zhí)行。例如一個訂單流程的執(zhí)行過程如圖2所示。

工作流集成通過使用請求(Requests)的概念來完成各個系統(tǒng)的工作流貫通。在一些簡單的工作流集成中,可以使用靜態(tài)的工作流集成,即每個活動(Action)都是固定的。如果要求更高的靈活性,則需要使用動態(tài)工作流技術。有關動態(tài)工作流的概念和集成方法,可參見文獻[5]。
(2)插件式集成方法:Web服務就是一種插件式集成方法。Web服務提供了一系列標準化的商業(yè)組件,一次部署到Internet中,然后即可作為不同的企業(yè)應用系統(tǒng)間的標準接口,用于所有接受這個標準的企業(yè)應用中。因此,Web服務可以稱作全球標準化插件集成方法。但是這個標準化工作過于龐大和理想化,從不同的國家地區(qū)、財稅制度、語種和商業(yè)規(guī)則中抽象出一個標準是相當困難的。完全成熟的Web服務預計還要到若干年后才可能實現(xiàn)。
另一種插件式集成方法可稱為小范圍標準化插件集成方法。它是Web服務的小范圍實現(xiàn),即把Web服務的思想應用于若干個需要被集成的應用系統(tǒng)范圍內。這種集成方法為各個應用系統(tǒng)分別提供一個標準接口,使各應用系統(tǒng)可以通過這個標準接口相互連接。接口中應該定義集成中所需要的所有函數(shù),使各個系統(tǒng)都可以通過它向其他系統(tǒng)傳遞數(shù)據處理的請求。在這個標準接口中,所有的接口都使用統(tǒng)一的函數(shù)命名規(guī)則和語法規(guī)則。例如,所有的應用系統(tǒng)的接口中都用create_customer方法,而不是new_customer來創(chuàng)建客戶記錄;所有的數(shù)據格式都采用XML格式或者數(shù)據結構。這種集成方法可以讓集成后的系統(tǒng)使用者像使用插件一樣對各個系統(tǒng)的功能進行調用,并且可以輕松生成所需要的用戶界面和報表。
功能層集成模式可解決的集成需求是三種集成模式中最廣泛的一種。其他二種集成模式可以解決的問題,功能層集成也同樣能夠解決。
功能層集成模式適用于以下情況:
(1)當企業(yè)應用系統(tǒng)中需要增加一些新的功能(如訂單生成或存款),而這些功能已經由其他應用系統(tǒng)管理時,集成的工作不得不面對代碼級的修改。
(2)企業(yè)需要將貫穿多個應用系統(tǒng)的流程集中管理,并且這些流程有著較復雜的業(yè)務邏輯。
(3)需要保證集成后系統(tǒng)工作的完整性,即請求必須得到回復。
(4)企業(yè)中存在多個高度重復的業(yè)務動作(例如查詢客戶應收款,每個系統(tǒng)都需要進行這個操作)。
5 三種集成模式的比較
三種集成模式各有優(yōu)缺點,如表1所示。

6 集成模式的選擇
在具體集成項目中,主要根據以下三個方面決定選擇何種集成模式:
(1)是否可以通過每個系統(tǒng)外的應用程序對該系統(tǒng)的數(shù)據庫進行讀寫。有些系統(tǒng)是強烈禁止的。
(2)是否可滿足企業(yè)本次集成項目的目標。
(3)如果企業(yè)經常會產生新的集成需求,則所選擇的集成模式必須滿足企業(yè)未來的集成需求。
集成模式的選擇需要在多個約束條件下進行折衷。集成者可以根據上文中各個集成模式和方法所適用的條件及其各自的優(yōu)缺點來確定。
一個集成項目可以僅僅使用一種集成模式,也可以同時使用二種或三種集成模式。這是因為幾乎所有的集成項目(特別是一些集成復雜度較高的項目)其集成需求都在不斷增加。而三種模式各有利弊,因此項目結束時,可能都已經被使用過了。例如ORACLE的ERP系統(tǒng)是禁止集成者直接對數(shù)據庫進行寫操作的,在與分銷資源計劃(DRP)系統(tǒng)集成時,DRP系統(tǒng)可能允許集成者對其數(shù)據庫進行寫操作。這種情況下,單純采用界面層集成模式肯定無法滿足集成目標。如果單純采用數(shù)據層集成模式,則數(shù)據流向只能從ERP系統(tǒng)寫入到DRP系統(tǒng),也無法滿足企業(yè)的需求。如果采用功能層集成模式,則又會有大量的數(shù)據同步工作需要采用數(shù)據層集成模式完成。
參考文獻
1 Belina F,Hogrefe D,Amardeo S.SDL with Applications from Protocol Specification.Carl Hanser Verlag and Prentice Hall International,UK,1991
2 Jose S.An ROI Model For Enterprise Application Intergration.GartnerConsulting,1999
3 Cherry Tree & Co..Extended Enterprise Applications:Spotlight Report.Jan,2000
4 Kelly S,Holland C,Light B.Enterprise resource planning:A business approach to systems development.In:Proceedings of 5th Conference on information systems AMCIS 1999,Milwaukee,Wisconsin,USA,1999
5 郭應中,宛延闿,韓偉.基于工作流的OA-ERP集成.微計算機應用,2003;24(2)
6 郭應中,趙占軍,韓偉.Oracle ERP和分銷資源計劃系統(tǒng)的接口方法.計算機輔助設計與圖形學學報,2002;14(5)
