2012년 7월 13일 금요일

[DevWorks] Modernized Java-based batch processing in WebSphere Application Server, Part 1: Introducing Modern Batch and the compute-intensive programming model


Modernized Java-based batch processing in WebSphere Application Server, Part 1: Introducing Modern Batch and the compute-intensive programming model


Introduction
Batch programs are a traditional and essential component of any enterprise IT landscape. The current development trend for dealing with batch processing is to leverage in-house Java skills for both online and batch programs to ensure:
  • Maximum re-use of implementation.
  • Easier development and maintenance, as the same sets of tools are used.
  • Consistency in enforcement of enterprise standards and quality of service.
IBM has developed solutions that provide a cohesive batch program management paradigm. The Modern Batch feature for IBM WebSphere Application Server (available in WebSphere Application Server V8, WebSphere Application Server V7.0 Feature Pack for Modern Batch, and IBM WebSphere Extended Deployment Compute Grid V8.0) provides a batch middleware framework that offers:
  • Container managed execution of batch jobs: Provides the structure and support function that Java batch applications require, and helps you avoid the “custom middleware trap.”
  • Job control interface: An XML file that describes the Java class files that are used in a batch step and the steps that are included in the batch job.
  • Job checkpoint and restart capability: Ability to create checkpoints on the basis of record count or time. This enables restarting a job from a known checkpoint.
  • Common batch data stream (BDS): Contains functions that abstract data into easily accessible record formats so that the batch programming can focus on the business functions rather than basic code that reads and writes the data.
Having such a framework in hand provides a welcome alternative to developing custom batch middleware, and permits developers to focus on achieving core business objectives. With Modern Batch, developing batch applications is reduced to simply writing the business logic for the job. This separation of concern between the business logic and the “plumbing” code is an important benefit of the batch framework. It enables a more efficient modularization of batch functions, which permits better re-use, and the ability to expose batch as a modular service.
Modern Batch support two batch programming paradigms:
  • Compute-intensive: For simple jobs that perform computationally intensive work and don’t require restart capability.
  • Transaction batch: For jobs that need a container-managed checkpoint and a restart mechanism. This enables batch jobs to be restarted from the last checkpoint if interrupted by a planned or unplanned outage.
This article looks at the compute-intensive model and presents a sample implementation using new functionality provided in IBM Rational Application Developer v8.
See Resources for more information on the importance of a batch platform, details on the Modern Batch middleware framework, and the role of WebSphere Extended Deployment Compute Grid.

댓글 없음:

댓글 쓰기