SOA's final frontier: Can we, should we, service-orient batch processing?

SOA's final frontier: Can we, should we, service-orient batch processing?

Summary: While analysts and pundits have been talking about the real-time enterprise for almost a decade now, many organizations still rely on batch processing to move data between applications.And that's okay.

SHARE:

While analysts and pundits have been talking about the real-time enterprise for almost a decade now, many organizations still rely on batch processing to move data between applications.

And that's okay.  In fact, there's still a place for batch processing within the SOA world.

As ZapThink's Ron Schmelzer put it in a recent note, batch processing, often thought of as an artifact left over from the legacy days, plays a vital role in systems that may have real-time processing up front. As he observed, "behind the real time systems that power the real time enterprise... are regularly-updated back office business systems. Batch processes remain essential for one key reason: it is simply not efficient to regenerate a complete forecast or business plan every time the business processes a single event such as an incoming customer order."

However, batch jobs -- at one time predictable in their frequency, occurring noghtly or even quarterly, may need to be available on more of an ad-hoc, on-demand basis. SOA can play a role here, invoking batch jobs as a service, Ron explains:

"Enterprises can evolve batch workloads from standalone data center operations to components that are intrinsic to composite, Service-Oriented Business Applications. Where workload automation and batch processing were once arcane tasks relegated deep in the organization, they become critical services delivered as part of the Enterprise Architecture."

Gartner's Dale Vecchio also said there are times when it makes sense to apply SOA to batch applications:

"As organizations continue to evolve their application portfolios to leverage packaged software and new development, business rules will move to a myriad of places. Reusing those newly located business functions in batch jobs can make sense. For example, organizations faced with changes driven by government legislation often struggle with how to implement the changes, particularly when the data in question is processed in a batch mode."

The bottom line is SOA is technology agnostic, and is designed to create flexible services from any and all computer infrastructures -- be they real time or batch mode.

Topics: Software Development, Browser, Data Centers, Enterprise Software, Hardware, Software, Storage

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

2 comments
Log in or register to join the discussion
  • Batch is a characteristic of a service interface/operation

    The steps for SO are generally:

    1. Identify services via analysis. Usually this is business function driven rather than software application driven. In other words, looking at existing apps for candidate services is usually backwards--don't look at an existing batch app and say "that's a service."

    2. Define the operations the service is to provide.

    3. Define the interfaces (data format, communication channel, etc.) to use those operations.

    The interface, part of the agreement between provider and consumer, can be 1 item at a time or 100 thousand.

    Steve Jones and I had a discussion about this on the Y! SOA group. He feels that batch is different enough that it deserves its own service (though hidden behind a higher-level service). IMO, it doesn't. Whether a service accepts 1 sales order or 1000 in call to an operation, it is still the same sales order service.

    As always, there are differing opinions.
    reamon@...
  • Another viewpoint

    Another view of batch, rather than as a characteristic of a service interface, is as service consumer. Much like UI applications are not services themselves but they consume services, so too can batch apps be viewed. The batch app isn't a service, but calls service providers to do the work. This seems to match what Vecchio was stating.
    reamon@...