現在的位置: 首頁 > 編程語言 > 正文

Modern Batch和計算密集型的編程模型怎麼批量處理

2020年06月08日 編程語言 ⁄ 共 1845字 ⁄ 字型大小 評論關閉

  批處理程序是任何企業IT領域的一個傳統且不可或缺的組件。目前的批處理髮展趨勢是將內部的Java技能應用於在線程序和批處理程序上,以確保:最大限度地提高實現的重用。下面學步園小編來講解下ModernBatch和計算密集型的編程模型怎麼批量處理?

  ModernBatch和計算密集型的編程模型怎麼批量處理

  更輕鬆的開發和維護,因為使用了相同的工具集。

  企業標準和服務質量實施上的一致性。

  IBM開發的解決方案提供了一種具有凝聚力的批處理程序管理模式。IBMWebSphereApplicationServer的ModernBatch功能(可用於WebSphereApplicationServerV8、WebSphereApplicationServerV7.0FeaturePackforModernBatch和IBMWebSphereExtendedDeploymentComputeGridV8.0中)提供了一個批處理中間件框架,提供了:

  容器管理的批處理作業執行:提供了Java批處理應用程序所需的結構和支持功能,幫助您避免「自定義中間件陷阱」。

  作業控制介面:一個XML文件,描述一個批處理步驟中使用的Java類文件和批處理作業中包含的步驟。

  作業檢查點和重新啟動功能:能夠在記錄數量或時間的基礎上創建檢查點。這支持從一個已知的檢查點重新啟動一個作業。

  通用批處理數據流(BDS):包含將數據抽象為容易訪問的記錄格式的功能,使批處理編程能夠重點關注業務功能,而不是讀取和寫入數據的基本代碼。

  擁有這樣一個框架,可為開發自定義批處理中間件提供一種不錯的替代方法,允許開發人員將精力集中在實現核心業務目標上。使用ModernBatch,可以將批處理應用程序的開發精簡為編寫作業的業務邏輯。這種業務邏輯與「管道」代碼之間的關注點分離是批處理框架的一個重要優勢。它實現了批處理功能的一種更有效的模塊化,這支持更有效的重用,能夠將批處理公開為模塊化服務。

  ModernBatch和計算密集型的編程模型怎麼批量處理

  ModernBatch支持兩種批處理編程模式:

  計算密集型:適用於執行計算密集型工作,且不需要重新啟動功能的簡單作業。

  事務批處理:適用於需要一個容器管理的檢查點和一種重新啟動機制的作業。如果因為計劃或未計劃的斷電而中斷,這支持批處理作業從上一個檢查點重新啟動。

  本文分析計算密集型模型並提供一個示例實現,該實現使用了IBMRationalApplicationDeveloperv8中所提供的新功能。

  計算密集型的編程模型

  計算密集型的編程包含以下元素:

  控制器bean:一種無狀態的會話bean,支持運行時環境控制應用程序的作業。此無狀態會話bean(CIControllerBean)的實現由應用伺服器提供。

  作業步驟實現類:作業步驟表示作業將執行的業務邏輯。它由一個實現com.ibm.websphere.ci.CIWork介面的類的實例表示。CIWork介面包含以下方法:

  run()方法將在CI作業運行時執行。

  getProperties()和setProperties()方法用於通過來自客戶端的屬性獲取輸入值。

  定義xJCL文件。

  創建實現CIWork介面的Java類,包含將對每個作業步驟執行的業務邏輯。

  使用指向com.ibm.ws.ci.CIControllerBean的無狀態會話bean將CIWork適當地包裝為實現類。

  在構建示例計算密集型作業之前,一定要先理解計算密集型應用程序在運行時期間的行為。總之,發生的事情是:應用伺服器使用xJCL文件查找並調用控制器bean。bean讀取xJCL文件,對於xJCL中的每個作業步驟,bean將執行以下操作:

  使用CIWork類的無參數構造函數實例化應用程序CIWork對象(由作業步驟的xJCL中的類名稱元素指定)。

  調用CIWork對象的setProperties()方法傳遞作業步驟的xJCL中定義的任何屬性。

  查找在企業bean模塊的部署描述符中定義的工作管理器,使用它非同步調用CIWork對象的run()方法。

  有了對編程模型的這一理解之後,讓我們看看開發計算密集型應用程序的步驟。

  以上就是關於「ModernBatch和計算密集型的編程模型怎麼批量處理」的內容,希望對大家有用。更多資訊請關注學步園。學步園,您學習IT技術的優質平台!

抱歉!評論已關閉.