现在的位置: 首页 > 编程语言 > 正文

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技术的优质平台!

抱歉!评论已关闭.