SWIFTNet 用戶端和伺服器
SWIFT 使用用戶端和伺服器詞彙來描述傳送和接收。 SWIFT 用戶端是呼叫 SWIFTNet Link (SNL) 以透過 SWIFTNet 起始通訊的程式。 在 BizTalk Server中,這稱為傳送配接器。 SWIFT 伺服器是當流量透過 SWIFTNet 傳入時,SNL 所呼叫的程式。 在BizTalk Server中,這稱為接收配接器。
請勿混淆 SWIFT 用戶端和伺服器與商務用戶端和伺服器。 例如,用戶端 (組織) 依賴伺服器 (組織) 所提供的服務。 如果伺服器 (組織) 想要起始與用戶端 (組織) 的通訊,則必須使用 SNL 用戶端應用程式來執行此動作,而用戶端 (組織) 必須有 SNL 伺服器應用程式才能接收傳入流量。 下圖說明這一點。
用戶端與伺服器 性
SNL 假設用戶端和伺服器應用程式都是從命令提示字元啟動的可執行檔。 這兩者都會連結到 SNL API DLL,其會與實際的 SNL 實例進程通訊。
SNL 用戶端應用程式
SNL 用戶端應用程式依賴以下所述的 SwCall API。 技術上來說,典型的用戶端應用程式可以如下所述:
Main:
Initialize SNL API
Repeat
Call SwCall API
Until shutdown
SNL 用戶端應用程式必須在專用進程中執行,因為 SNL 會依進程識別碼參考用戶端內容。 SNL 會將使用 Tuxedo 資源的呼叫同步處理至 SwCall。 因此,一次只有單一用戶端執行緒可以有效地執行 SwCall。
用戶端支援同步通訊模式。 這表示當回應從伺服器傳回時,就會在 SWCall 上傳回。 下一個 SwCall 只能在此傳回之後執行。
SNL 伺服器應用程式
SNL 伺服器應用程式比用戶端應用程式稍微複雜。 伺服器應用程式會先註冊回呼函式,再對 SNL DLL 執行封鎖呼叫。 技術上來說,典型的伺服器應用程式可描述如下:
Main:
Initialize SNL API
Call SwRegisterSwCallback, registering the Callback function
Call SwServer, block and receive callbacks
Callback(Request):
Process Request
Return Response
伺服器應用程式可以在回呼函式中呼叫 SwCall API。 在某些情況下,它必須呼叫 SwCall,才能產生所需的結果或回應。 不過,伺服器應用程式永遠不會透過網路起始通訊。 伺服器應用程式永遠不能是用戶端應用程式。
在下圖中,標示為 Initialize 的呼叫是 SNL API 初始化程式的抽象概念,需要多個呼叫。 標示 為 SwCallback () 的呼叫會重複數次,而標示為 SwCall () 的呼叫是選擇性的。
伺服器與 SNL API DLL 之間的所有呼叫都是標準 C 呼叫慣例同步函式呼叫。