關於使用無伺服器技術將資料載入至 Oracle Cloud ERP

如果您不常將資料載入 SaaS 或使用直接的整合流程,可以避免繁重的資料整合解決方案。您可能偏好建立一個以程式碼為中心的方法,以便完全控制程式碼在做什麼、程式碼的部署方式,以及系統閒置時不支付任何費用。如果您需要定期將資料載入 Oracle Fusion Cloud Enterprise Resource Planning (Oracle Cloud ERP),Oracle 會在 Oracle Cloud Infrastructure 上提供無伺服器技術。您可以部署簡單的 Oracle Functions 來處理您的資料轉換、載入與回呼,使用 Oracle Cloud Infrastructure Object Storage 儲存桶在處理資料時暫時儲存資料,並使用 API 閘道與 Oracle Cloud Infrastructure Vault 可為關鍵任務 ERP 資料提供可靠的安全性。

身為 Oracle SaaS 客戶,您可能偏好授權模型及簡便的 SaaS 管理:使用資源或您所建立的「實體」數目付費,而且除了您自己的資料之外,您不需進行管理。建置 SaaS 擴充套件後,您可以享有相同體驗。使用 Oracle 的無伺服器選項,您不需要維護作業系統、修補程式、防火牆或程式實際執行磁帶櫃。「無伺服器」技術並不代表沒有伺服器,而是開發人員不會管理它們,所以基本上它們會隱藏在開發人員中。在無伺服器環境中,將程式碼與組態部署到雲端,然後 Oracle 負責管理這些環境。

Oracle Functions 、Oracle Cloud 資料儲存體和其他 OCI 功能都有根據使用量來調整定價。您只需依據使用的儲存體和運算資源付費。如果目前未使用您的函數,則無需花費任何費用;如果目前您的儲存是空的,則無需花費,依此類推。

在系統之間移動和轉換資料的 Oracle 頂級產品是 Oracle IntegrationOracle Integration 可讓整合人員使用宣告式建構建立整合、在雲端執行轉換、在雲端執行實際的資料載入、自動管理異常狀況與重試,等等,不需要編寫程式碼。針對繁重或低程式碼 / 無程式碼解決方案,Oracle Integration 可以是絕佳選擇。但無伺服器可能相當有用的其中一個使用案例,就是不常將資料載入 SaaS 或整合流程直接載入至其中的客戶。

這個解決方案播放手冊將說明如何使用無伺服器技術來實行資料載入模式,並說明如何延伸基本樣式以包含通知和其他增強功能。

架構

此架構展示了如何建立無伺服器架構,以將資料載入 Oracle Cloud ERP

為了示範如何使用無伺服器技術將資料載入 Oracle Fusion Cloud,我們只使用 OCI 無伺服器服務與 3GL 程式碼式方法建置範例。



load-data-serverless-architecture-oracle.zip

此架構支援下列元件:

  • 函數

    Oracle Functions 是一個完全託管、多租用戶、可高度擴展、隨選、Functions-as-a-Service (FaaS) 平台。它由 Fn 專案開放原始碼引擎提供技術支援。函數可讓您部署程式碼,然後直接呼叫程式碼或觸發程式以回應事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中代管的 Docker 容器。

  • 事件

    Oracle Cloud Infrastructure 服務會發出事件,也就是描述資源變更的結構化訊息。系統會發出事件來進行建立、讀取、更新或刪除 (CRUD) 作業、資源生命週期狀態變更,以及影響雲端資源的系統事件。

  • 通知

    Oracle Cloud Infrastructure Notifications 服務會透過發布 / 訂閱模式,將訊息廣播至分散式元件,為 Oracle Cloud Infrastructure 代管的應用系統提供安全、高度可靠、低延遲及持久性訊息。

  • 保存庫

    Oracle Cloud Infrastructure Vault 可讓您集中管理加密金鑰,保護您的資料和用於保護雲端資源安全存取的機密證明資料。您可以使用保存庫服務建立及管理保存庫、金鑰及加密密碼。

  • API 閘道

    Oracle API Gateway 可讓您發布具有可從網路內部存取之專用端點的 API,並視需要公開至公用網際網路。端點支援 API 驗證、要求和回應轉換、CORS、認證和授權,以及要求限制。

  • 物件儲存

    物件儲存可快速存取任何內容類型的大量結構化與非結構化資料,包括資料庫備份、分析資料,以及豐富內容 (例如影像和影片)。您可以安全地儲存,然後直接從網際網路或雲端平台內擷取資料。您可以無縫擴充儲存,而不會發生任何效能或服務可靠性的降低。針對快速、立即和經常存取的「熱」儲存,使用標準儲存。將封存儲存用於長時間且鮮少存取的「冷」儲存。

  • Fusion Applications

    Oracle Fusion Cloud Applications Suite 提供涵蓋各個業務類別的數十種雲端 App,包括 ERP、SCM、HCM、銷售、服務以及垂直產業。

此範例架構示範如何建立無伺服器架構,以便將資料載入 Oracle Cloud ERP 中。此服務示範使用 OCI 儲存桶 (物件儲存的一項功能)、事件、函數、保存庫、通知以及 API 閘道來實行整合管線的樣式。模式強調如何延伸流程以包含通知,並進一步強化整合。此樣式以程式碼和無伺服器為基礎,當系統閒置時,唯一的用戶成本就是 OCI 物件儲存中檔案的儲存體。

如果您有許多要導入的整合,而且會經常變更這些整合,則 Oracle Integration 會是絕佳的替代方案。Oracle Integration 提供豐富的宣告式開發環境,可以快速建置、部署整合,以及調整規模以符合您的需求。此外,Oracle Integration 提供許多額外的內建功能,例如錯誤處理、重試訊息、儀表板、報表、先前要求的狀態追蹤等。

不過,如果您偏好無伺服器方法、以程式碼為中心的整合樣式,以及此樣式所提供的彈性與擴充性,則請使用此架構作為您專屬 Functions 型無伺服器 SaaS 擴充的起點。

關於將資料載入 Oracle Cloud ERP

若要開發此應用程式,必須瞭解將資料載入 Oracle Cloud ERP 的流程。

以下步驟是將資料載入 Oracle Cloud ERP 時的一般需求:

  1. 使用一些外部資料強化內送資料,並將資料轉換成 Oracle Cloud ERP 資料載入格式 (FBDI)
  2. 使用 REST 或 SOAP Web 服務將檔案載入至 Oracle Cloud ERP
  3. 聆聽 Oracle Cloud ERP 的回呼,指出處理已完成且已處理資料。

增強和轉換

將資料載入 Oracle Cloud ERP 時,必須執行必要步驟,將輸入資料轉換成所需的 CSV 格式,然後將檔案壓縮成單一 ZIP 檔案。在本播放簿的範例中,接受簡化的 JSON 資料結構,然後轉換為 Oracle Cloud ERP 所需的 CSV 格式,即可示範此轉換步驟。然後這些檔案會合併成一個準備好要上傳的 ZIP 檔。

載入 (L)

資料轉換之後,即可使用 Fusion REST API 將其載入至 Oracle Cloud ERPOracle Cloud ERP 的回應包含部分中繼資料,以及用來載入資料的 JobID。稍後需要 JobID,以判斷哪一個資料檔正由哪一個工作匯入。

處理回電

Oracle Cloud ERP 會向從屬端發出回呼,指出工作是否已正確處理或發生錯誤。請注意,成功代碼不一定代表資料已全部載入:例如,可能有重複的記錄。

開始之前

此解決方案手冊假設您熟悉 OCI、Oracle Cloud ERP 和 Python。

您必須在 OCI 執行處理中建立各種物件,包括儲存的儲存桶、漏洞及 Oracle Cloud Infrastructure Vault 。下列參考可能有幫助:

關於必要的服務與角色

此解決方案需要下列服務:

  • Oracle Fusion ERP
  • Oracle Cloud Infrastructure ,包括 Oracle API Gateway、Oracle Functions 和其他 OCI 元件

這些是每項服務所需的角色。

服務名稱:角色 需要 ...
Oracle Fusion ERP:導入人員 透過 API 載入 Fusion ERP 資料
Oracle Cloud Infrastructure :管理員 在 OCI IAM 中建立帳戶、部署 OCI 元件和函數

請參閱 瞭解如何取得 Oracle 解決方案適用的 Oracle Cloud 服務 ,以取得您需要的雲端服務。