bmap4j - Batch Management And Processing For Java

xinventa logo

Fundamentals

de

Batch Transaction Processing Fundamentals

Transactions

Transactions are the corporate IT's "elixir". They ensure consistency of the corporate data by using their inherent characteristics, the so called ACID-characteristics (Atomicity, Consistency, Isolation and Durability).

Transaction Processing Platforms

For a long time, transaction processing was reserved to the mainframe environment and even today the IBM host plays a major role in e.g. the banking and insurance industry.

There are many reasons for this situation:

  • The host offers a technology that has been reliable for decades.
  • The transaction awareness both in development and in operations is well established.
  • There is a continuous maintenance of know-how in the area of transaction processing in the mainframe environment.

Although there is a noticeable migration towards modern application platforms like Java EE, the missing modularity as well as the large number of existing programs act as inhibitor in many enterprises. If you add a possibly underdeveloped awareness for the requirements of transaction processing for the development on the new platform, a previously contemplated migration path might oftentimes not be pursued later.

Batch Programs

Batch programs usually process a large number of simple business cases. In the batch processing context a simple business case is the atomic unit, through which the data consistency needs to be assured. Oftentimes a simple business case is also termed as a record, which states nothing about the complexity of the involved data manipulation. Examples of simple business cases / records are (in ascending complexity):

  • Simple database row update
  • Entity model adjustment for ERP or CRM systems
  • Recalculation of all policies of a specific client

Basically a batch comprises the number of records of a single job. However, oftentimes the term is used as a synonym for (batch-)program or (batch-)job.

BTP and OLTP Sytems

Batch programs require a runtime environment in which they can be implemented in. This runtime environment usually provides various basic services, that are required for the batch processing. One of those services for instance is the transaction service. The program in combination with the basic services of the runtime environment forms the Batch Transaction Processing (BTP) system.

Those BTP systems are in contrast to the OnLine Transaction Processing (OLTP) systems for the following reasons:

  • The BTP programs in many cases run outside of office hours or so-called online hours respectively.
  • Depending on the size of the company, those batch jobs can be run without "monitoring".
  • The processing in those cases can usually not be associated to one functional user.
  • And, depending on the technical functionality of the program, the job duration can at times be very crucial.

To be able to comply with the specifications regarding the duration, a high-performing and scaleable environment has to be provided.

In addition, the first three points require the traceability to be stressed accordingly during the development of BTP programs.

And lastly, a BTP system also needs to fulfill a broad spectrum of reliability and robustness requirements, due to the batch programs being in many cases part of business critical processes.

An adequate architecture helps with the realization of a powerful BTP system and ensures its safe operation in the long term.