This document describes best practices for designing Control-M job types with Application Integrator, and submitting jobs types to the online hub.
Job type requirements definition
- Identify the use cases that you would like to automate
- Analyze security requirements for integration with the application
Job type design
- Research the application you are automating to find interfaces that will allow you to implement the use cases
- Structure the operations that your job will need to perform
- If there are initialization operations, such as log in that returns a session ID, you might want to define them as a Pre-Execution operation
- If there are finalization operations, such as clean up or log out, you might can define them as a Post-Execution operation
- The Execution operation(s) should contain the core of your job type logic.
Note that you can have more than one Execution operation, which will be executed sequentially. If you are using command line interface to interact with the application, although you can define multiple commands in one execution operation, it would be a better practice to define separate logical execution steps, in order to make your job type clearer and well designed.
- Decide whether your job type will execute in synchronous or asynchronous mode, i.e. if the execution ends when the application API returns or if it returns immediately and requires additional application calls to determine the execution completion. For this you will need to define “Job completion verification” in the Execution operation
- Decide if you need to track the progress of the execution and show the progress in the Control-M user interface while the job is running. For this you will need to define “Runtime information capture” in the Execution operation.
- Decide if you need a custom abort operation for your job type (default abort operation in Control-M is done by killing a running process of a job). For this you will need to define “Manual abort” for the Execution operation
- Decide what the parameters that should be exposed to the user as a part of the job definition are. You will create them in the Job Properties designer section
- Decide what parameters are needed to interact with the application and can be define on a system level (not per job), for example application host, port, username, password, executable path, etc. You will create them in the Connection Profile designer section
Job type implementation
- Create the job type operations, define job properties and connection profile fields according to the design you’ve done in the previous step
- Give operations meaningful names and fill the description. It is important that your job type is not only functioning well, but is also well documented.
Job type deployment
- When you are ready with the implementation, you can deploy the job type to the Control-M environment
- You can choose the Control-M Agent where you want the job type to be deployed (note that Application Integrator backend component has to be installed on that Agent).
At first, deploy the new job type to the test environment Agent, where you can experiment with your job type before publishing it to all the users and to the production environment
Job type sharing on BMC Application Hub
When sharing your job type, it is important to provide relevant, detailed and accurate information about the job type, so that other community users will be able to benefit from your contribution.
Before sharing the job type, make sure you tested it, verify that it doesn’t contain any malicious content or personal information about you or your company that you didn’t intend to publish.
To share your job type:
- In the Application Integrator web designer, select the desired job type and export the job type to a file
- Log in to BMC Application Hub at www.bmc.com/hub
- Select “Upload a file” option in the “Actions” area
- Browse for a job type file that you exported via the Application integrator designer
- Provide the information about your job type according the instructions that appear in the “New Job Type Template” on the Application Hub.
- Publish the job type
If have any questions on any specific job type, you can contact the contributor directly or post your question as a comment to the job type content item.
To start a discussion or ask a general question related to the Application Integrator or Control-M in general, post your topic in the Control-M Community.