編輯

共用方式為


使用Raincode IMSql 在 Azure 上重新裝載 IMS DC 和 IMS DB

Azure 虛擬機器擴展集
Azure Logic Apps
Azure SQL 受控執行個體
Azure 虛擬網路
Azure ExpressRoute

此架構描述如何使用Raincode的IMSql,在 Azure 上實作資訊管理系統 (IMS) 大型主機應用程式工作負載。 將 IMS 資料庫 (DB) 應用程式移轉至雲端原生解決方案比移轉關係資料庫應用程式更為複雜。 本文說明如何順暢地重新裝載具有 Azure 重要 IMS 特性和功能的大型主機 IMS 工作負載。 您不需要翻譯或修改現有的應用程式。

移轉前的 IMS DB/DC 工作負載架構

顯示預先移轉 IMS DB/DC 工作負載架構的圖表。

下載此架構的 Visio 檔案

資料流程

  1. 使用者使用 TN3270 和 HTTPS 等標準大型主機通訊協定,透過 TCP/IP 連線到大型主機。
  2. 交易管理員會與用戶互動,並叫用應用程式以滿足使用者要求。
  3. 在應用層的前端,用戶會與IMS畫面或網頁互動。
  4. 應用程式程式代碼會使用 IMS DB (階層式) 後端資料層的儲存功能。
  5. 所有離線巨量資料作業都會透過批次作業執行。
  6. 除了事務處理之外,其他服務也提供驗證、安全性、管理、監視和報告。 這些服務會與系統中所有其他服務互動。

Azure 上的 IMSql 架構

顯示 Azure 上 IMSql 架構的圖表。

下載此架構的 Visio 檔案

工作流程

  1. IMSql 終端機伺服器

    傳統上,大型主機 z/OS 介面是透過IBM內部終端機或終端模擬軟體來存取。 具有分散地理位置網路且有數千位使用者的應用程式,可以透過任何形式的終端機連線到大型主機。 當 IMS 資料通訊 (DC) 應用程式重新載入於分散式雲端式系統上時,您必須集中裝載應用程式和資源,並將其發佈給遠端用戶端裝置。 您可以使用 IMSql 終端機伺服器在 Azure 上完成這些工作。

  2. SQL Server Service Broker

    在大型主機中,IMS DC 會藉由在控制區域中傳輸和處理訊息,協調使用者終端機與應用程式之間的通訊層。 重新裝載之後,SQL Server Service Broker 會協調這個異步通訊層。 Service Broker 可透過訊息傳遞架構協助通訊,並將訊息相應放大至個別處理伺服器、目前使用者及其事務處理。

  3. IMSql 處理伺服器

    處理伺服器會針對 .NET Framework 或 .NET Core 中的 IMS 程式執行 Raincode-recompiled 程式代碼。 它包含基礎結構,可讓重新編譯的程式以正確的功能等價有效地執行。 IMSql 處理伺服器可以產生動態查詢,並呼叫在重新編譯 DL/I 呼叫期間建立的 SQL 預存程式。

  4. SQL Server 作為階層式數據存放區

    數據會儲存為 IMS 中的階層式數據。 IMSql 在 SQL Server 上使用相同的模型。 此模型可讓 IMSql 利用關係資料庫的高效能,並以邏輯方式從 IMS 實作階層式區段。 它也可讓系統使用區段獨立調整。 區段數據會以原始EBCDIC格式儲存,因此不需要為應用程序轉換。 藉由使用 SQL 平臺即服務 (PaaS),IMSql 可以利用 Azure 所提供的基礎 HA/DR 功能。

  5. DL/I 呼叫 API

    IMSql API 可確保 COBOL IMS DL/I 呼叫會轉譯為對等的 SQL 查詢。 然後,它會擷取數據,並以預期的格式傳回應用程式程式。 IMSql 也會追蹤數據表記錄上的程式位置,以執行建立、讀取、更新和刪除 (CRUD) 作業,例如階層式 DB。 IMSql 可以在編譯期間建立 SQL 預存程式,以回應需要大量效能的 DL/I 呼叫。

  6. Raincode JCL

    Raincode 作業控制語言 (JCL) 是與 z/OS JCL 相容的解釋器。 Raincode JCL 解釋器會盡可能順暢地從 JCL 內嵌的複雜商業規則轉換為 Azure 和 .NET Core 平臺。 Raincode JCL 的設計目的是執行由RaincodeCOBOL、PL/I和 ASM370 編譯程式所編譯的程式代碼。 它可以輕鬆地執行以幾乎任何語言撰寫的步驟。 它可以使用使用者撰寫的程式代碼進行設定和微調,因此您可以根據自己的批次排程需求進行調整。

  7. IMSql 數據檢視

    IMSql 會根據複製簿(記錄配置)定義關係型 SQL 檢視,讓 IMS 區段可以透過任何 Azure 服務和新的應用程式透過一般 SQL 語句來存取。 IMSql 檢視也是可寫入的,因此新式應用程式可以透過 SQL Server 透過兩種方式與 IMS 互動。

透過IMSql進行數據遷移

顯示透過IMSql進行數據遷移的圖表。

下載此架構的 Visio 檔案

資料庫物件移轉

  • 原始IMS DB資料庫描述 (DBD) 會從大型主機擷取和傳輸。 IMSql 會使用 DBD 資訊來產生 SQL 腳本,以在 Azure SQL 中產生目標資料庫和數據表。
  • IMS DBD 中的每個區段都會轉譯為 Azure 上的數據表。
  • 數據表包含索引鍵欄位、搜尋欄位,以及 EBCDIC 中表示的完整 IMS 區段數據。
  • IMS 區段樹狀結構會與 Azure SQL 數據表中的主鍵和外鍵關聯性一起保留。

初始數據載入

  • 來自IMS DB的數據會透過大型主機作業擷取,並經常可用的下載公用程式,例如DFSRRC00和DFSURGL0。
  • 您可以使用 FTP 和 SFTP 等 Azure Data Factory 連接器,以及 Unix 子系統服務 (USS) 上執行的 Java 型解決方案,將擷取的二進位檔傳輸到 Azure。
  • IMSql 具有內建載入公用程式,可完成初始數據載入。 此工具使用 SQL Server 大量複製程式 (bcp) 公用程式。 它會確保數據表之間的 bcp 執行和必要的引用完整性,以符合預期的階層式結構。
  • 此移轉可解決來自IMS DB的一次性數據載入,而不是共存和相關聯的數據同步處理。

移轉的數據流

  1. 大型主機非關係數據存放區 (IMS DB) 有兩個元件:DBD 和實際的區段數據。
  2. IBM 公用程式會擷取和卸除IMS DB資訊。
  3. DBD 檔案和對應的二進位數據檔會分別產生。
  4. 資料擷取:
    1. Data Factory FTP 連接器會將大型主機 IMS 數據集複製到 Azure 資料記憶體。
    2. 大型主機 IMS 資料檔會透過 SFTP 複製到 Azure Blob 儲存體。
    3. 大型主機 JCL 可用來執行自定義 Java 解決方案,以在大型主機系統與 SFTP Azure Blob 儲存體 之間行動數據。
  5. 藉由使用 DBD 檔案,IMSql 會建立具有必要引用完整性的目標 DB 和數據表。
  6. 建立數據對象之後,IMSql 會依序將數據載入對應的數據表。
  7. 所有遷移的 IMS 資料都會裝載於 Azure SQL 受控執行個體。
  8. 應用程式資料庫是由處理 IMS 在線和批處理的原始區段數據所組成。
  9. IMS 讀取/寫入檢視是由以 copybook 版面配置為基礎的區段數據所組成。

元件

  • Azure Logic Apps 可讓您快速建置功能強大的整合解決方案。 大型主機使用者熟悉 3270 終端機和內部部署連線能力。 他們可以使用Logic Apps IBM 3270 連接器 來存取和執行IBM大型主機應用程式。 在移轉的系統中,他們會透過公用因特網或透過 Azure ExpressRoute 實作的私人連線,與 Azure 應用程式互動。 Microsoft Entra ID 提供驗證。
  • Azure 虛擬網絡 是 Azure 上專用網的基本建置組塊。 虛擬網絡 可讓許多類型的 Azure 資源,例如 Azure 虛擬機器(VM),彼此通訊、因特網和內部部署網路,全都具備改良的安全性。 虛擬網絡 就像您在自己的數據中心運作的傳統網路,但它帶來更多 Azure 基礎結構的優點,例如規模、可用性和隔離。
  • ExpressRoute 可讓您透過連線提供者促進的私人連線,將內部部署網路延伸至 Microsoft Cloud。 您可以使用 ExpressRoute 來建立與 Azure 和 Office 365 等雲端服務Microsoft連線。
  • Azure 虛擬機器擴展集 提供自動化和負載平衡的 VM 調整,可簡化應用程式的管理並增加可用性。
  • SQL 受管理執行個體 是 Azure SQL 服務組合的一部分,是雲端中受控、高度安全、一律最新的 SQL 實例。
  • Microsoft Entra ID 是雲端式企業身分識別和存取管理服務。 Microsoft Entra 單一登錄和多重要素驗證可協助使用者登入和存取資源,同時協助防止網路攻擊。

替代項目

  • 您可以使用 Azure 虛擬機器中的 SQL Server 作為 SQL 受管理執行個體 的替代方案。 建議您在此架構中 SQL 受管理執行個體,因為高可用性、與各種 Azure 服務無縫整合,以及基礎安全性修補程式和維護的管理等優點。
  • 您可以使用 Azure 單一 VM 架構作為 虛擬機器擴展集 的替代方案。 您可能想要針對具有固定負載和效能需求的工作負載使用單一 VM,而不需要調整。 此架構會使用 虛擬機器擴展集 來處理一般 IMS 工作負載。

案例詳細資料

大型主機 OLTP 系統可以為大量用戶處理數百萬筆交易。 IBM IMS 是大型大型主機交易管理員,由各大公司用於在線事務處理。 它有兩個主要元件:IMS DC 元件和基礎階層式 DBMS IMS DB 元件。

IMSql 可讓您在 Azure 或以 SQL Server 為基礎的內部部署分散式實作上裝載 IMS 型工作負載。 IMSql 提供執行IMS工作負載的整體解決方案,包括應用程式、資料和中間件元件。 它可以將階層式 (IMS DB) 數據結構內嵌至 SQL Server 中的關係型數據模型、Azure 上的 SQL Server 虛擬機器,以及 SQL 受管理執行個體。 它具有適用於 IMS 應用程式程式 DL/I 呼叫的內建 API,並將數據層延伸至階層式工作負載以外的雲端原生應用程式,以用於關係型數據。

此解決方案提供下列優點:

  • 將基礎結構現代化,並降低與整合型大型主機 IMS 工作負載相關聯的高成本、限制和剛性。
  • 藉由實作雲端原生解決方案和 DevOps 來減少技術債務。
  • 將 IMS DB 資料提供給非大型主機和雲端式應用程式,包括 AI 和分析應用程式。

潛在使用案例

  • 使用大型主機 IMS 的銀行、金融、保險、政府和零售行業。 其中許多組織會在 IMS DB/DC 上執行其主要 OLTP 和批次應用程式。
  • IBM zSeries 大型主機客戶需要移轉任務關鍵性應用程式,同時與其他內部部署應用程式維持持續性,並避免完全重建的副作用。

考量

這些考慮會實作 Azure Well-Architected Framework 的要素,這是一組可用來改善工作負載質量的指導原則。 如需更多資訊,請參閱 Microsoft Azure 結構完善的架構

可靠性

可靠性可確保您的應用程式符合您對客戶的承諾。 如需詳細資訊,請參閱 可靠性的設計檢閱檢查清單。

  • 此 OLTP 架構可以部署在多個區域中,併入異地復寫數據層。
  • Azure 資料庫服務支援區域備援,而且可以在中斷期間故障轉移至次要節點,或啟用維護活動。

安全性

安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱 安全性的設計檢閱檢查清單。

  • ExpressRoute 會從內部部署提供私人且有效率的 Azure 連線。
  • 您可以使用Microsoft Entra識別碼來驗證 Azure 資源。 您可以使用角色型存取控制來管理許可權。
  • 此解決方案會使用 Azure 網路安全組來管理來自 Azure 資源的流量。 如需詳細資訊,請參閱網路安全性群組
  • 這些安全性選項可在 Azure 資料庫服務中使用:
    • 待用資料加密
    • 動態資料遮罩
    • Always Encrypted 數據

如需設計高度安全數據解決方案的一般指引,請參閱 Azure 安全性建議

成本優化

成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化的設計檢閱檢查清單。

  • 虛擬機器擴展集 藉由將需求不足時執行應用程式的不必要的硬體實例數目降到最低,藉此將成本優化。
  • SQL 受管理執行個體 提供各種定價層,例如一般用途和業務關鍵,可根據使用量和業務關鍵性來優化成本。
  • 使用一年或三年期合約計算的 Azure 保留和 Azure 節省方案可大幅節省隨用隨付價格。 在許多情況下,您可以藉由實作保留實例大小彈性來進一步降低成本。
  • Azure Hybrid Benefit 是一項授權權益 ,可協助您大幅降低在雲端中執行工作負載的成本。 其運作方式是讓您在 Azure 上使用已啟用內部部署軟體保證的 Windows Server 和 SQL Server 授權。

若要估計實作此解決方案的成本,請使用 Azure 定價計算機。 以下是 以合理規模根據此解決方案元件的估計值。

效能效率

效能效率是工作負載調整的能力,以符合使用者以有效率的方式滿足其需求。 如需詳細資訊,請參閱 效能效率的設計檢閱檢查清單。

  • 虛擬機器擴展集 可確保有足夠的 VM 能夠符合任務關鍵性在線和批處理需求。
  • Azure Blob 儲存體 是一種可調整的系統,用於儲存備份、封存數據、次要數據檔和其他非結構化數字物件。
  • 資料庫引擎 Tuning Advisor 會分析資料庫,並提供可用來優化查詢效能的建議。 您可以使用 資料庫引擎 Tuning Advisor 來選取並建立一組最佳索引、索引檢視表或數據表分割區。
  • 延展性 是 PaaS 最重要的特性之一。 它可讓您在需要時動態將資源新增至服務。 您可以使用 Azure SQL 資料庫,輕鬆地變更配置給資料庫的資源(CPU 電源、記憶體、I/O 輸送量和記憶體)。 您可以使用 SQL 受管理執行個體,以最少的停機時間動態將資源新增至資料庫。
  • 記憶體內部 OLTP 是 SQL Server 中可用的技術,SQL 資料庫 可用來優化事務處理、數據擷取、數據載入和暫時性數據案例的效能。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主要作者:

其他投稿人:

若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。

下一步

如需詳細資訊,請連絡 Azure 資料工程師 ing - 大型主機現代化

請參閱隨附架構:

其他相關資源: