基于EAI的信息總線的關鍵技術_第1頁
基于EAI的信息總線的關鍵技術_第2頁
基于EAI的信息總線的關鍵技術_第3頁
基于EAI的信息總線的關鍵技術_第4頁
基于EAI的信息總線的關鍵技術_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于EAI的信息總線的關鍵技術Publish/Subscribe方法信息總線是依賴于消息系統實現多個應用系統的相互通信,消息的傳遞方式一般包括:n 存儲/轉發(Storage/Forward);n 發布/預定(Publish/Subscribe);n 請求/響應(Request/Reply);n 請求/提交(Request/Delivery);這其中,存儲/轉發、請求/響應、請求/提交等方法本質上都屬于客戶機/服務器(Client/Server)方式的通訊方式,這種Client/Server方式的通訊方式是屬于“點對點”(Point-To-Point)的通信方式。當兩個應用進行一對一的通訊時,

2、點對點的通信方式并沒有什么問題,但是當一個信息需要發送給多個業務應用模塊時,即“點對多點”的應用模式時,采用這種通信方式,需要分別單獨建立多個點對點的通信對話,進行數據的通信。其工作效率和性能顯然是較低的。發布/預定方式恰好能夠解決這個問題。發布/預定方式是將需要傳遞的消息以廣播方式公布到消息總線上,此之謂“發布”,對于這個消息“感興趣”的應用將接收這個消息,而對這個消息 “不感興趣” 的應用將“拋棄”這個消息,此之謂“預定”。發布/預定方式是廣播方式的消息傳遞方式,這種方式是真正的分布式通信方式,無論信息要被發送到多少的目的應用,一個消息在網絡上只會傳播一次,在“點對多點”的通信模式下,其工

3、作效率和性能是“點對點”的通信方式所不能比的。TIBCO ActiveEnterprise產品描述概述TIBCO ActiveEnterprise是一套完整的端到端企業級EAI套件。它提供一個實時的業務功能平臺,包括數據集成和轉換、業務過程協調、全球范圍的信息傳遞、用戶通知和系統監督、管理。另外,TIBCO ActiveEnterprise提供各種類型的適配器,用于連接應用軟件包(ERP, CSS, SFA, OSS/BSS,Billing),數據庫,現有系統和其他第三方軟件。TIBCO ActiveEnterprise產品套件主要有這些產品組成:l TIBCO InConcert:工作流管理

4、系統,可自動化和定制人工干預的業務工作流;l TIBCO Integration Manager:定義和管理那些可自動化的多應用和事務的商務流程;l TIBCO MessageBroker:實現信息/數據的自動轉換傳輸;實現業務對象的鏡象。l TIBCO Hawk:實現強有力的系統監控功能;l TIBCO Rendezvous(TIBCO RV):一種先進、可靠、開放、強伸縮性的基本邏輯架構,構成TIB(The Information Bus)信息引擎的核心組件;l TIBCO Adapter:實現應用系統的無縫集成;l TIBCO Adapter SDK:提供用戶可定制的集成方式開發包;TI

5、BCO ActibeEnterprise的功能組件TIBCO ActiveEnterprise套件包括以下功能塊:¨ 適配器 (Adapters)TIBCO Adapters把企業應用軟件連接到一個允許數據和業務流通用的集成平臺。典型的可適配應用軟件包括:SAP R/3,PeopleSoft, Siebel , Clarify, Kenan, LHS, Amdocs和主要應用軟件技術,如數據庫、信息傳遞 系統、 WEB,其他的應用軟件和顧客系統均可通過TIBCO Adapter SDK 開發相同規則的適配器。TIBCO Adapter會被業務事件引發而提供過程和數據的集成,同時提取出

6、各個系統的單一接口和數據對象。¨ 信息傳遞(Messaging)TIBCO信息傳遞組件執行集成系統間的事件管理和數據流動任務。發布/預訂,詢問/回復和交易信息傳遞,加上CORBA,COM和DCOM組件集成都運行在TIBCO的TIB平臺上- 一個能設計和優化應用集成的事件驅動總線。 ¨ 數據集成(Data Integration)TIBCO MessageBroker用于流動中的不同數據格式的轉換和驗證,傳輸/路由不同平臺的信息。TIBCO MessageBroker作為各種應用接口和數據形式的格式映射中介與其他TIBCO組件聯合工作。這種格式映射和配置通過簡單的GUI接口來

7、管理。¨ 協調業務流程 (Business Process Coordination)TIBCO Integration Manager具備對整個系統業務過程協調和補償交易管理的功能。它能與TIBCO Adapters、TIBCO MessageBroker和第三方技術(如交易管理)協調工作來重新定義業務級的集成。具有標準行為的復雜業務流程現在可以橫跨于各個不同的平臺之上。¨ 企業監督和管理(Enterprise Monitoring & Management)TIBCO Hawk提供管理和監督功能確保企業集成可靠和可預見地運行。 TIBCO Hawk監督分布的應用

8、軟件和其他的集成產品組件,如 TIBCO MessageBroker 和TIBCO Adapters,而且出現錯誤時會產生警報或異常,這些事件按照預先定義的分布規則表現,并且在空閑時修補錯誤。¨ 用戶通知(User Notification)。另外,在最高層可使用TIBCO Inconcert,來對整個系統進行工作流和自動化的控制。TIBCO ActiveEnterprise的主要優勢之一是組件之間具有相互促進提高的功能。TIBCO ActiveEnterprise的底層結構允許各個組件在集成系統中扮演獨立的角色,同時利用擴展的內部組件來激活其他組件的新功能(利用廣泛的組件間集成來激

9、活新的功能)。例如,TIBCO ActiveEnterprise的每個組件:· 使用恰當的TIBCO信息傳遞服務級別,實現高效、可擴展的數據流動· 通過內置管理接口接受系統監督· 獲取在共享數據庫中的數據和過程定義來提高設計和運行效率· 能共享配置和組件間XML數據元,消除重復的數據定義· 提供標準的錯誤通知和管理· 能建立標準化的用戶通知,使雇員和顧客保持被告知狀態 因此,一個適配器不僅要解決應用軟件的連接問題,而且還要與現行的機制,如TIBCO Rendezvous信息流、TIBCO Hawk管理和監督性能、 TIBCO Mess

10、ageBroker傳輸規則定義保持統一。TIBCO Rendezvous 任何應用架構在TIBCO平臺上都要安裝TIBCO Rendezvous(或稱為TIBCO RV),它是一種中間件,也是TIBCO ActiveEnterprise的核心組件,它具有廣播/定制(Publish/Subscribe)、主題傳送(Subject-Based Addressing)和自定義數據信息(Self-Describing Data Messages)等專利技術功能,使不同應用平臺上的信息在一個共享的虛擬總線Information Bus(TIB)上進行傳輸交換。這些技術能有效地幫助企業從傳統的請求/回答(

11、Request/Reply)模式轉到自動數據接受的事件驅動模式(Event-Driven,或稱之為Push)。TIBCO RV有助于在各種應用系統中獲取信息和數據,能將異種平臺有機地聯結起來, 通過以即插即用(Plug & Play) 、位置無關(Location-Independent)和分布式服務(Distributed Services)的方式在WAN和LAN間配置系統。并且TIBCO RV具有認證信息傳遞(Certified Message Delivery)和容錯(Fault Tolerance)功能。因為使用TIBCO RV不用考慮網絡的技術細節,而只需專注于企業應用的開發

12、,所以能快速建立和配置一個可伸縮的分布式應用系統。TIBCO Rendezvous的益處:l 加快應用的開發減少維護費用;l 唯一獨立于硬件、操作系統、網絡和協議平臺供應商;l 動態組件替換:進程可以隨時加載、退出、替換,而不影響系統運行;l 屏蔽網絡細節;l 應用伸縮性高;l 地址無關簡化增加/改變組件;l 提高分布系統的生命期;TIBCO Rendezvous的特點:l 新特性:² 分布式隊列實現一對多信息傳送;² Java API;² 安全信息傳送;² 冗余機制實現容錯;l 一般特性:² 所有平臺間對等傳輸;² 與其他通訊協議并

13、存于統一系統;² 支持多種數據內部交換格式;² 系統開銷低,容易嵌入;² 線程安全,多進程安全保護;² 支持多點傳送;l 通訊和數據特性:² 異步通訊;² 廣播/定制,可靠的廣播機制;² 點對點請求/應答;² 基于主題信息傳送;² 自定義數據信息與硬件/操作系統無關;² 透明的信息打包或重組;l 認證信息傳遞:² 明確的信息認證,確保信息傳送到目的地;² 在進程中斷和重新啟動狀態下確保要傳遞的信息不丟失;² 分布式隊列;² 傳遞信息給隊列種的某一成員;&#

14、178; 隊列成員進程保持異步運行;l 容錯:² 通過冗余進程實現系統容錯;² 監控活動的冗余進程;l 開發特點:² 提供Java、C、C+、ActiveX、Perl的API庫;² 源碼兼容所有的平臺;² 與Microsoft Windows 或ActiveX等Event Manager兼容;² 支持同步/異步事件管理結構;l 組件:² TIBCO Rendezvous Daemon為應用進程傳遞信息,過濾主題信息,分配信息;² TIBCO Rendezvous Agent Process提供Java或applet

15、s與TIBCO Rendezvous后臺進程的接口;² TIBCO Rendezvous Routing Daemon在WAN和LAN間跨網段有效地傳遞信息,對TIBCO Rendezvous 應用編碼不做任何修改;²TIBCO RV支持的平臺TIBCO RV 版本Release 6.x支持的硬件平臺和操作系統平臺如所示。TIBCO RV一般需要操作系統能夠支持多線程(Multi-Thread)能力。TIBCO RV支持的硬件平臺與操作系統平臺硬件平臺操作系統 版本 備注DEC AlphaTru64 UNIX4.0 +Formerly Digital UNIX.Open V

16、MS7.2 +Requires Digital TCP/IP Services v5.0HP 9000/700HP 9000/800HP/UX11 + IBM AS/400OS/400V4R3 + IBM RS/6000AIX4.3 + Intel 386(or greater)Free BSD3.3 + Linux2.2 +glibc, gcc 2.95MS Windows NT4.0 +Requires SP5 or later.VisualC+ v6.0MS Windows 2000 VisualC+ v6.0MS Windows 98&

17、#160;VisualC+ v6.0MS Windows 95 Requires OSR2 with Winsock update.VisualC+ v6.0SCO UnixWare7.0 + Solaris2.6 +SunWorkshop v5.0Sun SPARCSolaris2.6 +SunWorkshop v5.0TIBCO Message Broker TIBCO Message Broker負責不同的系統和應用需要信息的轉換。它能在分布式的企業應用系統中對發送和接收的信息進行設計,使輸入的信息根據自定義的格式或規則進行合并、校驗、轉化、分解為輸出的信息,以便在整

18、個的應用系統中的不同應用程序中傳遞數據。TIBCO Message Broker接受TIBCO RV傳來的消息,進行格式的轉換與翻譯,然后使用基于主題的尋址技術,將消息發送到目的地。概述TIBCO Message Broker是一個轉換、規則處理系統,TIBCO MB接受和發送不同的分布式應用的消息,依據事先定義的規則來映射、轉換、驗證消息中的數據,從而實現不同的應用模塊之間的數據的透明傳遞,屏蔽掉不同系統間的數據的差異性。使用TIBCO MB,不同傳輸協議與不同信息格式的消息可以被互相傳遞,消息可以依據其不同的內容制定規則被傳遞到相應的消息接收者處。如下圖所示,TIBCO MB的核心部件是T

19、IBCO MB的引擎,在引擎之上通過“plug-in”的方式獲取、轉換和發送消息。TIBCO MB也預制了“plug-in”,包括:TIBCO RV、file、Database、HTTP、FTP、POP和SMTP。另外,TIBCO MB還提供了一系列的、大量的功能函數,如:數據格式轉換函數、日期格式轉換函數、數學計算函數等,預制的plug-in和功能函數是使用TIBCO MB的JAVA API開發,用戶也可以開發自己的plug-in和功能函數。TIBCO Message Broker核心對象數據作為預先定義的數據plug-in進入TIBCO MB,并被格式化TIBCO MB的內部樹結構,可以被

20、分別進行處理。需要轉換的數據按照預先制定的規則進行轉換并被發送的輸出plug-in上發送出去。當TIBCO MB同TIBCO AE其他的組件集成到一起時,各個應用模塊在發送和接受數據時,就可以不必考慮數據的格式和含義,完全按照自己的方式來處理數據,而數據格式的轉換、校驗等任務則有TIBCO MB來完成。組件TIBCO MB包括兩個主要組件:Message Broker GUI和Message Broker Engine。Message Broker Engine是運行時(runtime)組件,執行由Message Broker GUI在設計時態定義的數據轉換規則。TIBCO Repositor

21、y被集成到Message Broker GUI和Message Broker Engine之中,提供對轉換規則和公式的集中管理功能。如下圖所示。TIBCO Message Broker with TIBCO Repository ServerTIBCO MB也可以不使用TIBCO Repository Server運行,如下圖所示。在這種情況下,轉換公式被存儲在本地的庫文件中,通常采用文件的方式進行存儲。TIBCO Message Broker without TIBCO Repository Server在設計態,可以使用Message Broker GUI通過“托拽”方式放置plug-in

22、s,功能函數、映射等定義數據流,數據流在TIBCO Repository被存成轉換公式。在運行態,只有TIBCO Repository和TIBCO Message Broker Engine在運行。Message Broker Engine自動處理消息并把他們發送到目的地,如下圖所示。運行時的Message BrokerMessage Broker Engine可以在多臺機器上部署,具有很好的擴展性能夠應付消息流量的巨大變化,Message Broker Engine可以并行運行于多臺機器之上,也可以被配置成單一的運行實例(instance)。因為TIBCO RV采用的基于主題的尋址技術的位置

23、無關性,Message Broker Engine可以在不同的機器上移動而不需要重新配置。Message Broker GUI提供一個十分簡單的數據流模型的手段來設計、定義轉換公式。允許用戶首先定義高層次的數據流模型,然后再逐步深入定義到plug-in、函數和映射。如下圖所示,顯示數據流模型和詳細的數據面板(panel),數據流模型面板包含plug-ins、函數和映射,并被連接稱為一個轉換,上面的聯線定義了對象之間的數據流關系,下面的數據面板顯示對象的具體的屬性值。Message Broker GUI數據流模型高層次的數據流被定義數據流面板上,使用連接工具,可以將plug-in、函數和映射連接

24、起來。每一個對象的屬性將顯示在數據面板之上。定義消息轉換的數據流,可以選擇plug-in,并拖拽到面板上,增加其他的plug-in、函數和映射,然后以拖拽方式連接起來定義數據流。如下圖所示,數據流穿過被連接在一起的plug-ins、函數和映射,接受消息并被發送到其他應用去。消息轉換在這個例子中,n RV訂閱者獲得一個消息并把這個消息轉換成一個樹的結構被Message Broker進行處理;n RV訂閱者發送這個消息給映射Mapper,依據實現定義的輸入與輸出公式,Mapper執行映射功能;n Mapper發送經過轉換的消息給RV發布者,RV發布者將樹結構的信息轉換成為RV消息格式,并發布這個R

25、V消息;n 在RV訂閱者與RV發布者之間的連線代表觸發器(Trigger),觸發器在滿足某種條件后自動發起數據流,典型情況下觸發器基于某些事件產生。路由(Routing)在Message Broker中,來自于消息源的數據(如數據庫或文件)可以被直接發送到另外的應用而不進行數據轉換。例如,更新一個文件可以被發布成為一個RV的消息發布到網絡中。如下圖所示,上面的一條線代表定義的消息流,下面的一條線代表定義的觸發器,FileReader監視文件的變化,一旦文件發生變化,FileReader就發布這個變化給RV 發布者并增加計數器,一旦計數器變化,RV 發布者就被觸發器觸發發布一個新的消息。消息路由

26、Message Broker的消息路由功能,可以用來“仿真”數據流程,模擬真實的數據流的變化。映射映射功能定義輸入/輸出消息的處理公式,可以實現:n 定義輸入/輸出算法;n 為輸入的消息定義處理條件,只有條件滿足時才觸發處理;n 拖拽方式連接輸入與輸出公式;n 為輸出消息定義函數來轉換數據;分組(Grouping)轉換定義可以被分組并被保存在TIBCO Repository中,一組轉換定義可以在其他的數據流中被重用。這樣可以減少定義業務流程的時間,從而加快系統間集成的工作進程。TIBCO HAWK概述TIBCO HAWK是一個分布式應用的監控與管理工具,與其他監控工具不同的是,TIBCO HA

27、WK使用TIBCO RV進行互相之間的通信,繼承TIBCO RV的許多優點,包括靈活的架構、企業級的高可擴展性、位置無關性,易于配置等。TIBCO HAWK是基于事件的系統,采用分布在每一臺機器上的智能代理技術,該系統針對分布式的應用系統監控而設計,因此他沒有中央的控制臺和采用polling技術。基于這種架構,TIBCO HAWK可以擴展到數千個節點,而當增加、刪除或管理節點時,不需要進行重新配置或重新啟動系統。執行系統監控任務的是TIBCO HAWK的代理(Agent)。每一個代理運行于被管理的每一個節點上,每一個代理依據系統監控邏輯采集信息、處理情況,監控邏輯規則決定代理監控的資源和當某個

28、條件出現時采取的行動。TIBCO HAWK提供預制的規則用來監視系統的基本參數。TIBCO HAWK Display訂閱代理發布的告警消息,并顯示在組織視圖中。告警信息可以依據不同的顏色代表不同類型的警告,點擊顯示告警的節點,可以看到相關的出錯的歷史記錄。架構TIBCO HAWK的系統架構如下圖所示。TIBCO HAWK的體系結構TIBCO HAWK主要由兩個主要組件構成:代理(agents)和控制臺應用(Console)。代理執行監控任務,控制臺(TIBCO HAWK Display)作為用戶界面,顯示系統狀態和提供配置。如上圖右側,TIBCO HAWK的代理安裝在各個機器上監控本地的資源,

29、微代理(Microagents)用來監控操作系統性能、進程、日志文件等指標。TIBCO HAWK應用管理接口協議(AMI,Application Management Interface)作為應用與代理之間的網關。特點TIBCO HAWK具有可擴展性強、位置無關和可靠性高的特點。l 可擴展性TIBCO HAWK采用TIBCO RV作為通信工具,這種通信十分高效且十分可靠,被發送給100個節點的消息所占用的帶寬同發送給10個消息所占用的帶寬是一樣的,TIBCO HAWK繼承了TIBCO RV的可擴展性。TIBCO HAWK代理監控本地機器,在發生問題發送告警消息,由于采用這種分布式的系統結構,不

30、必周期性地進行polling,避免了輪詢所帶來的帶寬消費。另一個優勢是,只有當告警消息產生時,代理才發布告警消息,因此在正常狀態下占用的網絡帶寬更小。使用TIBCO HAWK Display,管理員可以很容易地監控一個大型的網絡。l 位置無關/容錯TIBCO HAWK代理運行于每一個節點上,TIBCO HAWK代理同TIBCO HAWK Display相獨立,在TIBCO HAWK代理與TIBCO HAWK Display之間的TIBCO RV消息使用基于主題的尋址技術,所以每一個組件的具體物理位置就變得不重要了。容錯性是建立在代理與代理之間的工作獨立性,一些代理無法繼續工作,其他代理仍然可以

31、繼續工作,監控系統的資源與性能。TIBCO HAWK Display可以有多個運行實例,并且不需要額外的配置與占用額外的帶寬。l 監控邏輯TIBCO HAWK提供了非常大的靈活性用于監控任務。定義的規則或任務可以十分簡單也可以十分復雜。可以實現的監控邏輯有:n 自動啟動一個失敗的進程;n 產生一系列的動作響應故障或問題;n 清除滿足條件的故障;n 清除故障時,執行動作;n 自動切換規則,支持不同的監控要求;n 基于預先定義的日程的自動化的告警監控處理;l 靈活性TIBCO HAWK支持多種平臺,可以監控許多不同的被管理對象和任務,具有很強的靈活性。通過定義自己的規則和編寫自動化執行的任務腳本的

32、方式,系統管理員可以“裁剪”TIBCO HAWK。也可以通過AMI協議擴展TIBCO HAWK對于應用的監控能力。Console API也提供了一個綜合的接口用來與代理進行通信,使得系統管理員可以開發自己的顯示界面系統。RuleBase API可以用來開發客戶自己的規則庫,也可以利用Rulebase API開發客戶化的規則編輯器。功能組件本節介紹在TIBCO HAWK監控環境中的主要功能部件。l TIBCO RV系統TIBCO HAWK利用TIBCO RV進行TIBCO HAWK部件之間的跨越網絡與機器之間的通信。支持廣播型網絡和組播型網絡,通過TIBCO RV 路由Daemon支持廣域網的連

33、接,可以實現跨越網絡的互連互通,具有很高的可靠性和傳輸效率。l TIBCO HAWK代理與微代理在TIBCO HAWK管理環境中,安裝在每一臺機器上的代理執行管理任務。代理使用微代理來管理每一個被管理對象,微代理通過可以調用的方法(methods)采用監控信息或執行管理任務,微代理的方法可以被TIBCO HAWK Display或其他基于Console API開發的應用所調用,微代理可以應用代理的規則引擎執行監控功能。微代理能夠監控:n 日志文件;n 應用執行;n 操作系統性能;n 進程;n 文件系統;n 事件日志;n 服務;應用通過AMI協議被微代理發現并被微代理監控與管理,每個微代理都運行

34、在代理里,但是微代理所管理的應用的管理進程則是分別獨立的。代理本身也可以被微代理所表示(represent),因此也可以通過同樣的方式被管理。l 規則庫與規則規則庫是一系列規則的集合,一個規則是用戶定義的監控政策,他代表微代理通過“方法”調用產生的源數據,以及相應制定的條件和滿足條件時所觸發的管理動作(action)。基于規則庫,可以執行監控任務,并為監控任務設置特定的條件。TIBCO HAWK Display中包含一個規則庫編輯器,可以定義和修改復雜的監控規則,不需要使用腳本語言就可以完成規則的定義。規則庫可以被分發到多個需要執行相同監控管理任務的代理那里,增加一個新的規則庫給一個代理或給1

35、000個代理所使用的時間是一樣的。改變一個規則庫不需要重新啟動代理。l TIBCO HAWK DisplayTIBCO HAWK Display是主要管理界面,TIBCO HAWK Display的主界面以圖形化的方式顯示所有被管理對象的行為,每一個被管理對象被組織成“容器”(Container)方式。可以通過菜單或對話框來創建、修改和分發規則庫。TIBCO HAWK Display占用的帶寬十分小,可以通過撥號方式連接在網絡上執行管理任務,TIBCO HAWK Display不是執行管理邏輯的中央控制服務器,而是本地的管理窗口。所有的TIBCO HAWK Display若沒有額外的特殊配置將

36、顯示相同的被管理對象,系統管理員可以客戶化自己的顯示視圖而不會影響其他的TIBCO HAWK Display運行實例。代理可以被TIBCO HAWK Display或其他基于Console API開發的第三方應用所監控,如果代理停止了同應用的通信,TIBCO HAWK Display可以檢測出這種情況,并通知系統管理員。l AMI協議TIBCO HAWK應用管理接口協議(AMI,Application Management Interface)是開放的、基于TIBCO RV的協議,AMI協議的主要特點是:n AMI API庫提供C、C+和JAVA語言的協議實現,同時利用TIBCO RV API

37、可以支持ActiveX和Perl;n 第三方應用可以通過編寫AMI wrapper(通過AMI API)而被管理與監控;l Console APIConsole API是基于JAVA的API,用于同TIBCO HAWK 代理的交互。TIBCO HAWK Display使用Console API來監控和管理代理的活動。使用Console API,可以開發客戶應用來監控和管理TIBCO HAWK 代理,訂閱告警消息,調用微代理的方法(methods)。l Rulebase APITIBCO HAWK Rulebase API是基于JAVA的API,可以開發客戶化的規則庫。規則庫應用于TIBCO H

38、AWK 代理來監控和管理系統以及應用。Rulebase API提供一系列的類庫來定義規則、測試和執行。l 事件服務TIBCO HAWK事件服務是基于Console API的應用,記錄TIBCO HAWK的活動。事件服務記錄所有TIBCO HAWK系統事件,如代理激活與到期、告警,以及微代理和規則庫的變化。他負責把所有活動記錄到數據文件中,也可以執行腳本語言來通知系統管理員特殊的事件。TIBCO Integration Manager對象建模一個業務系統會包含很多不同的但是相互關聯的業務模型。建模是十分重要的工作,可以通過建模來管理復雜性。TIBCO Integration Manager(TI

39、BCO IM)是一個基于業務流程的建模系統。給一個系統建模,可以有不同的方式,例如,數據模型描述數據在各個組件之間的傳遞關系;通信模型描述組件如何發送消息給其他組件;流程模型描述各個組件處理任務的過程。每一種模型都有他特別的目的與應用對象。使用TIBCO IM建模TIBCO IM通過流程建模編輯器,可以圖形化的方式定義業務處理流程模型,這個編輯器可以創建不同的模型圖(Diagrams)來代表流程模型、通信模型和數據模型,所有的建模信息都被存儲在TIBCO Repository之中,并且可以被TIBCO IM 服務器,TIBCO IM服務器分發流程定義給執行定義好的流程的工作流引擎。工作流引擎創

40、建崗位(Job)來處理流程,一個崗位是一個包含一系列流程中的任務以及與流程相關的信息的對象。下圖指明了TIBCO IM用于定義與執行業務流程的幾個組件。TIBCO IM執行業務流程l TIBCO IM的建模組件TIBCO IM使用幾個關鍵組件來建立業務流程模型,TIBCO IM使用TIBCO Repository來存儲建模實例(instances),建模實例可重用多次,模型可以在TIBCO IM中以圖形化的方式顯示,但是模型的定義數據是存儲在TIBCO Repository之中。下圖描述建模組件如何共同執行一個工作流。消息流通過管道傳遞且Job Creator接受消息,如果一個消息符合Job

41、Creator定義的規則集中的規則,則這個消息被處理并被綁定到這個崗位,崗位包含執行堆棧(execute stack)(由流程來進行定義),與崗位相關的任務可以訪問相關的消息數據。TIBCO Integration Manager組件主要部件如下表所示。TIBCO IM建模組件崗位(Job)一個崗位是一個包含與業務流程相關的數據與任務的業務數據的容器(Container);可以把數據與崗位相綁定(bind),稱之為Job Slot,流程中的工作任務可以訪問或存儲Job Slot中的數據。另外,流程可以設置檢查點(Check Point)來存儲崗位,如果一個事件失敗,Job可以恢復到上一個檢查點

42、。頻道(Channel)頻道(Channel)代表作為流程的源事件的應用或系統。例如,一個頻道可能代表一個資源管理系統,其他例如是CORBA、數據庫、Web服務器等,都是一個頻道;每一個頻道的作用是信息的生產者或者是消費者。一個頻道是一個描述系統中各個組件的信息流的邏輯結構,一個頻道包含所有相關的與頻道連接的參數(如:訂閱/發布方式,客戶/服務器方式)。每一個物理上的系統可以有多個頻道。例如,一個系統可以發送多條不同主題的TIBCO RV消息,每一個主題消息可以被不同的頻道所接受。每一個頻道都會與一個具體的應用相聯系,例如,一個TIBCO RV應用的頻道需要指明他的主題、網絡和服務,一個Ema

43、il系統的頻道需要指明email的主機名。需要多個頻道共享的信息會作為共享參數被存儲并被訪問。類(Class)類用于描述數據。數據與流程或頻道相關聯,例如,一個CORBA對象可以被描述成為一個類,這個類的屬性與CORBA對象的屬性相匹配,對類的操作也匹配到CORBA對象的方法上。流程(Process)流程是一個描述一系列的操作的一步接一步的過程,流程在一個觸發事件出現后啟動,例如接受了一個消息,這樣的過程是業務流程的模型化,流程可以執行操作、調用其他的流程或發送消息。流程可以通過編輯器建模并被關聯到崗位上,流程可以被一個事件啟動并執行一系列的任務直至結束或出錯。Job CreatorJob C

44、reator創建崗位并將崗位與流程相關聯。例如,一個TIBCO RV應用接受一個消息,Job Creator使用其預制的規則集判斷何種流程需要處理特殊的消息,規則集可以檢查主題或其他屬性并根據規則關聯起不同的流程與崗位。建模圖(Modeling Diagrams)TIBCO IM編輯器基于統一建模語言(UML,Unified Modeling Language)創建圖形化的業務流程圖。這些流程圖被表示成為哪些建模組件(類,流程,頻道等),建模組件可以在不同的業務流程圖中重用,但是,對于建模組件的改變將影響到所有使用該組件的業務流程圖。編輯器有三種類型的圖解,分別代表對業務模型的不同視圖:n 類

45、圖(Class Diagrams)n 消息流圖(Message Flow Diagrams)n 流程流圖(Process Flow Diagrams)上述三種圖解共同描述了業務模型,類圖從業務數據的視角進行描述,消息流圖是系統之間的信息流的圖形化展示,流程流圖定義了業務規則/業務邏輯。類圖當多個系統共同工作時,每個系統都有自己的數據表現方式,系統之間的信息交換則需要一個轉換過程。與其一對一地建立這樣的轉換,定義公共的數據表現和定義數據格式的映射通常是更有效的方式。這使得系統可以連續增長而將其中的某些系統的變化所造成的影響降到最低。TIBCO IM使用“類”描述業務數據并提供一個公共的數據模型。

46、類包含一系列屬性代表數據值,以及一系列的可被執行的操作,屬性和操作可從超類(superclass)繼承而來,數據可以有多種數據類型,包括:串、數字、日期,以及更加復雜的數據類型如序列、嵌套等。TIBCO IM支持下列數據類型:n TIBCO ActiveEnterprise Adapters;n JAVA;n CORBA;n SQL;類可以通過工具自動地生成來從業務系統提取數據,這些類所代表的數據同產生這些數據的業務系統緊密“捆綁”在一起。l Class Diagram Building Blocks類圖(Class Diagram)表示類與類之間的關系,TIBCO IM使用UML語言來描述這

47、種結構。類圖主要有兩種用途:n 數據描述:類圖描述靜態數據的輸入、輸出關系;n “方法容器”(a container for methods):一個容器是操作集合的描述,操作可以分布在網絡上的服務器上,TIBCO IM可以通過網絡調用這些操作。l 如何使用類圖TIBCO IM可以將數據流的定義與數據的描述分開。如下圖所示。TIBCO IM類圖該圖定義了四個類:Customer、Product、Order Item、Order,同時顯示了個各類之間的關系,以及每個類的屬性,可以通過拖拽的方式來定義類圖以及類之間的關系。消息流圖消息流圖顯示系統中的信息與控制流,消息流圖描述了在一個由一系列的任務組

48、成的流程中消息的傳遞關系,顯示組件之間的關系、組件接受與發送什么消息和流程如何調用其他流程,通過消息流圖,可以看到流程與頻道的交互作用。l 消息的作用消息(或成為事件)是觸發TIBCO IM的主要機制,沒一個頻道代表應用來接受或發送消息,如果Job Creator同一個頻道相關聯,他就可以基于預制的規則來分析消息,開始處理這個消息。消息可以是TIBCO ActiveEnterprise的消息、文件系統的變化或是一個來自Web Server的HTTP請求。l Message Flow Diagram Building Blocks組成一個消息流圖主要組件包括:n 頻道(Channel);n 流程

49、(Process);n Job Creator;頻道代表作為流程的事件源的一個應用。例如,一個頻道可以代表發送TIBCO RV消息的一個資源管理系統,頻道也可以是一個CORBA應用、一個數據庫或是一個Web服務器。頻道的作用是向模型發布或接受信息,作為信息的消費者或是生產者。每一個應用系統可以有多個頻道,用于接受或發送不同的信息。在消息流圖中的流程是定義在流程流圖中的流程的抽象描述,在消息流圖中,流程是一個“黑箱”,有事件/消息流入或流出,但是沒有描述一個流程具體完成哪些任務,在消息流圖中的流程的目的主要是顯示出信息是如何流動的。Job Creator定義如何初始化一個流程。Job Creat

50、or可以定義一系列的規則來依據事件的內容來決定是否啟動一個流程,即當滿足某種條件的某個事件到來時,某個流程將被啟動。在運行態,Job Creator依據實現定義的規則創建一個崗位并將崗位與流程關聯起來。典型情況下,一個頻道接受一個事件而觸發Job Creator創建一個崗位并執行流程。Job Creator可以將事件的數據同他所創建的崗位“綁定”。l 如何使用消息流圖TIBCO IM使用消息流圖顯示信息流與控制流。如下圖所示。TIBCO IM的消息流圖可以通過拖拽方式來定義、修改一個消息流。流程流圖(Process Flow Diagrams)流程流圖代表一系列的處理步驟,通常一個流程由一個事

51、件所觸發而啟動,然后執行一系列的任務,直到流程流轉完畢正常結束或出錯而結束。流程流圖包括任務和觸發器。任務是流程中需要執行的操作,任務可以返回其處理狀態或返回其他值,觸發器相當于條件分支,依據任務的處理狀態,決定流程的走向。l Process Diagram Building Blocks流程圖主要由以下部件組成:n 任務:任務實際上就是整個流程上一個步驟,在這個步驟上執行一些操作,任務可以在分解如下幾類:n 執行腳本:TIBCO IM支持Java Script;n 調用進程(Call Process):調用外部進程,可以將數據傳遞給外部進程;n 調用進程等待;n 遠程調用(Invoke re

52、mote methods);n 數據庫:執行對數據庫的SQL操作;n 客戶(任務):用戶客戶化的任務;n 日志:日志、審計信息;n Web:當起始任務是來自Web 服務器的事件時使用;n 休眠(Sleep):停止一個指定周期的時間;n 觸發器;n 起始/終止:起始/終止任務是一種特殊的任務,一個流程圖有且只有一個起始任務,可以有多個終止任務;當任務執行到終止任務時,流程中止,系統可返回值;n 信號:信號是一類用于從頻道發送或接受消息的任務,類似于TIBCO RV的發布與訂閱操作;TIBCO IM的任務流都是通過消息的方式流轉的,信號任務就提供了這種手段。信號任務可分為幾類:n 呼出信號(Sig

53、nal Out):發送消息給某個頻道;n 呼入信號(Signal In):從某個頻道接受消息;n 請求/響應:發送消息給某個頻道,然后等待該頻道的響應;n 決策(Decisions):決策任務是一類特殊的任務,依據對象的數據值決定觸發另外的任務,類似于條件分支;n 同步條;n 重復(iterators):類似于程序設計中的循環;n 交易(Tranactions):為信息更新提供類似數據庫的事務處理機制,保證數據的完整性;n 錯誤(Errors):錯誤/意外出口處理任務;l 為任務綁定數據綁定是一種從流程(process)中獲取或賦予數據的手段,當執行某一個任務時,可以通過綁定從這個任務獲取數據

54、給外部源,也可以從外部源獲取數據綁定到崗位上稱之為Job Slot。綁定的例子比如數據庫任務,可以將SQL語句綁定到一個Job Slot,那么就可以使用這種方式存取數據庫的數據。l 如何使用流程流圖TIBCO IM將流程同崗位關聯起來,崗位(Job)對象包含數據以及相關的執行流程的信息。如下圖所示。TIBCO IM流程流圖l 補償交易(Compensating Transactions)如果有多個流程參與到一個大的、十分復雜的事務處理(Transaction)中,可以在中止任務執行后,通過調用一個稱之為補償交易的流程來“滾回”整個事物。補償交易機制提供了一種手段,在大型的、復雜的事務處理流程保

55、障流程與數據的完整性與一致性。 應用補償交易機制,必須定義一個流程作為補償者(Compensator),并在中止任務中定義這個流程。例如,流程A、流程B和流程C分別更新不同數據庫中的不同表信息,流程A執行一個數據庫的事務處理功能完成任務,流程B也執行一個數據庫的事務處理功能完成了任務,而流程C更新失敗,而流程A、流程B和流程C之間又存在相互關聯性,那么,就可以通過定義補償交易流程,當出現更新失敗時,執行滾回處理,保證數據的完整性與一致性。TIBCO Adapter for ActiveDatabaseTIBCO Adapter是一個在ODBC數據庫和TIBCO RV消息系統之間的雙向網關。它既

56、支持publish/subscribe,也支持request/reply。采用允許trigger的ODBC數據庫,TIBCO Adapter for ActiveDatabase代理可以主動地通知TIBCO RV數據庫中的變化。相反地,代理可以配置成訂購TIBCO RV的消息,將它們捕獲到數據庫的表中。代理處理來自TIBCO RV的請求,并將回應返回給請求的程序,其中包含已經被處理的請求。概述TIBCO Adapter for ActiveDatabase可以將數據庫中數據變化在發生的同時傳送給其它的數據庫和應用程序。它將publish/subscribe和request/reply技術延伸到

57、數據庫。它支持ODBC兼容的數據庫如Oracle、Sybase和Microsoft SQL Server。技術特色l 當數據庫表中預先指定的行被插入、更新或刪除時,自動地將數據作為TIBCO RV的消息發布出去l 自動地訂購作為TIBCO RV消息發布的數據,并對數據庫中預先指定的表進行插入、更新和刪除操作l 采用Request/Reply機制發布SQL語句和/或存儲過程l 對TIBCO Adapter for ActiveDatabase進行定制,以滿足需求l 采用命令行配置工具,可以很方便地對代理進行配置Publish/Subscribe如下圖所示,當一個應用程序更新一個由TIBCO Adapter for ActiveDatabase publisher代理監視的數據庫時,代理從數據庫表被修改的行中提取數據,利用TIBCO RV將它們發布到適當的subject上。發布的消息通過組播(multicast)傳送給subscriber應用程序。TIBCO Adapter for ActiveDatabase subscriber代理監聽相應的subject,接收到消息后,對與其相關聯的數據庫中的有關表進行更新。其它應用程序再訪問數據庫時,數據就已經是最新的了。TIBCO Adapter for ActiveDatabase Publish/SubscribeReq

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論