Writing JSDL definitions with the Job Brokering Definition Console
The Job Brokering Definition Console provides an easy-to-use graphical interface that helps you create and edit JSDL job definitions for use with HCL Workload Automation.
The Job Brokering Definition Console graphical interface helps you create and edit job definitions based on the Job Submission Definition Language (JSDL) schema. Each text field in the Job Brokering Definition Console corresponds to an element or attribute in the JSDL file and vice versa. You can use the Job Brokering Definition Console to create existing job types. If you need to create job types with advanced options, use the Dynamic Workload Console or composer command.
The Job Brokering Definition Console simplifies the task of creating a JSDL file by hiding the complexity of the file itself and validating the file structure against the JSDL schema. Information defined in the Job Brokering Definition Console is automatically converted to the corresponding element or attribute in the JSDL file.
You can save a JSDL file locally or upload it as a job definition in the Job Repository where it becomes available for submission. When you save the file in the Job Brokering Definition Console, the JSDL file is checked against an .xsd file provided with the product installation which contains the syntax rules. A message is displayed if a syntax error is encountered in the JSDL file, allowing you to correct the error.
The Job Submission Description Language (JSDL) is an XML-based language used for specifying the characteristics and requirements of a job, as well as instructions on how to manage and run it. These include the following:
- Job identification information
- Program running information
- Resource requirements
- Scheduling and running requirements
- Resource quantity to be allocated or required
- Logical allocation of the resource quantity
Selecting target types
- Resources
- A resource is a computer system. You can use this resource type to define a basic requirement for your job.
- Related resources
- A related resource is a set of resource types. You can use this
resource type to define a basic requirement for your job. A related
resource includes the following resource types:
- A set of hardware and software properties of a computer such as operating system, file system and network system.
- Logical resources and logical entities that can be associated to one or more computers to represent applications, groups, licenses, servers and so on.
- You can specify related resources as an additional requirement adding to the resource requirement. In this case, you must create a relationship between the resource and the related resource.
- You can use the related resource to indicate that the presence of a certain resource in your environment is a co-requisite for running the job. In this case, you must not create a relationship between the resource and the related resource. A related resource having no relation to a resource is a global resource. For example, if you want to move a file from resource A to resource B, resource B is a co-requisite for running the job which moves the file. Computers can only be defined as global resources.
Selecting resource types
Resource Type | Available properties | Is consumable | Can be optimized | Supports wildcards |
---|---|---|---|---|
ComputerSystem | CPUUtilization | No | Yes | No |
HostName | No | No | Yes | |
Manufacturer | No | No | Yes | |
Model | No | No | Yes | |
NumOfProcessors | Yes | Yes | No | |
ProcessingSpeed | No | Yes | No | |
ProcessorType | No | No | No | |
LogicalResource | DisplayName | No | No | Yes |
SubType | No | No | Yes | |
Quantity | Yes | Yes | No | |
OperatingSystem | DisplayName | No | No | Yes |
FreePhysicalMemory | No | Yes | No | |
FreeSwapSpace | No | Yes | No | |
FreeVirtualMemory | No | Yes | No | |
OperatingSystemType | No | No | No | |
OperatingSystem Version |
No | No | No | |
TotalPhysicalMemory | Yes | Yes | No | |
TotalSwapSpace | Yes | Yes | No | |
TotalVirtualMemory | Yes | Yes | No | |
FileSystem | DisplayName | No | No | Yes |
FileSystemRoot | No | No | Yes | |
FileSystemType | No | No | No | |
FreeStorageCapacity | No | Yes | No | |
TotalStorageCapacity | Yes | Yes | No | |
NetworkSystem | NetworkAddress | No | No | No |
NetworkSystem HostName |
No | No | Yes |
When you define the requirements for a job definition, you can define the amount of a consumable property which will be allocated to the job. When a resource property is allocated to a job, the amount you specify is logically reserved for the job. If another job is submitted which allocates a value greater than the remaining capacity of the same consumable property, this job cannot run on the same resource as the previous job because the required property is already reserved. If no property allocation is specified in the job definition, the job can run on the same resource as the previous job because the allocation mechanism applies only if both jobs allocate the same property.
You can use the allocation mechanism to limit concurrent use of the same quantity by several jobs and improve system performance.
To allocate a property for a job, use the allocation element in the JSDL file or the Software Requirements and Hardware Requirements tabs in the Job Brokering Definition Console.
This allocation type applies to computer systems. To allocate a property for a resource other than a computer system, you define the resource whose property you want to allocate in the Related resource pane and define the allocation setting for one or more of its properties. You then define a relationship between the resource and the related resource you created. In this way you define the related resource and the allocated property as a requirement for the job to run.