Monday, February 19, 2007

Enterprise Schedulers in SOA environment

In my current assignment, I have been asked to write a small design/approach document to use a Enterprise Scheduler for the current project. This project being developed using SOA principles. The current environment consists of J2EE application servers and BPEL runtime engine, and Enterprise database servers and miscellaneous COTS (Commercial Off The Shelf), products.

Most the of work driven in batch mode, handling lot of flat files which consists of transactions (some in EDI format). It's tough to envision, how schedulers would fit to SOA based solutions. Since most the SOA based solutions (for that matter J2EE based solutions), are modeled as event driven.

Schedulers would work on time based, e.g. Run xyz process at 8PM everyday. In order to have a smooth play in SOA environment, we have to modify scheduler as a service. Two things here 1) Enterprise components accessing scheduler to add/update a task Meta data (when to run, credentials, log information, additional restart logic), or 2) Scheduler accessing Enterprise components to initiate a business process.

In my opinion we shall emphasis more on point 2, i.e., How to initiate a business process using a Enterprise Scheduler.

Thanks to modern schedulers, most of the schedulers (BMC Control-M, Autosys or open source scheduler Quartz), supports Web Services. If you expose your business process as a web service, schedulers can call that service using standard WSDL interface.

No comments: