![BEA TUXEDO培訓(xùn)和指導(dǎo)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/e595ba10-eddd-48cd-b9b7-64923e3ec40d/e595ba10-eddd-48cd-b9b7-64923e3ec40d1.gif)
![BEA TUXEDO培訓(xùn)和指導(dǎo)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/e595ba10-eddd-48cd-b9b7-64923e3ec40d/e595ba10-eddd-48cd-b9b7-64923e3ec40d2.gif)
![BEA TUXEDO培訓(xùn)和指導(dǎo)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/e595ba10-eddd-48cd-b9b7-64923e3ec40d/e595ba10-eddd-48cd-b9b7-64923e3ec40d3.gif)
![BEA TUXEDO培訓(xùn)和指導(dǎo)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/e595ba10-eddd-48cd-b9b7-64923e3ec40d/e595ba10-eddd-48cd-b9b7-64923e3ec40d4.gif)
![BEA TUXEDO培訓(xùn)和指導(dǎo)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/e595ba10-eddd-48cd-b9b7-64923e3ec40d/e595ba10-eddd-48cd-b9b7-64923e3ec40d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、BEA TUXEDO培訓(xùn)和指導(dǎo)簡(jiǎn)介TUXEDO是什么?BEA TUXEDO是在企業(yè)、Internet 這樣的分布式運(yùn)算環(huán)境中開發(fā)和管理三層結(jié)構(gòu)的客 戶/服務(wù)器型關(guān)鍵任務(wù)應(yīng)用系統(tǒng)的強(qiáng)有力工具。它具備分布式事務(wù)處理和應(yīng)用通信功能,并提供完善的各種服務(wù)來(lái)建立、運(yùn)行和管理關(guān)鍵任務(wù)應(yīng)用系統(tǒng)。開發(fā)人員能夠用它建立跨多個(gè)硬件平臺(tái)、數(shù)據(jù)庫(kù)和操作系統(tǒng)的可互操作的應(yīng)用系統(tǒng)。BEA TUXEDO是企業(yè)、 Internet 分布式應(yīng)用中的基礎(chǔ)主干平臺(tái)。它提供了一個(gè)開放的環(huán)境,支持各種各樣的客 戶、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、遺留系統(tǒng)和通訊方式。一個(gè)例子一個(gè)TUXEDO 應(yīng)用可以分成3部分² 發(fā)布交易請(qǐng)求的客戶端²
2、; 運(yùn)行響應(yīng)請(qǐng)求交易的服務(wù)² 描述應(yīng)用機(jī)器和服務(wù)信息的配置文件上圖是本例的示意圖:客戶端請(qǐng)求交易“TOUPPER”,數(shù)據(jù)是“hello world”。交易“TOUPPER”將字符串轉(zhuǎn)成大寫,將結(jié)果成功返回客戶端??蛻舳朔独?include <stdio.h>#include “atmi.h”main()char*buf;longlen;if (tpinit(TPINIT * )NULL) = -1)exit(1);if (buf=tpalloc(“STRING”,NULL,80)=NULL)tpterm();exit(2);strcpy(buf, “hello world
3、”);if ( tpalloc(“TOUPPER”,buf,0,&buf,&len,0)= -1)fprintf(stderr,”service requst failn”);tpfree(buf);tpterm();exit(3);printf(“return string is :%sn”,buf);tpfree(buf);tpterm();exit(0);包含TUXEDO系統(tǒng)的頭文件”atmi.h”,以便引用TUXEDO的函數(shù)和變量定義??蛻舳苏{(diào)用tpinit()連接應(yīng)用用tpalloc()分配一個(gè)STRING類型數(shù)據(jù)緩沖將”hello world”拷貝進(jìn)緩沖用tpcal
4、l()包含數(shù)據(jù)緩沖,向交易“TOUPPER”發(fā)一個(gè)同步請(qǐng)求打印出改變的數(shù)據(jù)緩沖調(diào)用tpterm()切斷與應(yīng)用的連接開發(fā)TUXEDO C/S系統(tǒng)的必要步驟² 配置環(huán)境變量² 編碼并編譯客戶端和服務(wù)端的程序² 由文本的ubbconfig生成二進(jìn)制TUXCONFIG² 啟動(dòng)系統(tǒng)和服務(wù)² 測(cè)試應(yīng)用² 關(guān)閉系統(tǒng)客戶端開發(fā) Client Development客戶端開發(fā)過程客戶端程序的設(shè)計(jì)和實(shí)現(xiàn)可以被分成2部分考慮:² 用戶處理過程² TUXEDO功能部分下文的客戶端程序只描述了TUXEDO功能部分。利用TUXEDO的ATMI
5、 API調(diào)用可以做到:基本的TUXEDO調(diào)試技巧(tperrno,tpstrerror,userlog)TUXEDO進(jìn)程管理(tpinit,tpterm)基本數(shù)據(jù)緩沖管理(tpalloc,tprealloc,tpfree)基本通訊(tpcall,tpacall,tpgetrply)編譯C語(yǔ)言客戶端程序當(dāng)C語(yǔ)言的客戶端程序編碼完后,需要連接正確的庫(kù)并編譯。使用buildclient可以使該過程容易一點(diǎn)。該命令引用了C語(yǔ)言編譯器并按正確的次序連接TUXEDO系統(tǒng)的庫(kù)。為使用buildclient,應(yīng)確認(rèn)客戶端程序包含了”atmi.h”,TUXDIR被設(shè)了正確的值。命令語(yǔ)法如下:buildclien
6、t -v o executable f first-file -f first-file -l last-file此處first-file表示的應(yīng)該是編譯器可以識(shí)別的文件。缺省的編譯器是cc。一般是.c(c源程序),.C(C+源程序),.o(object)或.a(庫(kù))文件。參數(shù)解釋如下:-o生成的可執(zhí)行文件名-f需要在連接TUXEDO庫(kù)之前傳給編譯器的文件名。如有多于一個(gè)的文件名,名字應(yīng)用空格分隔并用引號(hào)引起。也可以使用多個(gè)-f參數(shù)。-l需要在連接TUXEDO庫(kù)之前傳給編譯器的文件名。語(yǔ)法同上。-v編譯過程顯示。服務(wù)端開發(fā) Server Development服務(wù)的運(yùn)行流程為了更好的了解服務(wù)端
7、的所有任務(wù)以編寫服務(wù)端應(yīng)用,有必要重新認(rèn)識(shí)服務(wù)端在C/S模式中扮演的角色。首先,服務(wù)是系統(tǒng)資源的聯(lián)系點(diǎn)。例如,一個(gè)數(shù)據(jù)庫(kù)服務(wù)聯(lián)系實(shí)際數(shù)據(jù)庫(kù)并對(duì)其進(jìn)行查詢和修改。為有效進(jìn)行,應(yīng)建立一個(gè)數(shù)據(jù)庫(kù)連接。其次,服務(wù)必須發(fā)布系統(tǒng)內(nèi)可以訪問的交易,保證客戶端可以知道把請(qǐng)求發(fā)往何處。以上兩步結(jié)束后,服務(wù)進(jìn)入一個(gè)循環(huán)接收請(qǐng)求、處理請(qǐng)求并返回結(jié)果。接收請(qǐng)求包括進(jìn)入消息隊(duì)列,得到交易請(qǐng)求。處理請(qǐng)求包括檢查請(qǐng)求數(shù)據(jù)緩沖,運(yùn)行商業(yè)規(guī)則和邏輯,可能還包括訪問數(shù)據(jù)庫(kù)和返回結(jié)果數(shù)據(jù)緩沖。當(dāng)系統(tǒng)管理員需要關(guān)閉系統(tǒng),可以通過系統(tǒng)管理工具將關(guān)閉系統(tǒng)的消息發(fā)給服務(wù)。服務(wù)完成所有交易,取消交易發(fā)布,關(guān)閉資源連接然后結(jié)束。返回控制在一般
8、的C程序中,函數(shù)通過調(diào)用return()將控制返回,函數(shù)調(diào)用堆棧清空,控制返回調(diào)用點(diǎn)。TUXEDO系統(tǒng)的交易函數(shù)必須結(jié)束于將回應(yīng)返回給客戶端或前轉(zhuǎn)到另一交易。函數(shù)tpreturn()用來(lái)結(jié)束交易將回應(yīng)數(shù)據(jù)緩沖發(fā)給客戶端。函數(shù)tpforward()將交易前轉(zhuǎn)給另一個(gè)交易,由其負(fù)責(zé)回應(yīng)原來(lái)的客戶端。下圖是tpreturn()的示意圖。tpreturn()設(shè)計(jì)來(lái)代替常規(guī)的return(),結(jié)束絕大多數(shù)函數(shù)。它將回應(yīng)數(shù)據(jù)緩沖返回請(qǐng)求的客戶端,控制權(quán)返回給服務(wù)程序的標(biāo)準(zhǔn)main()(由TUXEDO提供)。tpreturn()使用下列參數(shù):第一個(gè)值表示交易是否成功,有3種可能:² TPSUCCE
9、SS交易完全成功,如果是一個(gè)會(huì)話,TPEV_SVCSUCC被生成² TPFAIL交易失敗,tperrno將被設(shè)成TPESVCFAIL。如果是事務(wù)模式,事務(wù)被標(biāo)志成abort-only,如果是會(huì)話,TPEV_SVCFAIL被生成。² TPEXIT與TPFAIL類似,但服務(wù)會(huì)中斷,如果服務(wù)設(shè)成可以重啟動(dòng),則可以由TUXEDO系統(tǒng)將其重啟動(dòng)。第二個(gè)值是應(yīng)用定義返回碼,此處使交易可以發(fā)送一個(gè)整形代碼到客戶端,給出交易處理結(jié)果的詳細(xì)信息。該值與/T系統(tǒng)無(wú)關(guān),通過全程變量tpurcode送到客戶端程序。第三個(gè)值是回應(yīng)數(shù)據(jù)緩沖的的指針第四個(gè)值是回應(yīng)數(shù)據(jù)緩沖的長(zhǎng)度(僅緩沖類型為CARRY時(shí)
10、需要)第五個(gè)值是標(biāo)志位,通常不用初始化和結(jié)束服務(wù)tpsvrinit()和tpsvrdone()分別用來(lái)啟動(dòng)和關(guān)閉服務(wù)。如果應(yīng)用不提供這兩個(gè)函數(shù),可以使用替代函數(shù)。tpsvrinit()用tpopen()缺省打開RM連接。tpsvrdone()用tpclose()關(guān)閉RM連接。tpsrvinit()象標(biāo)準(zhǔn)C語(yǔ)言的main()一樣使用參數(shù)argc,argv。服務(wù)的命令行參數(shù)可以傳入該函數(shù),被getopt()解析。該部分的用法參見應(yīng)用配置部分。本函數(shù)出錯(cuò)時(shí)返回-1,成功返回0。tpsvrdone()無(wú)參數(shù),無(wú)返回值。創(chuàng)建服務(wù)當(dāng)C語(yǔ)言的交易程序編碼完后,需要連接正確的庫(kù)并編譯。使用buildserve
11、r可以使該過程容易一點(diǎn)。該命令引用了C語(yǔ)言編譯器并按正確的次序連接TUXEDO系統(tǒng)的庫(kù),連接TUXEDO生成的main()等。buildserver還用-s參數(shù)產(chǎn)生合適的交易名/函數(shù)名映射表。要使用buildserver,必須先正確設(shè)定環(huán)境變量TUXDIR,PATH,LD_LIBRARY_PATH。命令語(yǔ)法如下:buildserver -v o executable -s service2,service3:func -f source/object -l object/library file例:buildserver s DEPOSIT o TLR f TLR.o f appinit.o參
12、數(shù)解釋如下:-o生成的可執(zhí)行文件名-f需要在連接TUXEDO庫(kù)之前傳給編譯器的文件名。如有多于一個(gè)的文件名,名字應(yīng)用空格分隔并用引號(hào)引起。也可以使用多個(gè)-f參數(shù)。-l需要在連接TUXEDO庫(kù)之前傳給編譯器的文件名。語(yǔ)法同上。-v編譯過程顯示。-b指定SHM或MP模式。如無(wú)此項(xiàng),兩種模式都包括;使用此項(xiàng)可以使生成的可執(zhí)行文件小一點(diǎn)-r連接此處指出的RM庫(kù)。該RM的名字必須含在$TUXDIR/udataobj/RM文件中。應(yīng)用配置Application Configuration應(yīng)用配置總覽應(yīng)用的描述信息配置在系統(tǒng)核心位置,用一個(gè)文件描述,通常稱為ubbconfig文件,在主控機(jī)器上。整個(gè)TUXE
13、DO系統(tǒng)的管理任務(wù)可以在一臺(tái)機(jī)器上完成,在配置中被定為主控節(jié)點(diǎn)。在運(yùn)行時(shí),這些信息被裝入一段共享內(nèi)存(一個(gè)IPC資源),稱為公告牌(Bulletin BoardBB);包含有配置中不同機(jī)器的信息,在這些機(jī)器上運(yùn)行的服務(wù)的信息,這些服務(wù)提供的交易的信息以及其他相關(guān)信息??蛻舳嗽谶\(yùn)行時(shí)連接公告牌。當(dāng)客戶端程序調(diào)用一個(gè)交易,將根據(jù)公告牌找到合適的服務(wù)隊(duì)列。所以,公告牌是:供客戶端尋找適當(dāng)?shù)姆?wù)運(yùn)行一個(gè)交易請(qǐng)求包含應(yīng)用信息:機(jī)器,服務(wù),交易,網(wǎng)絡(luò)等創(chuàng)建于ubbconfig文件TUXEDO提供一個(gè)管理進(jìn)程,稱為BBL(Bulletin Board Liaison),包含了一個(gè)公告牌的本地拷貝和本地服務(wù)器
14、上應(yīng)用的狀態(tài)。TUXEDO提供的另一個(gè)管理進(jìn)程DBBL(Distinguished Bulletin Board Liaison),用于多服務(wù)器配置時(shí)。DBBL與BBL協(xié)同,保證所有部分的公告牌內(nèi)容的一致性。配置文件任何TUXEDO應(yīng)用系統(tǒng)的最基本的管理任務(wù),是建立并維護(hù)配置文件。該文件通常稱為ubbconfig文件。負(fù)責(zé)該工作的系統(tǒng)管理員必須很好的了解分布于各臺(tái)機(jī)器上的應(yīng)用服務(wù)的數(shù)據(jù)流,消息隊(duì)列的構(gòu)造,資源間的相互關(guān)系。ubbconfig文件可視作包含應(yīng)用啟動(dòng)信息的容器,需編譯成二進(jìn)制文件tuxconfig,作為啟動(dòng)時(shí)的參考。其內(nèi)信息包括:² 系統(tǒng)范圍信息(*RESOURCES節(jié))
15、² 機(jī)器信息(*MACHINES節(jié))² 組信息(*GROUPS節(jié))² 服務(wù)信息(*SERVERS節(jié))² 交易信息(*SERVICES節(jié))² 網(wǎng)絡(luò)組信息(*NETGROUPS節(jié))² 網(wǎng)絡(luò)信息(*NETWORK節(jié))² 路由原則信息(*ROUTING節(jié))當(dāng)完成了ubbconfig文件后,用tmloadcf命令生成tuxconfig另一種從ubbconfig生成tuxconfig的方法是使用圖形管理界面(GAIGraphical Administration Interface)。應(yīng)用的信息*RESOURCES節(jié)包含整個(gè)應(yīng)用范圍的信
16、息。本節(jié)必須在配置文件第一節(jié),不可缺少。信息說明如下:參數(shù)意義*RESOURCES*RESOURCES節(jié)IPCKEY共享內(nèi)存idUIDTUXEDO管理員用戶idGIDTUXEDO管理員用戶idPERMTUXEDO管理員組用戶的權(quán)限MAXACCESSERS服務(wù)端和客戶端的最大進(jìn)程數(shù)MAXSERVERS限制可以啟動(dòng)服務(wù)總數(shù)MAXSERVICES限制可以發(fā)布交易總數(shù)MASTER指出主控節(jié)點(diǎn)的邏輯名,第二個(gè)是備份節(jié)點(diǎn)MODEL應(yīng)用構(gòu)架,MP表示多機(jī)OPTIONSLAN,MIGRATE表示是一個(gè)網(wǎng)絡(luò)應(yīng)用,服務(wù)可以移植到替代處理器上SECURITY安全級(jí)別(5個(gè))AUTHSVC客戶端可以通過交易“AUTH
17、SVC”獲得認(rèn)證NOTIFYDIPIN,客戶端通過dip-in收到廣播通知SYSTEM_ACCESSPROTECTED,NO_OVERRIDE,應(yīng)用代碼不得干擾共享內(nèi)存LDBAL設(shè)Y則進(jìn)行負(fù)載平衡MAXBUFSTYPE數(shù)據(jù)緩沖類型及子類的最大數(shù)SCANUNIT內(nèi)部時(shí)間間隔單位,單位是秒SANITYSCAN檢索公告牌的內(nèi)部時(shí)間間隔,單位是SCANUNITBLOCKTIME交易超時(shí)時(shí)間,單位是SCANUNITBBLQUERYDBBL查詢所有BLL的時(shí)間間隔DBBLWAITDBBL等待BBL回應(yīng)的超時(shí)時(shí)間MAXCONV同時(shí)最大會(huì)話數(shù)注意:本處未列出全部參數(shù)。這些系統(tǒng)范圍內(nèi)參數(shù)可以被后序節(jié)內(nèi)參數(shù)超越。
18、范例*RESOURCESIPCKEY80952UID213GID1PERM0660MAXACCESSERS150MAXSERVERS75MAXSERVICES200MASTERSITE1,SITE2MODELMPOPTIONSLAN,MIGRATESECURITYAPP_PWAUTHSVCAUTHSVCNOTIFYDIPINSYSTEM_ACCESSPROTECTED,NO_OVERRIDELDBALYMAXBUFTYPE10MAXBUFSTYPE15SCANUNIT10SANITYSCAN12BLOCKTIME3BBLQUERY24DBBLWAIT10MAXCONV10機(jī)器信息*MACHIN
19、ES節(jié)包含應(yīng)用有關(guān)的每個(gè)處理器的信息。本節(jié)必須在*RESOURCES節(jié)后列出。參數(shù)意義*MACHINESMACHINES節(jié)gumby物理處理器名,可以通過”uname n”或節(jié)點(diǎn)名得到TUXDIRTUXEDO系統(tǒng)軟件安裝位置APPDIR應(yīng)用服務(wù)位置全路徑TUXCONFIGTUXEDO配置文件全路徑ENVFILE環(huán)境文件全路徑ULOGPFX應(yīng)用日志文件全路徑MAXACCESSERS本機(jī)最多處理器數(shù),可以超越*RESOURCES節(jié)定義MAXCONV本機(jī)最大會(huì)話數(shù),可以超越*RESOURCES節(jié)定義范例*MACHINESgumbyLMID=SITE1TUXDIR=”/usr/tuxedo”APPDI
20、R=”/usr/apps/atmapp”TUXCONFIG=” /usr/apps/atmapp/atmapp.tux”ENVFILE=” /usr/apps/atmapp/ENVFILE”ULOGPFX=”/usr/apps/atmapp/logs/ULOG”MAXACCESSERS=100MAXCONV=15組定義*GROUP節(jié)包含服務(wù)組的定義。一臺(tái)機(jī)器至少要定義一個(gè)服務(wù)組。如果沒有定義組,管理命令tmadmin可能依然能運(yùn)行。每個(gè)組只要定義組名,映射組名的組號(hào)和邏輯機(jī)器名。組為分布式交易系統(tǒng)和數(shù)據(jù)依賴路由等靈活性措施提供了支持。參數(shù)意義*GROUPSGROUP節(jié)BANKB1組的唯一標(biāo)識(shí)符
21、,可以是字母數(shù)字GRPNO組的唯一數(shù)字標(biāo)識(shí)符LMID組所在的機(jī)器范例*GROUPSBANKB1GRPNO=200LMID=SITE1BANKB2GRPNO=220LMID=SITE1SYSGRPGRPNO=110LMID=SITE1EVTGRP1GRPNO=120LMID=SITE1服務(wù)定義ubbconfig的*SERVERS節(jié)包含的是服務(wù)進(jìn)程的信息。本節(jié)中每一個(gè)入口代表一個(gè)應(yīng)用啟動(dòng)時(shí)加載的服務(wù)。這些信息包含服務(wù)名,命令行參數(shù),服務(wù)環(huán)境,重啟動(dòng)等等。由于每個(gè)服務(wù)功能各不相同,其配置參數(shù)也因此相同或相異。參數(shù)意義*SERVERSSERVER節(jié),列出所有服務(wù)程序DEFAULT:本處列出的參數(shù)為其下
22、列出的服務(wù)的缺省值,但可以被單列條目替代相應(yīng)值RESTART如果設(shè)成Y,則服務(wù)可以重啟動(dòng)MAXGEN在GRACE定義時(shí)間之內(nèi),服務(wù)可以重啟動(dòng)MAXGEN次GRACE周期,單位是秒RCMD每次服務(wù)重啟動(dòng),本處定義的腳本或命令被執(zhí)行ENVFILE列有環(huán)境變量的文件,在交易啟動(dòng)前設(shè)入環(huán)境TLR一個(gè)服務(wù)名,用buildserver建立,應(yīng)在APPDIR或$TUXDIR/binSRVGRP服務(wù)屬于一個(gè)在*GROUPS節(jié)中定義的服務(wù)組;如果需要移植服務(wù),也可以定義在多個(gè)組中。SRVID服務(wù)組中代表服務(wù)的唯一值MIN最少在啟動(dòng)時(shí)啟動(dòng)的服務(wù)數(shù)MAX運(yùn)行時(shí),最多可以起的實(shí)例數(shù)CLOPT跟隨服務(wù)啟動(dòng)的其他參數(shù)-A
23、 服務(wù)內(nèi)建交易全發(fā)布r指定服務(wù)記錄時(shí)間戳,用于以后計(jì)算交易處理時(shí)間-e 定義標(biāo)準(zhǔn)錯(cuò)誤重定向文件-o 定義標(biāo)準(zhǔn)輸出重定向文件-TUXEDO參數(shù)和服務(wù)特定參數(shù)的分隔符傳給tpsvrinit()的參數(shù)SYSTEM_ACCESS設(shè)定后,應(yīng)用錯(cuò)誤不干擾公告牌RQADDR當(dāng)設(shè)定此項(xiàng)后,所有本服務(wù)的實(shí)例都使用相同的請(qǐng)求隊(duì)列。這是在應(yīng)用中設(shè)置MSSQ(Multiple Server Single Queue)的方便辦法,可以改善處理流量。任何時(shí)候,所有MSSQ集中的實(shí)例發(fā)布相同的交易集。XFER另一個(gè)服務(wù)REPLYQ設(shè)成Y,則服務(wù)又作為一個(gè)MSSQ集配置,任何其中的交易調(diào)用其他交易,就建立一個(gè)單獨(dú)的回應(yīng)隊(duì)列。
24、范例*SERVERSDEFAULT:RESTART=YMAXGEN=5GRACE=3600RCMD=”/sur/apps/atmapp/scripts/beeper”CLOPT=”-A”ENVFILE=”/usr/apps/atmapp/envfile”TLRSRVGRP=BANKB1SRVID=10MIN=1MAX=2CLOPT=”-A r-e /usr/apps/atmapp/logs/TLR1.err-o /usr/apps/atmapp/logs/TLR1.out-T 101 e 300 d dbfile”SYSTEM_ACCESS=PROTECTEDRQADDR=”TLR_Q1”XF
25、ERSRVGRP=BANKB1SRVID=20MIN=1MAX=2RQADDR=”XFER_Q1”REPLYQ=YCLOPT=”-A r”生成TUXCONFIG文件UBBCONFIG文件是一個(gè)可以編輯成需要的應(yīng)用配置的文本文件。但是,/T在實(shí)際應(yīng)用上讀取的是二進(jìn)制TUXCONFIG文件用于操作。命令tmloadcf可以把UBBCONFIG文件轉(zhuǎn)化成TUXCONFIG文件。tmloadcf命令接受以下4個(gè)參數(shù):-c計(jì)算運(yùn)行應(yīng)用需要的IPC資源,該信息將提供給管理員,用于在各機(jī)器上配置資源。-n進(jìn)行語(yǔ)法檢查并不生成TUXCONFIG。-b控制TUXCONFIG占用的物理頁(yè)數(shù)。-y無(wú)條件覆蓋TUXC
26、ONFIG環(huán)境變量TUXCONFIG必須設(shè)定指向二進(jìn)制TUXCONFIG文件。在安全要求高的應(yīng)用中,tmloadcf不能從標(biāo)準(zhǔn)輸入接受,環(huán)境變量APP_PW必須包含應(yīng)用密碼。tmunloadcf將TUXCONFIG轉(zhuǎn)換成ASCII格式用于檢查。該工具讀取環(huán)境變量TUXCONFIG指向的文件。輸出包含所有的參數(shù),包括TUXEDO設(shè)定的缺省值,是UBBCONFIG文件的一個(gè)超集。管理命令A(yù)dministrative Commands命令tmboottmboot命令啟動(dòng)TUXEDO系統(tǒng)的 /T應(yīng)用,創(chuàng)建必要的IPC資源、啟動(dòng)相關(guān)機(jī)器的規(guī)定的系統(tǒng)和應(yīng)用服務(wù)進(jìn)程。大多數(shù)的tmboot的參數(shù)啟動(dòng)了部分系統(tǒng)
27、進(jìn)程。在以下說明和例子中,lmid,grpname和srvid是配置文件中指定的值。-A啟動(dòng)所有機(jī)器上的管理進(jìn)程。-M啟動(dòng)主控機(jī)器上的管理進(jìn)程。-i srvid啟動(dòng)服務(wù)id等于srvid的進(jìn)程。-g grpname啟動(dòng)指定的一組服務(wù)(含TMS)-S啟動(dòng)所有應(yīng)用服務(wù)。-s server-name啟動(dòng)可執(zhí)行文件名為server-name的服務(wù)。-l lmid啟動(dòng)TMS和指定機(jī)器上的應(yīng)用服務(wù)。-T grpname 啟動(dòng)指定組中所有TMS。-B lmid啟動(dòng)指定機(jī)器上的BBL。-e command指定啟動(dòng)進(jìn)程失敗后在主控機(jī)器上運(yùn)行的命令名。-c打印本配置所需最少的IPC資源。命令tmshutdownt
28、mshutdown命令用于關(guān)閉所有或部分應(yīng)用并釋放IPC資源。本命令所用參數(shù)與tmboot類似(如:-A, -g, -i, -s, -S, -l, -M, -B),意義相同。如果需要移動(dòng)服務(wù),關(guān)閉服務(wù)時(shí)用-R參數(shù)即可不刪除BB中的入口。在非主控節(jié)點(diǎn)上,可以用-P參數(shù)僅關(guān)閉該機(jī)器上的應(yīng)用。當(dāng)有客戶端正在連接時(shí),tmshutdown 不能關(guān)閉管理服務(wù)。參數(shù)-c則可以超越此規(guī)則。該參數(shù)僅用于管理員需要立即關(guān)機(jī)而又無(wú)法及時(shí)通知客戶端時(shí)。參數(shù)-w delay 在delay秒后進(jìn)行強(qiáng)制關(guān)閉。指定的服務(wù)當(dāng)即被掛起,使之不能繼續(xù)接受交易請(qǐng)求。delay的值則允許服務(wù)在一個(gè)合理的時(shí)間內(nèi)完成已經(jīng)接受的請(qǐng)求。在延遲
29、的時(shí)間到達(dá)后,信號(hào)SIGKILL(或SIGTERM)將發(fā)給指定的服務(wù)。該參數(shù)目的是使管理員能夠關(guān)閉發(fā)生死循環(huán)或死鎖的服務(wù)。管理工作和工具主要有以下兩個(gè)管理工具:² 使用圖形界面的圖形管理接口(Graphical Administration InterfaceGAI)² tmadmin通常管理工作有以下3類:² 監(jiān)視運(yùn)行系統(tǒng)一般監(jiān)視以下信息:應(yīng)用、服務(wù)、客戶端、交易、隊(duì)列、組、會(huì)話、網(wǎng)絡(luò)等。² 動(dòng)態(tài)修改服務(wù)或交易參數(shù)使用GAI 或tmadmin可以動(dòng)態(tài)進(jìn)行以下調(diào)整:交易可以掛起、恢復(fù)、發(fā)布和取消交易參數(shù)可以修改,如:LOAD和PRIORITY指定交易的超
30、時(shí)時(shí)間交易口令² 進(jìn)行啟動(dòng),關(guān)閉,移動(dòng)服務(wù)等管理員的任務(wù)服務(wù)信息來(lái)自GAI的信息本處略去。以下是tmadmin命令的printserver(簡(jiǎn)寫為psr)的簡(jiǎn)單輸出。列號(hào)描述1. 服務(wù)的可執(zhí)行文件名2. 服務(wù)連接的隊(duì)列名3. 組名4. 服務(wù)的數(shù)字id5. 服務(wù)已經(jīng)處理的請(qǐng)求數(shù)6. 服務(wù)處理的全部請(qǐng)求的參數(shù)和服務(wù)正在處理的交易,若為IDLE則服務(wù)當(dāng)前是空閑ccsmis:/home2/ccsmis>tmadmintmadmin - Copyright (c) 1996 BEA Systems, Inc.Portions * Copyright 1986-1997 RSA Data
31、Security, Inc.All Rights Reserved.Distributed under license by BEA Systems, Inc.Tuxedo is a registered trademark.> printserverProg Name Queue Name Grp Name ID RqDone Load Done Current Service- - - - - - -rz_Ecsb 00004.04000 APGP2 4000 0 0 ( IDLE )BBL 70020 simple 0 1 50 ( IDLE )IFMTMS APGP2_TMS A
32、PGP2 30001 1 50 ( IDLE )ftpserv32 00002.00001 FTPGP 1 60 3000 ( IDLE )WSL 00001.00001 SYSGP 1 0 0 ( IDLE )IFMTMS APGP2_TMS APGP2 30002 12 600 ( IDLE )ftpserv32 00002.00002 FTPGP 2 0 0 ( IDLE )IFMTMS APGP2_TMS APGP2 30003 11 550 ( IDLE )CCS_QUANBIA_60 00004.06004 APGP2 6004 0 0 ( IDLE )CCS_SCBB_4099
33、00004.04099 APGP2 4099 2 100 ( IDLE )CCS_GEKEZI_300 00004.03000 APGP2 3000 0 0 ( IDLE ):交易信息來(lái)自GAI的信息本處略去。以下是tmadmin命令的printservice(簡(jiǎn)寫為psc)的簡(jiǎn)單輸出。列號(hào)描述1. 交易名2. 交易函數(shù)名3. 服務(wù)可執(zhí)行文件名4. 服務(wù)所在組名5. 服務(wù)的數(shù)字id6. 提供交易的機(jī)器的LMID7. 交易已經(jīng)執(zhí)行的次數(shù)8. 交易當(dāng)前狀態(tài)Service Name Routine Name Prog Name Grp Name ID Machine # Done Status- -
34、 - - - - - -416701 rz_Ecsb rz_Ecsb APGP2 4000 simple 0 AVAIL416601 rz_Ecsb rz_Ecsb APGP2 4000 simple 0 AVAIL416501 rz_Ecsb rz_Ecsb APGP2 4000 simple 0 AVAIL416401 rz_Ecsb rz_Ecsb APGP2 4000 simple 0 AVAIL416201 rz_Ecsb rz_Ecsb APGP2 4000 simple 0 AVAIL416301 rz_Ecsb rz_Ecsb APGP2 4000 simple 0 AVAIL
35、416101 rz_Ecsb rz_Ecsb APGP2 4000 simple 0 AVAIL416001 rz_Ecsb rz_Ecsb APGP2 4000 simple 0 AVAIL415901 rz_Ecsb rz_Ecsb APGP2 4000 simple 0 AVAIL:隊(duì)列信息以下是tmadmin命令的printqueue(簡(jiǎn)寫為pq)qaddress的簡(jiǎn)單輸出。如果不指定address,所有隊(duì)列信息將被輸出。列號(hào)描述1. 隊(duì)列連接的服務(wù)的可執(zhí)行文件名2. 字符隊(duì)列名,是RQADDR參數(shù)或一個(gè)隨機(jī)值3. 連接的服務(wù)數(shù)4. 當(dāng)前隊(duì)列的所有請(qǐng)求的參數(shù)和5. 實(shí)際請(qǐng)求數(shù)6. 平均
36、隊(duì)列長(zhǎng)度7. 隊(duì)列所在機(jī)器的LMID> pq 00004.05062Prog Name Queue Name # Serve Wk Queued # Queued Ave. Len Machine- - - - - -CCS_GEDAIPC_50 00004.05062 1 0 0 0.0 simple客戶端信息來(lái)自GAI的信息本處略去。以下是tmadmin命令的printclient(簡(jiǎn)寫為pclt)的輸出,來(lái)自TUXEDO系統(tǒng)的日志信息。主要有以下信息:客戶端id,用戶名和當(dāng)前狀態(tài)登錄的LMID和進(jìn)程號(hào)(PID)服務(wù)組和上一訪問過的服務(wù)組交易(啟動(dòng)/提交/中斷)和會(huì)話的統(tǒng)計(jì)數(shù)字中繼隊(duì)
37、列id,通知方法和提交控制列號(hào)描述1. 已經(jīng)登錄的客戶端機(jī)器的LMID2. 用戶名,由tpinit()提供的3. 客戶端名,由tpinit()提供的4. 客戶端連接后經(jīng)過的時(shí)間5. 客戶端狀態(tài)6. IDLE表示客戶端目前沒有任何交易在工作7. IDLET表示客戶端啟動(dòng)了一個(gè)交易8. BUSY表示客戶端在工作中9. BUSYT表示客戶端正在交易控制下工作10. 啟動(dòng)/提交/中斷的交易數(shù)> pclt LMID User Name Client Name Time Status Bgn/Cmmt/Abrt- - - - - -simple ccsmis WSH 17:42:47 IDLE 0/
38、0/0simple ccsmis tmadmin 0:44:28 IDLE 0/0/0BOSS的服務(wù)編寫規(guī)范服務(wù)內(nèi)容1、 服務(wù)函數(shù)參數(shù)說明2、 服務(wù)函數(shù)名稱定義3、 變量定義4、 與數(shù)據(jù)庫(kù)連接5、 讀取入口參數(shù)6、 分配輸出緩沖區(qū)的內(nèi)存7、 操作員權(quán)限判斷8、 事務(wù)數(shù)據(jù)處理9、 輸出參數(shù)10、 斷開數(shù)據(jù)庫(kù)連接11、 返回例子如下:一個(gè)例子/* * 完成IDC集團(tuán)開戶確認(rèn)處理。 * authorlugz * version %I%, %G% * since 1.00 * inparamloginAccept流水可以輸入,如果不輸入則在服務(wù)中取流水 * inparamopCode功能代碼 * in
39、paramloginNo操作工號(hào) * inparamloginPasswd經(jīng)過加密的工號(hào)密碼 * inparamorgCode操作工號(hào)歸屬 * inparamsystemNote系統(tǒng)備注 * inparamopNote用戶備注 * inparamipAddrIP地址 * inparamcustIdIP地址 * inparamgrpIdNo集團(tuán)ID * inparamcontractNo集團(tuán)帳戶ID * inparamuserPwd集團(tuán)密碼 * inparamprovCode省代碼 * inparambelongCode歸屬代碼 * inparambillType出帳周期 * inparambi
40、llDate計(jì)費(fèi)日期 * inparamcustName用戶名稱 * inparamorgIdorgId * inparamgrpIdgrpId * inparamproductSmCode集團(tuán)產(chǎn)品類型 * inparammainProductCode 主產(chǎn)品代碼 * inparamproductCode 產(chǎn)品代碼 * inparamproductPrices 產(chǎn)品價(jià)格因字串 * inparamproductAttr 產(chǎn)品屬性串 * inparamproductType 產(chǎn)品類型 * inparamserviceCode 服務(wù)代碼 * inparamserviceAttr 產(chǎn)品價(jià)格屬性串 *
41、inparam feeList 費(fèi)用信息: * payType 交費(fèi)方式 checkNo 支票號(hào)碼 bankCode 銀行代碼 checkPay 支票交款 * cashPay 現(xiàn)金交款 shouldHandFee 手續(xù)費(fèi) handFee 手續(xù)費(fèi) * inparamgrpOutNo集團(tuán)用戶編碼,此編碼是用作為交費(fèi)和第三方公司的接口。 * inparamgrpFieldCode集團(tuán)字段代碼 * inparamgrpFieldValue集團(tuán)字段值 * outparam loginAccept流水返回在服務(wù)中生成的流水,或還原傳入的流水 * outparam SVR_ERR_NO * outparam
42、 SVR_ERR_MSG */void s3500Cfm( TPSVCINFO *transb )int input_par_num = 0; /*輸入?yún)?shù)個(gè)數(shù)*/int output_par_num = 0; /*輸出參數(shù)個(gè)數(shù)*/FBFR32 *transIN = NULL; /*輸入緩沖區(qū)*/FBFR32 *transOUT = NULL; /*輸出緩沖區(qū)*/FLDLEN32 len; /*輸出緩存區(qū)分配的空間*/char temp_buf61; /*臨時(shí)使用的字符串?dāng)?shù)組*/int ret=0, rowNum=0;EXEC SQL BEGIN DECLARE SECTION;tGrpUse
43、rMsg grpUserMsg;/* 輸入?yún)?shù)變量定義 */char orgCode9+1; /* 工號(hào)機(jī)構(gòu) */char belongCode7+1; /* 歸屬代碼 */char loginNo6+1; /* 工號(hào) */char loginPwd16+1; /* 操作員密碼 */char opCode4+1; /* 操作代碼 */char ipAddress20+1; /* 操作員IP */* 服務(wù)使用的主變量定義 */int i=0;long lLoginAccept=0; /* 操作流水 */char loginAccept22 + 1;/*nich 修改 char loginAcce
44、pt14 + 1*/char totalDate8+1; /* 帳務(wù)日期 */char systemNote60+1; /* 系統(tǒng)備注 */char opNote60+1; /* 操作備注 */char dynStmt2048;char billYearMonth6+1;char productCode8+1;char productPrice40+1;char productAttr8+1;char productType2+1;char serviceCode8+1;char serviceAttr40+1;char feeList999+1;char payType1+1;char ch
45、eckNo20+1;char bankCode5+1;char checkPay12+1;char cashPay12+1;char shouldHandFee12+1;char handFee12+1;char grpFieldCode5+1;char grpFieldValue255+1;char retCode6+1; /* 返回代碼 */char retMsg60+1; /* 錯(cuò)誤信息 */EXEC SQL END DECLARE SECTION;init(orgCode );init(belongCode );init(loginNo );init(loginPwd );init(o
46、pCode );init(ipAddress );init(loginAccept );init(totalDate );init(systemNote );init(opNote );init(dynStmt );init(billYearMonth );init(productAttr );init(productCode );init(serviceAttr );init(serviceCode );init(retCode );init(retMsg );init(feeList);init(grpFieldCode);init(grpFieldValue);memset(&g
47、rpUserMsg, 0, sizeof(tGrpUserMsg);/*如果開啟了普通日志開關(guān),則記錄對(duì)應(yīng)日志*/#ifdef _DEBUG_printf("服務(wù)s3500Cfm開始執(zhí)行% n");#endiftransIN = (FBFR32 *)transb->data;EXEC SQL WHENEVER SQLERROR CONTINUE;EXEC SQL WHENEVER SQLWARNING CONTINUE;EXEC SQL WHENEVER NOT FOUND CONTINUE;spublicDBLogin(transIN,transOUT,"
48、s3500Cfm",LABELDBCHANGE);get_input_parms32_2(transIN, &input_par_num, &output_par_num,LABELDBCHANGE, CONNECT0);MemoryAllocate32(FIRST_OCCS32,31,"s3500Cfm", transIN,&transOUT,LABELDBCHANGE);#ifdef _DEBUG_for(i=0;i<input_par_num;i+)printf("input_parms%d=%sn",i,i
49、nput_parmsi);#endiflLoginAccept = atol( input_parms0);strcpy(loginAccept, input_parms0);strcpy(opCode, input_parms1);strcpy(loginNo, input_parms2);strcpy(loginPwd, input_parms3);strcpy(orgCode, input_parms4);strcpy(systemNote, input_parms5);strcpy(opNote, input_parms6);strcpy(ipAddress, input_parms7);strcpy(grpUserMsg.cust_id, input_parms8);strcpy(grpUserMsg.id_no, input_parms9);strcpy(grpUserMsg.accou
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 股份制合作發(fā)展策略報(bào)告書
- 車展場(chǎng)地租賃合同
- 游戲原畫設(shè)計(jì)制作作業(yè)指導(dǎo)書
- 小企業(yè)貸款合同
- 2025年昆明貨運(yùn)駕駛從業(yè)資格考試題庫(kù)模擬考試
- 2025年中衛(wèi)貨運(yùn)上崗證模擬考試
- 2025年湖州道路貨運(yùn)駕駛員從業(yè)資格證考試題庫(kù)
- 2024-2025學(xué)年度九年級(jí)物理全冊(cè)13.2內(nèi)能教學(xué)設(shè)計(jì)2新版新人教版
- 2024年春五年級(jí)語(yǔ)文下冊(cè)第六單元29戰(zhàn)風(fēng)車導(dǎo)學(xué)案無(wú)答案語(yǔ)文S版
- 投招標(biāo)工作計(jì)劃
- 2023年藥事法規(guī)教學(xué)案例庫(kù)及案例分析
- 軸套類零件件的加工課件
- 北京市水務(wù)安全生產(chǎn)風(fēng)險(xiǎn)評(píng)估指南
- 吸引器教學(xué)講解課件
- 醫(yī)學(xué)心理學(xué)人衛(wèi)八版66張課件
- 物業(yè)服務(wù)五級(jí)三類收費(fèi)重點(diǎn)標(biāo)準(zhǔn)
- 工商注冊(cè)登記信息表
- 仿古建筑施工常見質(zhì)量通病及防治措施
- 漢代儒學(xué)大師董仲舒思想課件
- 普通沖床設(shè)備日常點(diǎn)檢標(biāo)準(zhǔn)作業(yè)指導(dǎo)書
- 科技文獻(xiàn)檢索與利用PPT通用課件
評(píng)論
0/150
提交評(píng)論