• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            基于tuxedo中間件架構(gòu)的應(yīng)用研究

            Posted on 2008-12-11 15:46 Prayer 閱讀(1718) 評論(1)  編輯 收藏 引用 所屬分類: TUXEDO
             摘  要  本文研究了中間件產(chǎn)品BEA Tuxedo(Transaction for UNIX has been Extended for Distributed Operation)的特點和優(yōu)勢。并結(jié)合具體的例子研究了BEA Tuxedo的客服程序、服務(wù)程序的實現(xiàn),以及BEA Tuxedo的通信方式。
                關(guān)鍵詞  BEA Tuxedo、中間件
             
            引 言
                中間件(Middleware)是近年來迅速發(fā)展、壯大起來的一個軟件領(lǐng)域。在系統(tǒng)應(yīng)用的層次信息結(jié)構(gòu)中,他處于操作系統(tǒng)和用戶應(yīng)用之間。對應(yīng)用程序來說,其主要作用是屏蔽操作系統(tǒng)的異構(gòu)和實現(xiàn)穩(wěn)定安全的支撐環(huán)境,以便于不同系統(tǒng)間的信息交換。開發(fā)人員編程時可以利用中間件產(chǎn)品提供的跨平臺的、統(tǒng)一的接口,來規(guī)避操作系統(tǒng)的差異。這在提高應(yīng)用程序的可移植性的同時也縮短了應(yīng)用開發(fā)的周期。
                中間件用以提供客戶機與服務(wù)器之間的連接服務(wù),這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對不同的操作系統(tǒng)和硬件平臺,中間件能提供符合接口和協(xié)議規(guī)范的多種實現(xiàn)方式。由于標(biāo)準(zhǔn)接口對于可移植性和標(biāo)準(zhǔn)協(xié)議對于互操作性的重要性,中間件已成為許多標(biāo)準(zhǔn)化工作的主要部分。
                中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源。中間件系統(tǒng)管理著客戶端程序和數(shù)據(jù)庫或者早期應(yīng)用軟件之間的通訊。而且中間件在分布式的客戶和服務(wù)之間扮演著承上啟下的角色,如事務(wù)管理、負載均衡以及基于Web的計算等。
            1  主要中間件的分類
                 中間件包括的范圍十分廣泛,針對不同的需求涌現(xiàn)出多種各具特色的中間件產(chǎn)品。由于中間件需要屏蔽分布環(huán)境中異構(gòu)的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議,它必須能夠提供分布環(huán)境下的通訊服務(wù),我們將這種通訊服務(wù)稱之為平臺。基于目的和實現(xiàn)機制的不同,我們將平臺分為以下主要幾類:
                  ⑴  遠程過程調(diào)用(Remote Procedure Call)
                  ⑵  面向消息的中間件(Message-Oriented Middleware)
                  ⑶  對象請求代理(Object Request Brokers)
                  平臺可向上提供不同形式的通訊服務(wù),包括同步、排隊、訂閱發(fā)布、廣播等等。在這些基本的通訊平臺之上,可構(gòu)筑各種框架,為應(yīng)用程序提供不同領(lǐng)域內(nèi)的服務(wù),如事務(wù)處理監(jiān)控器、分布數(shù)據(jù)訪問、對象事務(wù)管理器OTM等。平臺為上層應(yīng)用屏蔽了異構(gòu)操作系統(tǒng)的差異,而其上的框架又定義了相應(yīng)領(lǐng)域內(nèi)的系統(tǒng)結(jié)構(gòu)、標(biāo)準(zhǔn)的服務(wù)組件等。用戶只需告訴框架所關(guān)心的事件,然后提供處理這些事件的代碼,事件發(fā)生時,框架調(diào)用用戶的代碼。用戶代碼不用調(diào)用框架,用戶程序也不用關(guān)心框架結(jié)構(gòu)、執(zhí)行流程、對系統(tǒng)級API的調(diào)用等,所有這些都由框架負責(zé)完成。因此,基于中間件開發(fā)的應(yīng)用具有良好的可擴充性、易管理性、高可用性和可移植性。
            2 中間件產(chǎn)品TUXEDO分析
                 中間件產(chǎn)品TUXEDO是Transaction for UNIX has been Extended for Distributed Operation的簡稱,即被分布式操作擴展之后的UNIX事務(wù)系統(tǒng) 。TUXEDO是一個基于消息類型的中間件產(chǎn)品,在1984年由AT&&T的貝爾實驗室開發(fā)完成的。1995年被BEA公司收購。BEA TUXEDO是在企業(yè)、Internet 這樣的分布式運算環(huán)境中開發(fā)和管理三層結(jié)構(gòu)的客戶/服務(wù)器型關(guān)鍵任務(wù)應(yīng)用系統(tǒng)的強有力工具。它具備分布式事務(wù)處理和應(yīng)用通信功能,并提供完善的各種服務(wù)來建立、運行和管理關(guān)鍵任務(wù)應(yīng)用系統(tǒng)。開發(fā)人員能夠用它建立跨多個硬件平臺、數(shù)據(jù)庫和操作系統(tǒng)的可互操作的應(yīng)用系統(tǒng)。 TUXEDO中間件的工作原理如圖一所示:
            Client向System/T發(fā)出查詢請求,以找到Server消息隊列的地址;
            Client根據(jù)找到的入口地址將請求發(fā)送到Server的消息隊列中;

            圖1  tuxedo中間件工作原理
                  Server處理請求,并將結(jié)果返回給Client的消息隊列。 System/T是Tuxedo系統(tǒng)的核心,它實現(xiàn)了Tuxedo的所有功能和特征,如C/S數(shù)據(jù)流管理、服務(wù)請求的負載均衡、全局事務(wù)管理以保證交易的完整性、同步/異步服務(wù)請求、兩階段提交以確保消息的發(fā)送等。System/T提供了一個類似公告欄的服務(wù),用以發(fā)布C/S計算機環(huán)境中所有服務(wù)器、服務(wù)和客戶機的信息,供其它分布式計算的參與者使用。
                  中間件產(chǎn)品TUXEDO的特點[1]
                  ⑴ 分布式交易管理:BEA Tuxedo使客戶機和服務(wù)器可參與涉及多個數(shù)據(jù)庫協(xié)調(diào)更新的分布式交易。并確保所有數(shù)據(jù)庫的正確更新或恢復(fù)到初始狀態(tài),從而在任何組件出現(xiàn)故障時均能保證數(shù)據(jù)的完整性;
                  ⑵ 高可用性:BEA Tuxedo的一個主要性能是保證對系統(tǒng)組件進行持續(xù)的監(jiān)視,查看應(yīng)用系統(tǒng)、交易、網(wǎng)絡(luò)及硬件是否出現(xiàn)故障。一旦出現(xiàn)故障,BEA Tuxedo會從邏輯上把故障組件從系統(tǒng)中排除,管理必要的恢復(fù)程序并重新為消息和交易選擇路由,以使系統(tǒng)繼續(xù)運行。對于最終用戶而言,所有這些都是完全透明的,且不需要中斷服務(wù);
                  ⑶ 動態(tài)負載均衡:BEA Tuxedo可以根據(jù)系統(tǒng)的負載指示,自動開啟和關(guān)閉應(yīng)用服務(wù),以滿足對應(yīng)用系統(tǒng)的高強度使用需求。同時還可以均衡所有可用系統(tǒng)的負載,以確保無論服務(wù)是在同一個節(jié)點還是分布在節(jié)點之間系統(tǒng)都能被平均使用資源,達到負載均衡;
                  ⑷ 數(shù)據(jù)依賴路由(DDR):BEA Tuxedo可按照消息的傳輸?shù)年P(guān)鍵路由信息來選擇消息路由。這樣就能夠?qū)崿F(xiàn)交易的高效處理,并發(fā)揮最佳性能;
                  ⑸ 安全性:BEA Tuxedo支持加密(LLE安全機制),當(dāng)跨網(wǎng)絡(luò)部署B(yǎng)EA Tuxedo應(yīng)用系統(tǒng)時,這些安全性機制可確保用戶數(shù)據(jù)的保密性。Tuxedo還提供了插件程序機制,支持公共密鑰和數(shù)字簽名,以及連接應(yīng)用系統(tǒng)的非BEA安全產(chǎn)品,保證了系統(tǒng)的安全性。
                  ⑹ 應(yīng)用系統(tǒng)并行化:BEA Tuxedo通過動態(tài)復(fù)制整個網(wǎng)絡(luò)中的分布式應(yīng)用系統(tǒng),可使電子商務(wù)應(yīng)用系統(tǒng)發(fā)揮最佳性能。同時Tuxedo允許應(yīng)用系統(tǒng)并行處理請求,并發(fā)處理位于不同分布式節(jié)點上的業(yè)務(wù)請求,提高開發(fā)效率。
                  ⑺ 提供Application To Transaction Manager Interface—ATMI:BEA TUXEDO提供的 ATMI支持為50多種硬件平臺和操作系統(tǒng)提供了一致的應(yīng)用編程接口。ATMI讓開發(fā)人員不用考慮程序所在的硬件環(huán)境,直接編寫B(tài)EA Tuxedo應(yīng)用系統(tǒng)。
            3 中間件產(chǎn)品TUXEDO開發(fā)
                 TUXEDO應(yīng)用開發(fā)主要包括到客戶端程序、服務(wù)端程序的開發(fā)。BEA Tuxedo提供了一個其于C語言的編程接口,即應(yīng)用程序事務(wù)監(jiān)控接口ATMI,以便用于開發(fā)客戶程序和服務(wù)程序。除了C語言接口外,BEA Tuxedo還提供
            了COBOL接口。在Bea Tuxedo系統(tǒng)中的客戶端到服務(wù)端的通信過程都是通過類型緩沖區(qū)來完成的,Bea Tuxedo系統(tǒng)提供了大量的類型緩沖區(qū)來供使用。所有類型緩沖區(qū)都必須通過Bea Tuxedo的tpalloc(), tprealloc(), tpfree()這些公共ATMI來分配回收[2]
            3.1 創(chuàng)建BEA TUXEDO客戶端程序
                  客戶程序一般執(zhí)行如下任務(wù):
                  ⑴ 調(diào)用tpchkauth()決定加入一個應(yīng)用程序所需的安全級別。可能出現(xiàn)的響應(yīng)包括:沒有安全級別,應(yīng)用程序口令,應(yīng)用程序授權(quán),訪問控制列表,連接級加密,公鑰加密,審計。這些可以根據(jù)你的需求進行選擇;
                  ⑵ 調(diào)用tpinit()來連接到一個BEA Tuxedo應(yīng)用程序,所需的安全信息作為tpinit()的參數(shù)傳給了應(yīng)用程序;
                  ⑶ 執(zhí)行服務(wù)請求;

                  ⑷ 調(diào)用tpterm()來斷開和BEA Tuxedo應(yīng)用程序的連接。
            客戶端程序調(diào)用流程如圖2所示:
            圖2  創(chuàng)建BEA TUXEDO客戶端程序
            3.2 創(chuàng)建BEA TUXEDO服務(wù)端程序
                  服務(wù)程序一般執(zhí)行如下任務(wù):
                  ⑴ 在BEA Tuxedo服務(wù)程序啟動時,執(zhí)行tpsvrinit()函數(shù),可以在里面打開一些如數(shù)據(jù)庫之類的資源供以后使用;
                  ⑵ 在BEA Tuxedo服務(wù)程序關(guān)閉時,執(zhí)行tpsvrdown()函數(shù),可以在里面關(guān)閉tpsvrinit()中打開的資料;
                  ⑶ BEA Tuxedo服務(wù)程序以服務(wù)的形式來響應(yīng)客戶程序的請求,客戶程序不是通過名字來調(diào)用服務(wù)程序的,而是調(diào)用服務(wù),客戶程序不知道處理它請求的服務(wù)程序的位置;
                  ⑷ 服務(wù)程序調(diào)用tpreturn()函數(shù)來結(jié)束服務(wù)請求,并返回一個緩沖區(qū),必要時,將它傳給客戶程序;

                  服務(wù)端程序調(diào)用流程如圖3所示:
            圖3 創(chuàng)建BEA TUXEDO服務(wù)端程序
            4 BEA TUXEDO通訊緩沖區(qū):
                 TUXEDO之間通過統(tǒng)一定義的類型緩沖區(qū)進行通訊,類型緩沖區(qū)可以使應(yīng)用跨越不同網(wǎng)絡(luò)、不同協(xié)議、不同CPU構(gòu)架以及不同操作系統(tǒng)之間得到統(tǒng)一的處理,這就使得開發(fā)者在分布式計算環(huán)境中有效地避開了異構(gòu)網(wǎng)絡(luò)和異構(gòu)計算機系統(tǒng)帶來的差異,只需進行商業(yè)邏輯的開發(fā)上。通訊緩沖區(qū)結(jié)構(gòu)如圖4所示:

            圖4  TUXEDO通訊緩沖區(qū)
                 BEA TUXEDO提供以下幾種通訊方式[3]
                 ⑴ 同步請求/應(yīng)答通信
                 ⑵ 異步請求/應(yīng)答通信
                 ⑶ 嵌套調(diào)用通信
                 ⑷ 轉(zhuǎn)發(fā)調(diào)用通信
                 ⑸ 會話通信
                 ⑹ 消息通告通信
                 ⑺ 基于事件通信
                 ⑻ 隊列通信
                 ⑼ 事務(wù)控制通信
            結(jié)束語:
                 隨著系統(tǒng)的規(guī)模不斷發(fā)展,對系統(tǒng)進行有效分布式處理,提高資源利用率的要求越來越高,因此從客戶/數(shù)據(jù)庫方案轉(zhuǎn)變到三層客戶/應(yīng)用系統(tǒng)/數(shù)據(jù)服務(wù)器結(jié)構(gòu)是業(yè)界發(fā)展的趨勢。本文討論了主要中間件架構(gòu)的優(yōu)勢,并分析了中間件產(chǎn)品BEA TUXEDO的開發(fā)模式和特點。分析BEA TUXEDO常見的通訊方式,包括同步請求/應(yīng)答通信、異步請求/應(yīng)答通信、嵌套調(diào)用通信、轉(zhuǎn)發(fā)調(diào)用通信、會話通信、消息通告通信、基于事件通信、隊列通信、事務(wù)控制通信的方式,并結(jié)合通訊方式分析了TUXEDO的客服程序和服務(wù)程序偽代碼和部分ATMI函數(shù)。
             
            1 BEA Tuxedo 8.0 Documentation for the e-generation e-docs.bea.com
            2 徐春金. TUXEDO中間件開發(fā)與配置[M]. 中國電力出版社
            3 Chris Britton. IT體系結(jié)構(gòu)與中間件——建設(shè)大型集成系統(tǒng)的策略[M]. 人民郵電出版社

            Feedback

            # re: 基于tuxedo中間件架構(gòu)的應(yīng)用研究  回復(fù)  更多評論   

            2011-11-22 14:53 by 劉邦
            監(jiān)控TUXEDO 并快速學(xué)習(xí)TUXEDO 架構(gòu),推薦用這個,專業(yè),權(quán)威.并能提供報警和報表.
            Oracle Tuxedo Cartridge for Foglight
            詳細參考http://www.innovatedigital.com/node/709
            国产人久久人人人人爽| 欧美国产成人久久精品| 精品久久久久久久| 久久久久九九精品影院| 精品无码久久久久国产动漫3d| 久久久久亚洲av成人网人人软件| 99久久99久久久精品齐齐| 国产精品欧美久久久久无广告| 久久中文字幕人妻丝袜| 久久亚洲春色中文字幕久久久| 狠狠色综合久久久久尤物| 亚洲国产另类久久久精品| 国产精品激情综合久久| 少妇精品久久久一区二区三区| 丁香久久婷婷国产午夜视频| 精品久久久久久中文字幕大豆网| 亚洲国产精品久久66| 日本久久久久亚洲中字幕| 久久久久国产日韩精品网站| 国产精品久久久久久久久| 欧美精品乱码99久久蜜桃| 91麻豆精品国产91久久久久久| 97精品依人久久久大香线蕉97| 午夜视频久久久久一区| 精品久久久久中文字| 狠狠色丁香久久综合五月| 亚洲国产精品无码久久一区二区 | 97精品伊人久久久大香线蕉| 伊人久久无码精品中文字幕| 99久久精品国产一区二区蜜芽| 久久精品国产精品亚洲毛片| 久久男人Av资源网站无码软件| 伊人久久久AV老熟妇色| 久久中文字幕人妻丝袜| 日本五月天婷久久网站| 要久久爱在线免费观看| 99久久免费国产精品| 91久久精品国产免费直播| 国产精品美女久久久网AV| 国产视频久久| 亚洲美日韩Av中文字幕无码久久久妻妇|