1. 程式人生 > >Tuxedo與Weblogic互連指南(1)--Tuxedo部分

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並編譯

      

命令:tmloadcf –yubbsimple

       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.setenv

set 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目錄,執行setenv

2. 輸入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部分將會使用到。