Mature software systems are the alter egos of the “Ugly Duckling” story. These systems start as clean, carefully crafted architectural solutions founded on the best of modern design techniques and good intentions. Over time, the purity of the architectural lines gives way to the practical reality of ad hoc extensions that, for the sake of business expediency, are hastily added to the core system structure. There’s nothing wrong with this; after all, real world and fairy tales rarely meet. In the real world, IT systems are built to perform requisite business functions and not necessarily to delight the aesthetical sensibilities of their software architects.
Unfortunately, way beyond architectural aesthetics, there’s a point where these accumulated changes lead to far less efficient application platforms. Like all complex systems, such mature applications need ongoing cleanup and refactoring. Periodically, we need to return to these applications to take a look at the big picture and make necessary adjustments.
This is particularly true for batch cycles. Batch cycles undergo constant alterations as new jobs are being added to address evolving business requirements, changes in the way programs process data, new incoming or outgoing interfaces, and even dramatic changes in the number of transactions processed. When the batch cycle is first established, it tends to have a generous time window and ample CPU resources to spare. However, small changes accumulate and, after years of deployment, the picture changes.
Remember your old college dorm refrigerator? At the beginning of the semester, it contained just a few items, neatly arranged on its shelves. Over time, everyone kept throwing more and more items inside, until one day it become entirely full. Even worse, some packages were left there for a long time and they spoiled. At that point, it was time for a general cleanup. You threw away some of the truly old, green, unclaimed packages and arranged the remaining ones more tightly, and in a more rational way.
Batch cycle management is similar to the dorm fridge. A while back, a user asked for a particular report, which was important at that time, but unnecessary after several years. A few years ago, remote business units asked for a couple more reports, now also obsolete, and so on. We’ve seen batch cycles that produced hundreds of reports that just “killed trees” without any apparent benefits or fulfillment of business needs. Optimizing batch cycles is a double effort: determining from the users what’s really needed and eliminating what’s no longer required. In these situations, you need to actively intervene with full foresight and a well-defined range of preemptive actions.
A new, emerging set of service offerings successfully close the gap in batch cycle management. These service offerings feature sophisticated analytical tools that are based on studies of underlying code semantics and active simulations of dynamic system behavior. Armed with these service offerings, IT organizations can develop proactive strategies for addressing their batch cycle needs. At the core of these service solutions are three types of proactive measures aimed at streamlining your batch cycles: knowledge base, optimization, and prevention. Each measure provides practical value and tangible, clear-cut benefits.
Batch Systems Still the Backbone of Enterprise IT
Batch systems are still very much the backbone of enterprise IT application portfolios, and will continue to support mission-critical components of business computing needs for years to come. However, they’re starting to show their true age. From time to time, these batch systems require both preventive and proactive maintenance and extensive cleanup. Fortunately, a new generation of advanced techniques and tools simplify this task. Deployment of such advanced techniques and tools is imperative for modern IT organizations to achieve optimum results in managing their vast collection of batch applications. ME