《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 面向業(yè)務過程的企業(yè)應用集成方案的研究

面向業(yè)務過程的企業(yè)應用集成方案的研究

2008-03-20
作者:施化吉1,3,,趙曦濱2,,丁秋林3

  摘 要: 在分析傳統(tǒng)企業(yè)應用集成" title="應用集成">應用集成方案的基礎上,提出了面向業(yè)務" title="面向業(yè)務">面向業(yè)務過程的企業(yè)應用集成EAI(Enterprise Application Integration)架構模型,。給出了J2EE平臺下面向業(yè)務過程EAI架構模型的結構,,并討論了如何用虛擬組件、EJB組件和Web Services組件實現(xiàn)過程對象,、業(yè)務對象和領域對象,;最后給出了集成案例,驗證了該架構模型的可行性,。
  關鍵詞: 企業(yè)應用集成 業(yè)務過程管理? 集成框架? J2EE? Web服務

?

  面對快速變化的市場,企業(yè)必須以高速,、高效和靈活性作為應對策略,必須對內部的遺留應用進行有效集成。傳統(tǒng)的點到點應用接口集成方法,系統(tǒng)間通過專用的API實現(xiàn)信息的交流和方法調用,業(yè)務過程與企業(yè)信息系統(tǒng)緊密地集成在一起,。這種集成方法只能支持固定的業(yè)務過程,一旦業(yè)務過程發(fā)生改變或應用系統(tǒng)" title="應用系統(tǒng)">應用系統(tǒng)進行了升級,系統(tǒng)之間的集成接口必須重新進行編寫,并且每個系統(tǒng)都要知道與之相集成的系統(tǒng)的結構和內容,。這種緊耦合的集成方式已經不能滿足企業(yè)復雜多變的業(yè)務過程活動的要求。企業(yè)需要將其集成化應用系統(tǒng)的應用邏輯與業(yè)務過程邏輯分開,以使業(yè)務過程的改變不會引起應用系統(tǒng)間集成方式的改變,從而實現(xiàn)松耦合的應用集成,。
  為了避免傳統(tǒng)的點對點集成的缺點,人們提出了三層的集成架構,它將企業(yè)應用系統(tǒng)分成表示層,、中間層" title="中間層">中間層和企業(yè)信息系統(tǒng)(EISs)層(包括數(shù)據庫系統(tǒng)),。中間層主要實現(xiàn)應用的業(yè)務邏輯和各種服務支持,作為應用業(yè)務邏輯功能實施的一部分,中間層可以訪問在EISs層運行的且與應用相關聯(lián)的數(shù)據和函數(shù)。EISs層包括那些現(xiàn)在正在使用的企業(yè)應用,、數(shù)據庫系統(tǒng)和企業(yè)原有的應用,。在三層架構中,EISs之間并不直接實現(xiàn)點對點的連接,而是通過一個面向消息的中間件實現(xiàn)數(shù)據的交換。
  企業(yè)應用的三層架構可以說是EAI的一個里程碑,它徹底改變了企業(yè)中傳統(tǒng)的點對點的系統(tǒng)集成方式,通過引入一個中間層實現(xiàn)不同系統(tǒng)間的協(xié)調和對企業(yè)各種事務處理活動的支持,。但是三層的企業(yè)信息系統(tǒng)集成體系架構還不能滿足企業(yè)多變的業(yè)務活動的要求,系統(tǒng)間的集成仍然是一種緊耦合的集成方式,。因此,迫切需要一種新的集成方法。本文提出了一種面向業(yè)務過程的EAI架構模型,。
1 面向業(yè)務過程的EAI架構模型
  面向業(yè)務過程的EAI架構模型BPEAIAM(The Business Process-oriented EAI Architecture Model)的總體結構如圖1所示,。從圖1中可以看出:在BPEAIAM模型中,EISs層、中間層,、表示層和客戶端構成了明顯的層次關系,下層應用為上一層提供了獨立完整的功能,。因此上層應用無需了解下層應用內部的實現(xiàn)細節(jié),只需調用下層應用明確定義的接口和方法來實現(xiàn)自己的功能。


  BPEAIAM模型的中間層由過程對象,、業(yè)務對象/業(yè)務對象管理器,、領域對象和數(shù)據路由器組成。圖2給出了中間層結構,。


1.1 過程對象
  過程對象體現(xiàn)企業(yè)的業(yè)務處理過程,、事件序列、業(yè)務規(guī)則和特定業(yè)務對象間的聯(lián)系,。過程對象管理著運行時業(yè)務對象間的協(xié)作,例如:訂單處理過程沒有綁定到某個特定的業(yè)務對象上,相反,它涉及到客戶,、客戶地址以及訂購明細等業(yè)務對象。這些業(yè)務對象間的協(xié)作包括對訂單下達方式的描述以及訂單明細的描述,。如果將上述信息放到業(yè)務對象中,則會破壞對象的封裝性,。因此有關行為規(guī)則的描述應該由過程對象負責。
  業(yè)務對象關注企業(yè)業(yè)務功能的實現(xiàn)細節(jié),過程對象關注業(yè)務對象間的聯(lián)系,而不關心業(yè)務功能如何實現(xiàn),。
1.2 業(yè)務對象
  業(yè)務對象體現(xiàn)了企業(yè)業(yè)務的概念,它包括組織,、客戶、訂單等信息項,。業(yè)務對象將具有特定行為,、信息的基本對象和業(yè)務規(guī)則進行整合。業(yè)務對象間是獨立的,并不與其他業(yè)務對象綁定(與其他業(yè)務對象綁定是過程對象的職責),。任何涉及到多個業(yè)務對象的行為都應該由過程對象負責,。
1.3 領域對象
  領域對象反映了特定行業(yè)的業(yè)務概念,它獨立于具體的應用。領域對象可能包括該領域的基本信息(如客戶,、訂單等),也可能包含該領域的產品和聯(lián)系方式等,。領域對象以組件的形式提供了領域應用的功能。
1.4 數(shù)據路由器
  數(shù)據路由器負責將源數(shù)據發(fā)送到目標系統(tǒng),保證數(shù)據在傳輸過程中不會遺失,?;韭酚善魈峁┞酚杀?有時會提供識別和映射源系統(tǒng)和目標系統(tǒng)的規(guī)則;高級路由器實現(xiàn)了發(fā)布-訂閱引擎,對請求進行智能過濾,。目標系統(tǒng)(訂閱者)請求新的數(shù)據或特殊類型數(shù)據的更新,而源系統(tǒng)(發(fā)布者)發(fā)布和更新數(shù)據。路由器自動將數(shù)據送到對它感興趣的地方,并執(zhí)行管理任務,。
1.5 自適應的業(yè)務過程
  過程對象執(zhí)行企業(yè)業(yè)務模型的功能,可以看作是一種微型工作流,它負責NTGAEAM模型中業(yè)務對象間的協(xié)作和交互,。由于過程對象是面向對象的,具有面向對象技術的所有特性,因此過程對象可以部署為運行時可執(zhí)行組件。過程對象可以用面向對象技術的繼承和組合特性構建更加適應市場環(huán)境的新的過程對象,。新的過程對象代表著業(yè)務過程的重新組合,體現(xiàn)了BPEAIAM模型的自適應能力,。
  由過程對象執(zhí)行業(yè)務對象間的協(xié)作為集成提供了一種新的方式。本質上,集成是業(yè)務過程動態(tài)的組合過程,這種動態(tài)組合可以看成是過程對象穿越特定路徑的節(jié)點集(這里的節(jié)點指業(yè)務對象),。因此對一個給定的節(jié)點集,不同的業(yè)務過程會產生不同的結果,。
  BPEAIAM模型解決了企業(yè)業(yè)務過程活動多變的問題。與傳統(tǒng)EAI解決方案相比,BPEAIAM模型具有如下特點:
  (1)有利于自適應的業(yè)務過程的重組;
  (2)為新加入的應用提供了即插即用的功能;
  (3)方便了領域應用的集成;
  (4)實現(xiàn)了業(yè)務規(guī)則的分離,。
2 J2EE平臺下的BPEAIAM模型
  J2EE平臺下的BPEAIAM模型是BPEAIAM模型的一個特化,。該模型在Web Services、EJB,、CORBA等J2EE技術的支持下能更好地實現(xiàn)靈活性和自適應性,。圖3給出了J2EE平臺下BPEAIAM模型的結構。


  從圖3可以看出,J2EE平臺下的BPEAIAM模型主要由三部分組成:(1)通用對象請求代理架構(CORBA),、J2EE規(guī)范,、Web Services技術標準及規(guī)范;(2)Web Services組件、EJB組件,、虛擬組件,、事務管理引擎;(3)領域應用和領域應用適配器,。
2.1 虛擬組件
  虛擬組件一般在領域對象層,用來表示領域應用的功能,。一方面,提供與J2EE兼容的接口;另一方面,通過領域應用提供的API與領域應用進行連接。虛擬組件掩飾了不同領域應用的技術差異,客戶端可以通過虛擬組件存取領域應用,。對不提供API或者提供的API不適合需求的領域應用,必須通過封裝進行擴展,。封裝提供了必要的接口,通過這些接口,虛擬組件可以存取領域應用。虛擬組件的結構如圖4所示,。


  虛擬組件分為訪問現(xiàn)有數(shù)據庫的虛擬組件和訪問領域應用功能的虛擬組件兩種,。虛擬組件可以用CORBA、RMI-IIOP或者JMS構建,。虛擬組件功能如下:
  (1)通過API存取控制領域應用;
  (2)通過封裝存取控制領域應用;
  (3)提供對數(shù)據的存取控制,。
2.2 EJB組件
  EJB組件實現(xiàn)企業(yè)的業(yè)務功能(業(yè)務對象的功能),它組合虛擬組件的功能以提供一個實現(xiàn)較高級功能的抽象層。EJB組件將會把高層的事務請求轉換成一系列對低層虛擬組件的調用,。EJB組件也進行一些數(shù)據轉換,并且通過集成領域應用實現(xiàn)企業(yè)的業(yè)務功能,。
2.3 Web Services組件
  為了實現(xiàn)業(yè)務對象的可利用性,需要創(chuàng)建更高層次的過程對象。過程對象可以發(fā)布有用的業(yè)務過程,以及使用簡單的XML消息交換數(shù)據,。顯然業(yè)務對象可以出現(xiàn)在不同的過程對象中以實現(xiàn)特定的業(yè)務過程,例如身份驗證可以被多個過程所使用,。
  當使用Web Services表示過程對象時,過程對象就成為一種服務,稱之為過程對象服務,其架構如圖5所示,。


  過程對象服務由基本服務和復合服務組成。其中,基本服務是最小的服務單位,由業(yè)務對象實現(xiàn);復合服務從本質上說是一個過程對象服務,是由控制流或者數(shù)據流連接起來的基本服務,。任何過程對象服務都是由基本服務遞歸而成,。同時作為過程對象中的某個模塊也可能是過程對象,并且這種組合方式是任意的。過程對象服務組成結構如圖6所示,。
  控制流和數(shù)據流的含義為:
  (1)控制流:復合服務所要激活的次序,包括時間約束,、執(zhí)行或者取消過程運行的信號。
  (2)數(shù)據流:復合服務中的數(shù)據流,。一個在業(yè)務過程中活動的Web服務本身可能就是一個業(yè)務過程,。


3 集成案例
  根據本文所探討的集成架構和集成原理,鎮(zhèn)江移動電話公司構建了一個集成系統(tǒng)。公司有一組互不相連或部分相連的應用程序" title="應用程序">應用程序,分別為:
  (1)客戶信息應用程序;
  (2)客戶賬戶管理應用程序;
  (3)打印發(fā)票應用程序;
  (4)市話話費計價應用程序;
  (5)長話話費計價應用程序;
  (6)話費信息應用程序,。
  這些應用程序沒有集成,因此用戶要在不同應用程序中手工輸入數(shù)據,。有些應用程序提供基于共享數(shù)據文件的簡單數(shù)據交換,用專屬格式格式化。在這幾個應用程序中,客戶信息應用程序,、客戶賬戶管理應用程序,、話費信息應用程序提供了API,分別通過封裝增加接口。打印發(fā)票應用程序用JMS封裝,另外兩個用CORBA封裝,。
  為了實現(xiàn)較高層次的集成,在業(yè)務邏輯層定義低層虛擬組件,以便用一致的方式存取控制,。根據案例分析和各種分析類圖識別出高層EJB組件。識別出的高層EJB組件為:信用卡EJB組件,、移動電話用戶EJB組件,、賬戶EJB組件、授權和選擇賬戶EJB組件,、充值EJB組件,、檢查余額EJB組件。這些高層EJB組件所完成的功能集中在業(yè)務處理上,通過對低層虛擬組件方法的調用實現(xiàn)業(yè)務功能,例如檢查余額的虛擬組件計算賬戶余額的方法要涉及到客戶賬戶管理,、市話計費,、長話計費、話費信息等低層虛擬組件的調用,。
  最后將這些業(yè)務方法級的高層EJB組件以Web Services的方式發(fā)布,。如果要進行更高層次的集成,可以在這些Web Services的基礎上集成,既實現(xiàn)了低耦合性,又實現(xiàn)了較高的性能。從而使公司內外的管理者和顧客都可以調用,。公司外的顧客可以進行查詢充值等操作,公司內的管理者可以進行更高權限的操作(如修改資費標準等),。要實現(xiàn)這種權限控制,可以用基于角色的權限控制訪問策略和企業(yè)信息門戶的統(tǒng)一界面提供服務。
  BPEAIAM模型的基本思想是快速實現(xiàn)企業(yè)業(yè)務流程的重組,。BPEAIAM模型提供一個集成框架,可以通過多種方法實現(xiàn),。其中一種方法是利用Web服務技術實現(xiàn),將遺留應用的功能包裝成其他應用程序可以直接調用的Web服務,然后組合這些服務,產生滿足企業(yè)業(yè)務需要的流程。
  鎮(zhèn)江移動電話集成系統(tǒng)是實現(xiàn)BPEAIAM模型的初步嘗試,它證明了BPEAIAM模型的可行性,。目前該系統(tǒng)正在進一步完善中,。下一步的工作是以BPEAIAM模型為核心,嘗試開發(fā)一個功能相對完善的集成開發(fā)環(huán)境(IDE),。該開發(fā)環(huán)境提供了所有相關的基礎性服務,可以有效提高軟件的抽象層次,使開發(fā)者能將主要精力集中在業(yè)務邏輯的開發(fā)上。
參考文獻
1 David S.Linthicum.Process Automation and EAI.EAI Journal,,2000,,3;12~18
2 顧 翊,,張申生.一種企業(yè)應用集成(EAI)方案的研究.計算機工程與應用,,2003;6
3 Denver Robert,,Edward Williams.Adaptive integration architec-ture for software reuse[D].University of Central Florida,,2001
4 James Chang.Envisioning the Process-Centric Enterprise[J].EAI Journal,2002,;(8)30~33
5 SUN.Microsystems.JavaTM 2 Platform Enterprise Edition Specification,,v1.4.http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf:13~14
6 OMG.CORBA Specification.http://www.omg.org/docs/formal/04-03-01.pdf
7 Heather Kreger.Web Services Conceptual Architecture(WSCA 1.0).IBM Software Group,2001,,5.http://www-306.ibm.com/software/solutions/webservices/pdf/WSCA.pdf
8 Mary Kirtland.A Platform for Web Services.Microsoft Devel-oper Network,,2001,1.http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarxml/html/websvcs_plat-form.asp
9 W3C Workshop.Web Services Framework.http://www.w3.org/2001/03/WSWS-popa/paper51.2001,,4
10 SUN Microsystems.The J2EE 1.4 Tutorial.http://java.sun.com/j2ee/1.4/docs/tutorial/doc/Overview7.html
11 Binu John,,Vu Trang,Michael Vemik.Performance Evaluation of Enterprise JavaBeansTM(EJBTM) CORBA Adapter to CORBA Server Interoperability.2001,;1~6

本站內容除特別聲明的原創(chuàng)文章之外,,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點,。轉載的所有的文章,、圖片、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者,。如涉及作品內容,、版權和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。