點擊藍字 關注我們
一
前言
項目中使用接口通過JDBC SENDER通道讀取中間表的數據,傳入S/4系統. 外圍系統提出該接口只能在每天特定的時間段執行. 為了解決這個需求. 特別研究了一下PO通道控制相關的內容.
PO/PI通過通道適配器與外部系統交互數據,可用的通道適配器有很多(如圖一).其中常用的幾種
FILE 文件通道
JDBC 數據庫直接訪問
REST REST調用
SOAP WEBSERVICE調用
HTTP_AAE HTTP調用
本文主要介紹PO系統中通道的控制及可用性計劃
圖一
二
通道控制方式
PO中大致可以通過兩種方式控制通道的工作
激活標記
通道啟停狀態(無激活標記也是一種特殊的通道狀態)
進入通道狀態控制的路徑(圖二)
圖二
三
通道狀態控制方式
通道狀態區分了三種控制方式
自動控制: 通過通道可用性計劃控制通道狀態
手工控制: 手工啟動或停止通道
外部控制: 估計是通過特定外部調用方式修改PO的通道狀態.具體方式本文未涉及
四
通道激活標記
激活標記是通道創建的時候的一個標記,通過設置該標記表示通道相關配置已經就緒.如果通道沒有設置激活標記, 在通道監控中將會看到一個不活動狀態
五
通道狀態-手工控制
對于激活了的通道,則可以通過通道狀態控制通道是否能夠使用.
當沒有按下自動控制/外部控制時. 通道狀態控制方式為手工控制. 可以通過手工點擊開始/停止按鈕控制通道狀態
六
通道狀態-自動控制
按下自動控制按鈕后,通道進入自動控制模式,此時可以通過設定可用性計劃控制通道
七
通道可用性計劃
當通道狀態設置為自動控制時.可以定義可用性計劃來確定控制通道的啟動/停止.執行步驟如下
01
進入可用性計劃標簽
進入可用性計劃標簽,執行后續處理
02
新建一個計劃
新建計劃時,需要選擇一個執行頻率
03
計劃基本屬性
輸入計劃的基本屬性
活動:用于控制計劃是否執行
描述:用于描述計劃內容
開始日期/時間(結束日期/時間) : 用來控制通道的自動啟動和自動停止日期/時間
持續時間: 系統自動計算出通道活動的持續時間
結束于: 計劃的截至日期, 超過該日期,計劃就失效了.
04
計劃的通道過濾
通道過濾包含兩個部分
計劃的通道: 表示計劃覆蓋的通道
豁免的通道: 表示計劃未覆蓋的通道.
如果只需要設置特定的通道,比如CCO_SOAP, 可以先把所有通道移動到豁免的通道, 然后把特定通道在移動回來. (如圖三)
通過這組按鈕實現通道的移動 (如圖四)
圖三
圖四
05
計劃概覽
設置好計劃后,可以通過通道的時間表看到通道的計劃執行日期及計劃執行時間段
06
通道管理信息
可以通過通道的當前狀態和通道管理信息中的操作日志查看通道的狀態切換.
八
通道狀態對通道調用的影響
當通道狀態是停止或非激活.對不同類型的出站/入站通道產生的影響不太一樣.
出站通道(通道屬性RECEIVER)
對于所有的出站通道,PO中的消息處理將會報錯(通道未激活或通道未啟動),但是對于異步接口的調用發出方沒有影響,發處方可以成功調用PO的接口,傳輸數據.
入站通道(通道屬性SENDER)
對于JDBC/文件類入站通道,由PO主動執行的入站通道, PO將不執行數據庫的查詢或文件的讀取.
對于HTTP/SOAP/REST 類型的入站通道. 未激活或停止的通道,其它系統調用PO接口將會報錯HTTP/1.1 500 Internal Server Error,如下圖
九
控制示例
回到文章開頭業務提出的控制需求.
解決方式是通過設置通道的執行間隔: 比如設置為1800秒一次. 然后定義一個計劃, 控制該通道每天18:00->19:00執行即可.
十
總結
通道可用性計劃用于制定通道的自動啟動/停止計劃. 通過該計劃控制通道狀態,進一步控制外部系統調用PO的接口或者PO調用外部系統的接口. 確保接口只有在特定的時間段允許執行.
實際使用中,文件通道/JDBC通道的發送方控制有實際意義(由PO控制數據/文件的定時讀取).其它端口啟用通道可用性計劃意義不太大. 除非業務嚴格規定了特定接口只能在特定時間段調用,禁止其它時間段調用.
THE
END
約定
如果你對這篇文章感興趣,請幫忙點贊,在看,分享.? ? ?
?