Automation is taking over the world in a big way. Organizations across industry verticals are constantly exploring ways to improve business performance at lower operational cost. The idea is to automate legacy applications, repetitive tasks, manual data entry functions, etc. that otherwise consume a lot of time.
There are several APIs in the market that cater to the rising demands of the organizations to handle routine, monotonous, high-volume tasks with zero errors. Control-M is one such tool in the market that is highly popular for managing workload in organizations.
This is a two-part series wherein we will cover all aspects of Control-M automation API. In this part, we are introducing the Control-M automation API.
Control-M, an acclaimed product from BMC, is a workload automation tool that integrates the batch workload processes to a single point of control with cross-application and cross-platform scheduling capabilities. It is packed with business logic that accelerates delivery of digital services and increases the quality of service offered to the business users, with high availability up to 99.2% uptime & SLA terms.
With Control-M we can achieve:
- Faster & cost-effective workload management with an exclusive architecture that supports growth and provides unmatched integration with legacy & modern infrastructure setup.
- Lesser number of failures and delays triggered by manual processes with a single, user-friendly scheduling interface — irrespective of the platform or application.
- Elimination of multiple toolsets and staff resources by automated scheduling processes that can help us manage priorities according to business needs.
Control-M delivers self-service, programmatic interfaces to developers and DevOps engineers to build ‘jobs-as-code’ using JSON for job definitions, GIT and RESTful APIs for validation, configuration, and deployment. The approach enables the development of capabilities, such as SLA management, maintained scheduling, and flow control from scratch. The capabilities are then used when the applications are performing as they are automatically deployed in development, testing, and production environments.
Working with Control-M
We can manage workflow as a code using Control-M API, similar to the way modern configuration management solutions manage infrastructure as code. The execution of batch jobs is actually managed by Control M through its GUI & CLI (Command Line Interface).
We can use a CLI or the REST API to build & test jobs against an existing Control-M setup. A local workbench provides adaptability for job flow unit testing functions, which are a part of the complete set of Control-M capabilities. After preparing the flows, check in them into the source control system with other project files. Control-M schedules and operates on the most recently deployed build flows.
Components of Control-M
While working with Control-M Automation API, it is crucial to be well aware of Control-M components to be able to use them further for automation. Here are some of the components of Control-M:
- Host groups
Jobs are the basic execution unit of Control-M and each has several attributes, such as:
- Type: script, command, Hadoop/Spark, file transfer, database, etc.
- Executing location: host
- Owner: connection profile or run as
- Schedule: scheduling criteria
- Dependencies: a specific job must be completed, a file must arrive, etc.
All the jobs in Control-M exist in folders that also comprise scheduling criteria, dependencies and required instructions for all the jobs in the folder. All these entities are defined in JSON format.
Control-M/Server is the scheduling engine of Control-M. After reading all the job definitions for the day, it begins to monitor all jobs scheduled to start on that day. If the scheduling criteria and dependencies are met, the server submits them to run on Control-M/Agents.
The Control-M/Agents exist in the application hosts and we can group them into a host group. When a job is specified to run on a host group, the Control-M/Server balances the load by directing jobs to the different hosts in the host group.
Control-M Automation API decentralizes access to Control-M functionalities and provides them to the developers for direct use. REST API HTTP endpoint enables access to Control-M when using the Control-M Automation API.
Installing Control-M Automation API
There are two ways to install the Control-M Automation API.
- Install the Control-M Workbench that includes the Control-M REST API. The Control-M Workbench provides a development environment that enables developers to build, run, and test job flows. Using Workbench enables changes and validation to the changes without influencing the work of other stakeholders.
- The standard installation of Control-M REST API is available in the Control-M/Enterprise Manager.
In addition to the option of sending REST API requests, we can use Control-M API commands via a command line interface (CLI). We can get the Control-M Automation CLI as a Node.js package for installation.
Final Few Words
The biggest benefit of automation is that it digitalize business processes, which results in reduced cost, improved process and QoS. Control-M automation API is a stepping-stone to orchestrate workflows and ensure they remain relevant in the future.
While we have learned about the basis of Control-M, our next post will cover a more comprehensive overview of Control-M.
That is it from us!
Until next time.
- A Glimpse Into the World of Data Science – Part I
Data is sleepless and it is being generated rapidly. How much data does each one of us generate every day? Enormous! From tweets and swipes to video calls to likes…
- An Insight into the World of Datorama
Gartner marketing analytics research highlights that in 2017-18 about 9.2 percent of marketing budgets were consumed by marketing analytics alone. However, a majority of marketing teams continue to wrangle data,…
- AI in Banking(2) – Chatbots
Hello readers, as promised, we are here with our 2nd blog in the series of blogs on “AI in Banking and Financial Services”, focusing on Chatbots. As discussed in the…
- Teradata Intelligent Memory (TIM)
Overview of Teradata Teradata is a RDBMS (Relational Database Management System). This system is solely based on off-the-shelf (readymade) symmetric multiprocessing (SMP) technology combined with communication networking, connecting SMP systems…
- jBPM with Human Task
jBPM is a flexible Business Process Management (BPM) Suite, fully open-source and written in Java. It allows one to model, execute, and monitor business processes throughout their life cycle. Business…
- Working with SQL Server Database on Microsoft Azure (Part 2)
The huge volume of data generated around us, today, requires optimum storage and management to have any benefit for organizations. With a host of advantages that MS Azure possesses, especially…