累計資料同步

本產品支援資料同步方法,藉此方法可將對實體所做的數項變更累積為單一訊息,然後一起傳送至外部系統。

下列各點概略描述此功能:
  • 新增、變更或刪除實體時,會在一或多個同步要求上擷取變更前的實體資料快照,每個需要連接資料的外部系統都會有一個快照。更新前的快照會用來作為訊息傳送至外部系統期間進行之所有變更的偵測基準線。

  • 同步要求是由下一個監視批次處理進行處理。

  • 同步要求的處理通常涉及的業務規則是,將更新前的快照與目前的實體內容進行比較,以偵測所做的所有變更。如果已進行變更,邏輯可以決定繼續傳送同步訊息,不然就是捨棄要求。這些規則也負責處理與外部系統通訊時發生的所有錯誤,並視需要管理重試嘗試。

基準業務物件同步要求 (F1-SyncRequest) 中提供的邏輯支援此功能。請注意,對於該產品中支援的每個特定同步案例,每個邊緣應用程式都會提供此業務物件的適當下階業務物件。下方部分功能是使用架構所提供之上階業務物件上的組態所完成,其他功能則可能由下階業務物件所提供。此外,您的特定產品整合還可能支援更複雜的使用案例。如需詳細資訊,請參閱您特定應用程式的同步要求業務物件程式庫,以及您特定產品整合的相關文件。

下列各區段描述此資料同步方式的重要面向。

擷取變更

基準產品提供變更資料擷取 (維護物件稽核) 演算法 F1-GCHG-CDCP,可供需要透過此方法同步的維護物件使用。如果在初始狀態下找不到相同記錄 (和相同業務物件) 的現有同步要求,則此演算法會為變更的記錄建立「同步要求」記錄,並擷取維護物件代碼和主索引鍵。使用的同步要求業務物件就是在已變更記錄之維護物件上同步要求業務物件選項中定義的業務物件。如果有多個此類選項存在,則會建立多個同步要求。

您的特定產品也可能會引入其他「稽核」演算法,以滿足更複雜的範例。

建立同步要求記錄時,「同步要求業務物件」通常會有前處理外掛,以在記錄資料變更之前擷取其快照。這將會用於後續步驟,以確認需要通知外部系統已發生變更。

確認需要同步

擷取同步要求之後,需要先執行數個步驟,才能將任何資訊傳送至外部系統。

備註:此區段只強調關鍵步驟。請參閱業務物件組態、其生命週期和演算法,以充分瞭解完整功能。
  • 建立「同步要求」記錄時,其初始狀態 (待處理) 會設定為由批次監視處理。這樣一來,記錄會被新增至該天的同步要求資料表,但會一起處理所有記錄。如果指定的維護物件/主鍵組合 (對於相同的業務物件) 已有「待處理」記錄,則維護物件稽核演算法會確保未建立新的同步要求。不過,後續「非最終」(例如等候確認) 中可能會有維護物件/主鍵的記錄。此狀態包含監視演算法來檢查該條件,如果有其他記錄時略過轉變。這麼做是為了確保已先完整處理現有記錄,再處理這筆新記錄。

  • 生命週期的下一個狀態是決定是否需要同步。此步驟使用演算法來取得資料的快照 (稱為「最終快照」),並將它與建立記錄時所取得的初始快照進行比較。根據演算法的邏輯,可能會決定繼續 (轉變為傳送要求) 或中斷 (轉變為已捨棄)。

與外部系統通訊

確認應該進行同步之後,必須將訊息傳送至外部系統。下列各點強調基本功能。

  • 演算法已連結至傳送要求狀態。預期是此演算法建立外傳訊息,適當地將資訊遞送至外部系統。演算法必須決定要使用的外部系統和外傳訊息類型。同步要求的業務物件支援用於定義此演算法使用之外部系統和外傳訊息類型的業務物件選項。

  • 觸發外傳訊息之後,記錄會轉變為等候確認狀態。此狀態會用來保留進一步狀態轉變的同步要求,直到接收到來自外部系統的確認為止。請注意,此步驟依賴外部系統的回應機制實作。建議實作回應,因為這有助於控制資訊的時間流程。產品提供業務服務 F1-UpdateSyncRequest,以在接收到肯定確認時,將同步要求轉變為下一個預設狀態 (在此情況下為已同步狀態);或者在接收到否定確認時,轉變為與「拒絕」轉變條件相關聯的狀態 (在此情況下為錯誤狀態)。此外,此狀態還可以設定監視演算法,以偵測是否已達逾時限制。

  • 對於進入錯誤狀態的記錄,建議設定建立待辦事項的演算法,以警示某人發生問題。如需詳細資訊,請參閱整合文件。此狀態已預先設定演算法,以在結束此狀態時完成待辦事項。

  • 最終狀態已同步用於標示成功同步。不過,對於較複雜的使用案例,此狀態可用來觸發部分其他動作。如需詳細資訊,請參考您特定產品整合的文件。