RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


High-volume Transaction Processing in J2EE

If your core business requires recurring high-volume transaction processing, you need to reconsider your batch-processing strategy. Learn how to leverage J2EE distribution and transaction control to achieve reliable, scalable, and efficient processing over large data sets.

o you thought batch programming had died and gone the way of the COBOL dinosaur. Think again. Despite the trends toward real-time solutions, companies still run essential business processes using batch technologies—and with good reason. Batch processing has its place, and it's not just within legacy systems. Some problems just aren't suited to the trendy on-line, real-time solutions. High-volume business processes, such as bulk data upload and downloads, data cleansing (ETL— Extract, Transform, Load), file import and export, billing and letter, statement and report generation, are typically best performed as batches.

Identifying Batch Scenarios
Batch processes are not typically associated with J2EE architectures. But this doesn't mean that J2EE can't cut it—quite the contrary. Rather, when to apply a batch solution and how to implement it in the context of J2EE are generally misunderstood.

To understand whether you have a potential batch scenario, first examine your business problem for a few tell-tail indicators. For example, does your business function fall into one or more of the following scenarios:

  1. Not required to be triggered or processed in real-time
  2. High volume, involving thousands, hundreds of thousands, or millions of data rows or transactions
  3. Computationally expensive, and you don't want this cost to be part of your on-line application
  4. Unable to be triggered by a particular user action as the data is incomplete or unstable; Data stabilises after the fact or when some other business process occurs
  5. Triggered by a high-level, overarching business or time-based event

If it does, you have two choices:

  1. Batch processing: Use batch processes to process the work off-line.
  2. Real-time asynchronous processing: Use fine-grained timers or asynchronous event triggers (such as JMS) to pass responsibility from on-line to back-end functions.

Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date