在我從事的工做中,我最喜歡的一個軟件就是中間件。技術不斷髮展,中間件的概念也不斷進行。我所說的中間件,仍是傳統意義上的。業界使用比較多的中間件,我所涉及的有三個,有BEA的Tuxedo(目前在Oracle旗下),Borland的Visibroker,還有國內東方通的TongEASY。
我使用時間最長的是Tuxedo. 一年前一個機會,甲方準備測試一下這三個中間件誰優誰劣,我做爲業務開發負責人,讓我能夠接觸其餘兩個。
如今想起來,這個機會實在可貴。如今把當時培訓TongEASY的學習筆記曬一下,免得發黴。
今天在公司聽取了東方通中間件產品介紹。對這種中間件產品進行詳細的瞭解。經過聽講座,學到了不少有關的東方通的知識。
一. 與東方通TongEASY有關的基本概念
東方通中間件的組成:由三層組成。通訊管理模塊、事務管理模塊、應用開發API。
u 節點:是中間件的提供服務的基本單位,獨立配置,獨立啓動,提供服務。能夠進行集羣配置。配置時分爲上下級節點,下級節點調用上級節點所提供的服務。
u 客戶端:分爲節點客戶端(胖客戶端)和瘦客戶端。
u 鏈接:分爲常鏈接和動態連接,上下級節點之間的鏈接爲常鏈接;瘦客戶端採用動態鏈接,調用時需設置代理節點。
u 事務:分爲全局事務,分支事務。東方通支持XA式兩階段提交,由中間件管理事務的中間狀態;也支持有應用本身管理事務的非XA方式。
二. TongEASY的安裝和配置
接下來咱們學習的是TongEASY的安裝和配置,安裝過程很是的簡單,只須要將TongEASY的壓縮包解壓就能夠,在配置四個環境變量。
系統要求:對於AIX,只須要檢查系統參數maxuproc > 1000就能夠了,其餘平臺還須要調整共享內存、消息隊列、信號量、打開文件數、併發進程數等參數。
環境變量:須要配置4個系統參數
TONGEASYHOMEDIR(指向TongEASY安裝目錄)
TONGEASYDIR(指向TongEASY配置文件存放目錄etc)
TEFILESDIR(指向TongEASY發送、接收文件的目錄file)
TELOGDIR(指向TongEASY日誌文件的存放目錄log)
編譯環境:系統須要有CC編譯器,C標準庫,多線程支持庫,PROC編譯。
配置文件:
通訊管理模塊配置文件
srcpara.txt 中間件參數配置文件
TongLINK.conf 節點配置文件
route.txt 路由配置文件
事務管理模塊
dbdesc.txt 數據庫配置文件
svcdesc.txt 服務配置文件
經常使用命令:
tminit 中間件啓動
tmend 中間件結束
tlmenu 節點配置工具
loadnode 從新加載配置文件
三. 應用Demo介紹
今天還介紹了一個同步調用的Demo,來了解TongEASY的開發過程。
配置服務有如下步驟:
配置數據庫鏈接配置文件dbdesc.txt
配置服務配置文件svcdesc.txt
編譯客戶端,編譯方法跟普通的PROC程序沒有分別。
編譯服務端,須要使用Tebuild命令進行編譯服務
四. TongEASY提供的API
TongEASY面向不一樣的數據庫(Oracle,Informix,Sybase)提供不一樣的編譯庫,可是具備相同的編程接口。對於語言支持上,不但提供了C庫,還提供了供Java調用的類庫。
C程序會應用到的API:
TE_tpinit() 應用註冊
TE_tpterm() 應用註銷
TE_tpcall() 同步方式調用服務
TE_tpacall() 異步方式調用服務
TE_tpgetrply() 接收異步請求應答
TE_tpreturn() 服務端返回
TE_tpforword() 轉發請求
五. 與TUXEDO相比TongEASY的優劣
在中間件的產品中,TongEASY算是後期之秀,不少面有着比TUXEDO更方便的應用,更靈活的設計。尤爲是它擁有的節點的概念,是中間件集羣配置更加的方便,他的名字服務給了服務邏輯別名,使得配置更加靈活。同時名字服務集成的負載均衡功能,更有利於它的這種分佈式設計結構。
和TUXEDO相比,他也存在着一些不足。①TongEASY不支持服務級重啓,只支持節點級重啓,這樣對於7*24系統可能會有一些影響②TongEASY不支持按照服務分別記錄日誌。一個節點上的日誌,會記錄到一個日誌文件中。這樣大型的系統會形成日誌文件至關的大,而且不利於經過日誌文件查找問題。