導航:首頁 > 編程語言 > tuxedojava

tuxedojava

發布時間:2022-08-23 21:05:47

java 怎麼調用tuxedo介面

Tuxedo的service有兩種調用介面:ATMI和CORBA(Common Object Request Broker Architecture, 公共對象請求代理體系結構)。但是目前一般都是採用ATMI介面來做。
一個簡單的調用流程如下:
首先用VC編寫DLL(Dynamic Link Library,動態鏈接庫)。Tuxedo提供的ATMI介面DLL用C語言編寫的,與VC可無縫集成;再用VB編寫COM(Component Object Model,組件對象模型)組件;在Java中通過Jacob組件來調用COM組件來實現調用Tuxedo服務;Jacob是一種基於JNI(Java Native Interface,Java本地介面)技術的開源的在Java中調用COM組件的Java組件。其中JAVA部分的調用如下:

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
public class callTuxedo {
public String callTuxedoService(String sendDoc){
//找到組件
ActiveXComponent mf = new ActiveXComponent("tuxedo.useClass");
ObjectmyCom = mf.getObject();//生成一個對象
Objectresult=Dispatch.call(myCom," vbCallTuxedoServiceToUpper ",sendDoc);
return result.toString();
}

public static void main(String[] args) {
String sendDoc=new String("a test string.");//要轉換的字元串
String returnDoc=new String("");
returnDoc=callTuxedoService(sendDoc);//調用服務,並得到返回的字元串

}}

② TUXEDO調服務時,客戶端返回tpcall錯誤:tpforward tpacall failure TPENOENT - no entry found。

Tuxedo介紹 原創
2016-04-02 21:23:02
11點贊

waterxcfg304

碼齡14年

關注
1、Tuxedo介紹

Tuxedo 是什麼?

Tuxedo是BEA公司(現已被Oracle公司收購)的一個客戶機/伺服器的「中間件」產品,它在客戶機和伺服器之間進行調節,以保證正確地處理事務。它用C語言技術開發的並且有很高性能。

TUXEDO是在、Internet 這樣的分布式運算環境中開發和管理三層結構的客戶/伺服器型關鍵任務應用系統的強有力工具。它具備分布式事務處理和應用通信功能,並提供完善的各種服務來建立、運行和管理關鍵任務應用系統。開發人員能夠用它建立跨多個硬體平台、資料庫和操作系統的可互操作的應用系統。

Tuxedo 的主要作用是:

屏蔽分布式環境中各種通信協議、硬體體系結構、操作系統、資料庫和其它應用服務等方面的差異,使分布於網路節點上的應用程序的各個單元部件之間能夠進行互操作,並協調操作的一致性和完整性,最大限度地節省系統資源,提高系統性能。

* Tuxedo 已經廣泛地應用於金融、電信、製造業等各行各業的核心業務系統。

三層架構

從左邊往右依次為:客戶端層(表現層),中間件服務層(業務邏輯層),資料庫伺服器層(數據層)。這種典型的三層架構應用非常廣泛。對於應用weblogic中間件的系統一般採用的B/S架構,絕大部分採用HTTP協議,少量的系統用java編寫的客戶端,使用的是RMI 協議,或J2EE里的其它協議。
對於tuxedo中間件使用的是tuxedo協議,前端開發工具可以是各式各樣,VC++ 、java 、Delphi 、VB 等。

Tuxedo 的通訊過程

Tuxedo 伺服器處理請求的方式與apache有本質的區別。

Apache伺服器處理請求,由客戶端發出請求到伺服器,由伺服器對請求進行處理後將數據返回給客戶端。

Tuxedo 伺服器一次請求需要兩次進行兩次交互,Tuxedo有兩個負責通訊的進程,一個為WSL,WSL的數量可以進行配置,典型的配置一般兩、三個;WSH可以有N多個。客戶端通過IP地址和埠號與WSL建立連接,由WSL認證請求是否合法,在WSL的響應中包含了另外一個IP地址和埠號;然後,客戶端通過拿到的新的IP地址和埠號去請求WSH 。

客戶端程序由GUI 與 Tuxeo通訊兩部分組成,GUI部分主要由開發人員關心如何設計,通訊部分可能設計成幾個函數供開發人員調用。對於性能測試人員可能更關心客戶端與伺服器之間的通訊過程。

2、tuxedo相關概念

IPC: Inter-Process Communication 進程間通信: 管道、信號量(semaphore)、共享內存(shared memory)、消息隊列(Message Queue)。

管道是UNIX系統IPC的最古老形式,數據只能單向流動。

Tuxedo在客戶機和伺服器通信中大量使用UNIX系統的消息隊列。
SSSO(Single Server Single Queue)模式:每個客戶機都有一個響應隊列來接受客戶端請求。
MSSO(Multiple Server Single Queue)模式:多個伺服器共享同一個請求隊列。

信號量包含一個計數器,表示某個資源正在被訪問和訪問的次數,用來控制多線程對共享數據的訪問。

Tuxedo使用共享內存存儲公告牌,用來公告進程狀態信息和需要在進程間共享或傳遞的數據。

-------------------------------------------------------------

Tuxedo的配置文件稱為UBBCONFIG或ubb,包含了域(Domain)、邏輯機器(Machine)、伺服器組(Group)、服務進程(Server)、服務(Service)的定義。運行前,需要把UBBCONFIG裝載成二進制文件,稱為TUXCONFIG。

Tuxedo服務啟動時,執行tpsvrinit()函數,可以打開一些如資料庫之類的資源供以後使用
Tuxedo服務停止時,執行tpsvrdown()函數,關閉資源
服務程序調用tpreturn()函數來結束服務請求,並返回一個緩沖區,必要時,將它傳給客戶程序。

--------------------------------------------------------

ATMI環境支持的C/S通信方式:請求/應答式通信、回話通信、隊列通信、事件代理通信、消息通知
請求/應答式通信:同步調用(tpcall)、非同步調用(tpacall)、嵌套調用、轉發調用(tpforward)
轉發調用和嵌套調用類似,不同的是最里層的嵌套服務可以直接給客戶程序一個響應,而不必按照調用棧 逐級返回。

回話方式:tpsend()/tprecv() 基於事件,分通告和代理
void (**p)(): 定義了一個指向函數指針的指針p
tpsetunsol(p) : 將p指向的函數func設置為客戶機的事件處理器。
tpchkunsol(): 檢查意外事件

事件代理: tppost()/tpsubscribe() 消息發布/訂閱
Tuxedo提供了兩個事件代理器(TMUSREVT TMSYSEVT)來處理訂閱請求。

隊列存儲: tpenqueue() / tpdequeue()
Tuxedo/Q用到了Tuxedo提供的兩個伺服器:消息隊列伺服器(TMQUEUE)和消息轉發伺服器(TMQFORWARD)

---------------------------

多系統多機之間通信需要每台機器上都有一個Bridge進程,通過TCP/IP通信,Bridge進程維持一個長連接,一旦建立不會斷掉。

TUXEDO應用系統的客戶端訪問TUXEDO伺服器上的服務的過程圖:

說明:
WS(Workstation Extension Proct)用於指TUXEDO產品的客戶端部分
WSC Workstation Client
WSL(Workstation Listener) TUXEDO系統自帶的一個SERVER,它偵聽一個指定的埠,WSC最初與該SERVER建立連接
WSH(Workstation Handler)TUXEDO系統自帶的一個SERVER,由它處理WSC與TUXEDO SERVER之間的通訊。
Bulletin Board(公告板)TUXEDO把系統的配置保存在一個共享內存中,該共享內存稱為公告板(BB)
BBL TUXEDO的管理進程,主要對公告板等進行管理

Workstation Client與TUXEDO SERVER建立連接的過程為:
1. WSC 調用tpinit()或tpchkauth()
2. WSC採用在WSNADDR中指定的IP地址與服務端的WSL建立連接
3. WSL為該WSC指定一個WSH,並把該WSH的偵聽埠返回給WSC
4. WSC採用返回的埠與指定的WSH建立連接,並與WSL斷開連接,這之後WSC與TUXEDO SERVER之間的通訊通過WSH進行處理,與WSL無關。
5. tpinit()或tpchkauth()調用返回。

----------------------------------------------------------
單域模式Single-Domain Model。單機模式 Single Host Model, 多機模式Multi-Processor Model
多域模式Multi-Domain Model

③ tuxedo 支持java語言開發服務端嗎

tuxedo12c的官方文檔上介紹時可以使用java開發服務的,具體如何開發可以看Programming an Oracle Tuxedo Application Using Java 這一章節。

④ java通過WTC調用tuxedo服務,報錯:Could not get a Tuxedo session有人知道什麼原因嗎謝謝

在web.xml中增加session-timeout
<session-config>
<session-timeout>30</session-timeout>
</session-config>

試試~~~

⑤ Java通過Jolt調用Tuxedo服務

poolmgr 是 SessionPoolManager的一個靜態的成員變數,跟System.out的out是一個道理。要是說boo_mgr對象怎麼獲取的。poolmgr賦值給的,很明顯的

⑥ C#編寫的tuxedo客戶端能不能訪問java編寫的tuxedo服務端服務

有沒有嘗試打開到伺服器的埠,telnet 192.168.123.84 6677,看看是不是網路問題

⑦ 採用Tuxedo 中間件的程序怎麼開發,需要哪些准備

Oracle Tuxedo為在異構的分布式環境下構建從WEB到企業應用的可擴展的多層Client/Sserver應用程序提供了一種框架或者說是中間件。使用Tuxedo,用戶可以開發,管理,部署獨立於底層硬體、操作系統、網路和資料庫環境的應用程序。
中間件比操作系統和網路的服務提供更多的功能。中間件的主要目的就是幫助應用程序解決不同平台,不同環境之間的通信和互操作。
Oracle Tuxedo主要提供以下中間件服務:
1)一種ATMI程序介面
ATMI即Application-to-Transaction Monitor Interface(應用事務監視介面),它是Tuxedo系統主要的編程介面。它提供事務管理功能(routines,verbs);request/response,會話,隊列和發布訂閱消息的功能;服務介面功能;和分布式應用程序通信的緩沖管理功能。
2)CORBA編程介面
CORBA即Common Object Request Broker Architecture(公用對象請求代管者體系結構)是一種由公共管理組織(OMG)定義的一種語言無關的面向對象的模型即一種標准。CORBA程序介麵包括C++和JAVA兩種ORB(Object Request Broker對象請求代理)。一種ORB就是一個庫,它能夠使得CORBA對象與其它的ORB進行溝通與定位。

⑧ java通過WTC調用tuxedo服務,報錯:TPESYSTEM(12):0:0:TPED_MINVAL(0):QMNONE(0):0 有人知道什麼原因嗎謝謝

1、TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:No local or remote domain available xxx服務
服務沒有調到。
請檢查tuxedo domain 與 weblogic domain連通
請檢查xxx服務在tuxedo中時候存在
查看方式為:
tmadmin
psc -s +服務名
如果是剛注冊的xxx服務,請重現發布所在的WTC服務。如果沒有重新發布,也會報這個錯誤。
如果tuxedo 日誌顯示plicate server,表示有另外一個weblogic domain 配置相同的wtc配置。也就是說 一個Tuxedo domain 對應兩個相同的Weblogic domain,這種情況,也會出現這個錯誤,
請修改另外weblogic domain的wtc配置。(配置相同是指 遠程tuxedo訪問點與本地tuxedo相同)。
如果跨防火牆,請修改連接策略 都改為ON_STARTUP

2、TPESYSTEM(12):0:0:TPED_MINVAL(0):QMNONE(0):0
tuxedo服務有問題或輸入參數不正確。

3、TPESYSTEM(13):0:0:TPED_MINVAL(0):QMNONE(0):0
tuxedo服務返回超過了設置的時間。優化tuxedo服務或修改時間門限。

4、TPESYSTEM(10):0:0:TPED_MINVAL(0):QMNONE(0):0
tuxedo系統問題。報10看下服務,應該有core文件生成。

閱讀全文

與tuxedojava相關的資料

熱點內容
如何共享伺服器的網路連接 瀏覽:130
程序員簡易表白代碼 瀏覽:163
什麼是無線加密狗 瀏覽:60
國家反詐中心app為什麼會彈出 瀏覽:64
cad壓縮圖列印 瀏覽:100
網頁打開速度與伺服器有什麼關系 瀏覽:860
android開發技術文檔 瀏覽:62
32單片機寫程序 瀏覽:43
三星雙清無命令 瀏覽:835
漢壽小程序源碼 瀏覽:340
易助erp雲伺服器 瀏覽:530
修改本地賬戶管理員文件夾 瀏覽:416
python爬蟲工程師招聘 瀏覽:283
小鵬p7聽音樂哪個app好 瀏覽:354
linux下的防火牆 瀏覽:954
凌達壓縮機美芝壓縮機 瀏覽:350
php後面代碼不執行 瀏覽:236
微我手機怎樣設置應用加密 瀏覽:203
條件加密 瀏覽:630
androidstudio設置中文 瀏覽:643