PO系列之 通道的可用性計(jì)劃

點(diǎn)擊藍(lán)字 關(guān)注我們

前言

項(xiàng)目中使用接口通過JDBC SENDER通道讀取中間表的數(shù)據(jù),傳入S/4系統(tǒng). 外圍系統(tǒng)提出該接口只能在每天特定的時(shí)間段執(zhí)行. 為了解決這個(gè)需求. 特別研究了一下PO通道控制相關(guān)的內(nèi)容.

PO/PI通過通道適配器與外部系統(tǒng)交互數(shù)據(jù),可用的通道適配器有很多(如圖一).其中常用的幾種

  • FILE 文件通道

  • JDBC 數(shù)據(jù)庫直接訪問

  • REST REST調(diào)用

  • SOAP WEBSERVICE調(diào)用

  • HTTP_AAE HTTP調(diào)用

本文主要介紹PO系統(tǒng)中通道的控制及可用性計(jì)劃

圖一

通道控制方式

PO中大致可以通過兩種方式控制通道的工作

  • 激活標(biāo)記

  • 通道啟停狀態(tài)(無激活標(biāo)記也是一種特殊的通道狀態(tài))

進(jìn)入通道狀態(tài)控制的路徑(圖二)

圖二

通道狀態(tài)控制方式

通道狀態(tài)區(qū)分了三種控制方式

  • 自動(dòng)控制: 通過通道可用性計(jì)劃控制通道狀態(tài)

  • 手工控制: 手工啟動(dòng)或停止通道

  • 外部控制: 估計(jì)是通過特定外部調(diào)用方式修改PO的通道狀態(tài).具體方式本文未涉及

通道激活標(biāo)記

激活標(biāo)記是通道創(chuàng)建的時(shí)候的一個(gè)標(biāo)記,通過設(shè)置該標(biāo)記表示通道相關(guān)配置已經(jīng)就緒.如果通道沒有設(shè)置激活標(biāo)記, 在通道監(jiān)控中將會(huì)看到一個(gè)不活動(dòng)狀態(tài)

通道狀態(tài)-手工控制

對于激活了的通道,則可以通過通道狀態(tài)控制通道是否能夠使用.

當(dāng)沒有按下自動(dòng)控制/外部控制時(shí). 通道狀態(tài)控制方式為手工控制. 可以通過手工點(diǎn)擊開始/停止按鈕控制通道狀態(tài)

通道狀態(tài)-自動(dòng)控制

按下自動(dòng)控制按鈕后,通道進(jìn)入自動(dòng)控制模式,此時(shí)可以通過設(shè)定可用性計(jì)劃控制通道

通道可用性計(jì)劃

當(dāng)通道狀態(tài)設(shè)置為自動(dòng)控制時(shí).可以定義可用性計(jì)劃來確定控制通道的啟動(dòng)/停止.執(zhí)行步驟如下

01

進(jìn)入可用性計(jì)劃標(biāo)簽

進(jìn)入可用性計(jì)劃標(biāo)簽,執(zhí)行后續(xù)處理

02

新建一個(gè)計(jì)劃

新建計(jì)劃時(shí),需要選擇一個(gè)執(zhí)行頻率

03

計(jì)劃基本屬性

輸入計(jì)劃的基本屬性

  • 活動(dòng):用于控制計(jì)劃是否執(zhí)行

  • 描述:用于描述計(jì)劃內(nèi)容

  • 開始日期/時(shí)間(結(jié)束日期/時(shí)間) : 用來控制通道的自動(dòng)啟動(dòng)和自動(dòng)停止日期/時(shí)間

  • 持續(xù)時(shí)間: 系統(tǒng)自動(dòng)計(jì)算出通道活動(dòng)的持續(xù)時(shí)間

  • 結(jié)束于: 計(jì)劃的截至日期, 超過該日期,計(jì)劃就失效了.

04

計(jì)劃的通道過濾

通道過濾包含兩個(gè)部分

  • 計(jì)劃的通道: 表示計(jì)劃覆蓋的通道

  • 豁免的通道: 表示計(jì)劃未覆蓋的通道.

如果只需要設(shè)置特定的通道,比如CCO_SOAP, 可以先把所有通道移動(dòng)到豁免的通道, 然后把特定通道在移動(dòng)回來. (如圖三)

通過這組按鈕實(shí)現(xiàn)通道的移動(dòng) (如圖四)

圖三

圖四

05

計(jì)劃概覽

設(shè)置好計(jì)劃后,可以通過通道的時(shí)間表看到通道的計(jì)劃執(zhí)行日期及計(jì)劃執(zhí)行時(shí)間段

06

通道管理信息

可以通過通道的當(dāng)前狀態(tài)和通道管理信息中的操作日志查看通道的狀態(tài)切換.

通道狀態(tài)對通道調(diào)用的影響

當(dāng)通道狀態(tài)是停止或非激活.對不同類型的出站/入站通道產(chǎn)生的影響不太一樣.

出站通道(通道屬性RECEIVER)

對于所有的出站通道,PO中的消息處理將會(huì)報(bào)錯(cuò)(通道未激活或通道未啟動(dòng)),但是對于異步接口的調(diào)用發(fā)出方?jīng)]有影響,發(fā)處方可以成功調(diào)用PO的接口,傳輸數(shù)據(jù).

入站通道(通道屬性SENDER)

對于JDBC/文件類入站通道,由PO主動(dòng)執(zhí)行的入站通道, PO將不執(zhí)行數(shù)據(jù)庫的查詢或文件的讀取.

對于HTTP/SOAP/REST 類型的入站通道. 未激活或停止的通道,其它系統(tǒng)調(diào)用PO接口將會(huì)報(bào)錯(cuò)HTTP/1.1 500 Internal Server Error,如下圖

控制示例

回到文章開頭業(yè)務(wù)提出的控制需求.

解決方式是通過設(shè)置通道的執(zhí)行間隔: 比如設(shè)置為1800秒一次. 然后定義一個(gè)計(jì)劃, 控制該通道每天18:00->19:00執(zhí)行即可.

總結(jié)

通道可用性計(jì)劃用于制定通道的自動(dòng)啟動(dòng)/停止計(jì)劃. 通過該計(jì)劃控制通道狀態(tài),進(jìn)一步控制外部系統(tǒng)調(diào)用PO的接口或者PO調(diào)用外部系統(tǒng)的接口. 確保接口只有在特定的時(shí)間段允許執(zhí)行.

實(shí)際使用中,文件通道/JDBC通道的發(fā)送方控制有實(shí)際意義(由PO控制數(shù)據(jù)/文件的定時(shí)讀取).其它端口啟用通道可用性計(jì)劃意義不太大. 除非業(yè)務(wù)嚴(yán)格規(guī)定了特定接口只能在特定時(shí)間段調(diào)用,禁止其它時(shí)間段調(diào)用.

THE

END

約定

如果你對這篇文章感興趣,請幫忙點(diǎn)贊,在看,分享.? ? ?

?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容