Tuxedo與Weblogic互連指南(1)--Tuxedo部分
前言
Tuxedo與Weblogic的互連可以通過Weblogic的WTC(WebLogic Tuxedo Connection)實現。WTC不僅能實現Weblogic呼叫Tuxedo的服務,還能實現Tuxedo呼叫Weblogic的EJB服務。在具體配置實現中易錯點較多,建議在首次配置過程中使用與生產環境業務無關的程式嘗試,如Tuxedo的示例程式simpapp。
示例環境
1. Weblogic 10.3.6安裝在Windows8.1中,IP為192.168.43.1
2. Tuxedo 8.1安裝在XP虛擬機器中,IP為192.168.43.128,安裝目錄為C:\bea\tuxedo8.1
Tuxedo 8.1在Windows 7或Windows 8中安裝易出錯,Tuxedo 11g則可以。其他版本未嘗試。
3. VC 6.0安裝在XP虛擬機器中,用於編譯simpapp程式示例程式使用Tuxedo自帶的simpapp,位於tuxedo8.1\samples\atmi目錄下,功能是實現小寫字母轉大寫。為了方便除錯將simpapp資料夾複製到C:\simpapp
Tuxedo部分
目標
能正確編譯ubb和dom配置檔案,能成功啟動Tuxedo服務,並實現小寫字母轉大寫的服務呼叫
步驟
1. 配置setenv
命令:setenv
2. 配置ubbsimple並編譯
3. 配置domsimple並編譯,示例simpapp沒有自帶dom檔案
命令:dmloadcf –ydomsimple
4. 編譯simpcl.c客戶端,用於呼叫Tuxedo服務
命令:buildclient-o simpcl -f simpcl.c
5. 編譯simpserv.c服務端,實現小寫字母轉大寫的功能
命令:buildserver -o simpserv -f simpserv.c -s TOUPPER
simpcl和simpserv是C++所編寫,執行buildclient和buildserver編譯命令時,先確認系統有VC6.0的C++的編譯環境,否則會提示沒有cl指令。編譯後將分別生成simpcl.exe和simpserv.exe,後者會在ubbsimple檔案中配置,啟動Tuxedo服務時會將simpserv.exe載入到系統程序中,以提供服務。
6. 啟動Tuxedo服務
命令:tmboot -y
7. 測試服務
命令:simpcl helloworld
8. 關閉服務
命令:tmshutdown –y
以上命令都是在cmd中執行,需將目錄切換到C:\simpapp
配置
1.setenvset TUXDIR=C:\bea\tuxedo8.1
set APPDIR=C:\simpapp
set PATH=%TUXDIR%\bin;%APPDIR%;%PATH%
set TUXCONFIG=%APPDIR%\tuxconfig
set BDMCONFIG=%APPDIR%\bdmconfig
2.ubbsimple
*RESOURCES
IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 300
MAXSERVERS 500
MAXSERVICES 1000
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="C:\simpapp"
TUXCONFIG="C:\simpapp\tuxconfig"
TUXDIR="c:\bea\tuxedo8.1"
MAXWSCLIENTS=150
HONGHU LMID=simple
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
GROUP_WSL
LMID=simple GRPNO=8
GRPDOM1
LMID=simple GRPNO=9
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=5
DMADM SRVGRP=GRPDOM1 SRVID=1
GWADM SRVGRP=GRPDOM1 SRVID=2
GWTDOMAIN SRVGRP=GRPDOM1 SRVID=10
WSL SRVGRP=GROUP_WSL SRVID=1
CLOPT="-A -t -- -n //192.168.43.128:9001 -m 2 -M 5 -x 10"
*SERVICES
TOUPPER
要點:
1. MASTER屬性值要與後面4處LMID的值一致
2. MAXACCESSERS、MAXSERVERS、MAXSERVICES屬性值及MAXWSCLIENTS屬性值設定的比較大,若設定過小啟動服務時會報錯
3. HONGHU為計算機名,且必須大寫。建議將計算機名改為全英文的名稱,以免編譯時出現不必要的錯誤
4. simpserv為步驟5編譯生成的exe檔名稱
5. 192.168.43.128:9001為其他機器能夠通過該IP遠端呼叫到Tuxedo服務
6. TOUPPER為對外的服務名,在使用tpcall呼叫服務時即指定該名稱
3. domsimple
*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
TDOM1 GWGRP=GRPDOM1
TYPE=TDOMAIN
DOMAINID=TDOM1
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID=TDOM2
*DM_TDOMAIN
TDOM1 NWADDR="//192.168.43.128:9000"
TDOM2 NWADDR="//192.168.43.1:7002"
*DM_LOCAL_SERVICES
TOUPPER RNAME=TOUPPER
*DM_REMOTE_SERVICES
TOLOWER RDOM=TDOM2 RNAME=TOLOWER
要點:
1. ubb和dom檔案中的註釋是 #,*表示一個配置塊。要注意啟用VERSION時,要將*DM_RESOURCES前的 #去掉
2. TDOM1表示Tuxedo端,TDOM2表示Weblogic端。
3. 192.168.43.128:9000是Tuxedo提供給Weblogic訪問的地址
4. 192.168.43.1:7002是Weblogic提供給Tuxedo訪問的地址,注意這裡的埠要與Weblogic服務啟動的埠區分開
5. DM_LOCAL_SERVICES表示Tuxedo提供的服務,即TUPPER
6. DM_REMOTE_SERVICES表示Weblogic提供的服務,即TOLOWER
過程
1. 開啟cmd切換目錄到C:\simpapp目錄,執行setenv2. 輸入tmloadcf –yubbsimple命令,無錯誤輸出表示tuxconfig生成成功
3. 輸入dmloadcf –ydomsimple命令,無錯誤輸出表示bdmconfig生成成功
4. 輸入buildclient-o simpcl -f simpcl.c命令,生成simpcl.exe
5. 輸入buildserver -o simpserv -f simpserv.c -s TOUPPER命令,生成simpserv.exe
6. 輸入tmboot –y命令,出現6個Started表示服務全部啟動成功
7. 輸入simpcl helloworld,返回Returned string is:HELLOWORLD
至此,Tuxedo部分的工作就完成了。現在僅實現了Tuxedo呼叫自身服務的功能。以上domsimple配置檔案還未起到作用,在後面的Weblogic部分將會使用到。