Process decomposition
Process decomposition involves breaking down complex programs or scripts into smaller programs with a clearly differentiated functionality.
Complex, long-running processes
Large and complex programs, usually with long runtimes, are used in many IT environments to perform night-time or background processing tasks. Once they have been started, these programs run completely under their own control. Monitoring the program progress and pinpointing the causes of errors that occur usually involves considerable time and effort. Restarts following error situations are often possible only to a limited extent, or the entire program has to be restarted. If an error occurs during the final processing after 3 hours' runtime, it may be necessary to wait for another 3 hours again. Overall, these large and complex programs incur high development, maintenance and operating costs.
Split up and control
Process decomposition creates smaller, more manageable programs with a shorter runtime which can be used with greater flexibility. The clearly defined functionality of these programs cuts down the development and maintenance overheads. Monitoring, troubleshooting and restarting are simplified, and the potential for parallel processing and load balancing on multiple systems can be much more easily exploited. To take full advantage of the capabilities of process decomposition, an optimum granularity of the sub-processes has to be achieved, and their code must be completely free of all aspects of the sequence control.
Controlling
Where inadequate operating system tools (e.g. cron) or job scheduling frameworks with insufficient functionality are being used to control the interaction of individual programs, aspects of the sequence control have to be implemented in the programs themselves, or the sequence needs be controlled using a superordinate program or script. Doing this significantly negates the benefits of process decomposition, however, and high development overheads, the loss of centralised control and a lack of transparency are the result.
To utilise the full potential of process decomposition, a job scheduling framework needs to be developed that meets all the sequence control requirements. Developing such a framework consumes substantial costs, however, and it often takes years to attain a level of maturity capable of handling all the requirements with adequate stability. The in-house development of such a framework is therefore never a practicable solution.
Job scheduling systems
A job scheduling system is expedient for controlling and automating the programs resulting from process decomposition. The purpose of the job scheduling system is to run processes at the 'right' time taking into consideration resource utilisation and availability, dependencies and priorities. It must be possible to monitor sequences and processes and to continue operating during exceptional or error situations, or after they have been remedied. To fulfil the purposes of process decomposition requires the capability to map all the pertinent constructs of the program logic in the job scheduling system. Indeed, the lack of a suitable job scheduling system frequently gives rise to the very complex programs with long runtimes which then have to be countered with process decomposition.
BICsuite
The requirements for process decomposition were incorporated in the BICsuite and schedulix Workload Automation Systems right from the design stage. All the sequence control constructs required for implementing process decomposition are provided by BICsuite and schedulix:- Variables and parameters
- Sequential processing
- Branching
- Loops
- Parallelisation and synchronisation
- Exception handling
- Modularisation
The BICsuite and schedulix Workload Automation Systems as a central element of the IT software infrastructure provides optimum support for process decomposition and takes the entire IT process automation environment up to a new level.
Discover the Highlights
Learn more
Browse our growing collection of articles, explainer videos, and tutorials to discover practical insights and best practices for workload automation with schedulix and BICsuite.
ExploreAny questions?
Please feel free to reach out to us if you have any questions or require further information. Our team is here to assist you.
Contact us