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

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

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

6 集成模式的選擇
在具體集成項(xiàng)目中,主要根據(jù)以下三個(gè)方面決定選擇何種集成模式:
(1)是否可以通過每個(gè)系統(tǒng)外的應(yīng)用程序?qū)υ撓到y(tǒng)的數(shù)據(jù)庫進(jìn)行讀寫。有些系統(tǒng)是強(qiáng)烈禁止的。
(2)是否可滿足企業(yè)本次集成項(xiàng)目的目標(biāo)。
(3)如果企業(yè)經(jīng)常會(huì)產(chǎn)生新的集成需求,則所選擇的集成模式必須滿足企業(yè)未來的集成需求。
集成模式的選擇需要在多個(gè)約束條件下進(jìn)行折衷。集成者可以根據(jù)上文中各個(gè)集成模式和方法所適用的條件及其各自的優(yōu)缺點(diǎn)來確定。
一個(gè)集成項(xiàng)目可以僅僅使用一種集成模式,也可以同時(shí)使用二種或三種集成模式。這是因?yàn)閹缀跛械募身?xiàng)目(特別是一些集成復(fù)雜度較高的項(xiàng)目)其集成需求都在不斷增加。而三種模式各有利弊,因此項(xiàng)目結(jié)束時(shí),可能都已經(jīng)被使用過了。例如ORACLE的ERP系統(tǒng)是禁止集成者直接對(duì)數(shù)據(jù)庫進(jìn)行寫操作的,在與分銷資源計(jì)劃(DRP)系統(tǒng)集成時(shí),DRP系統(tǒng)可能允許集成者對(duì)其數(shù)據(jù)庫進(jìn)行寫操作。這種情況下,單純采用界面層集成模式肯定無法滿足集成目標(biāo)。如果單純采用數(shù)據(jù)層集成模式,則數(shù)據(jù)流向只能從ERP系統(tǒng)寫入到DRP系統(tǒng),也無法滿足企業(yè)的需求。如果采用功能層集成模式,則又會(huì)有大量的數(shù)據(jù)同步工作需要采用數(shù)據(jù)層集成模式完成。
參考文獻(xiàn)
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 郭應(yīng)中,宛延闿,韓偉.基于工作流的OA-ERP集成.微計(jì)算機(jī)應(yīng)用,2003;24(2)
6 郭應(yīng)中,趙占軍,韓偉.Oracle ERP和分銷資源計(jì)劃系統(tǒng)的接口方法.計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2002;14(5)
