1. Services in T24 are background processes that can be executed continuously or once to perform tasks like backing up data or interacting with other systems.
2. Services are controlled using the TSA.SERVICE application and must be defined as multi-threaded routines in the BATCH application with matching IDs.
3. The tSM program manages services by assigning tasks to multiple tSA programs that each execute one copy of the service routine.
1. Services in T24 are background processes that can be executed continuously or once to perform tasks like backing up data or interacting with other systems.
2. Services are controlled using the TSA.SERVICE application and must be defined as multi-threaded routines in the BATCH application with matching IDs.
3. The tSM program manages services by assigning tasks to multiple tSA programs that each execute one copy of the service routine.
1. Services in T24 are background processes that can be executed continuously or once to perform tasks like backing up data or interacting with other systems.
2. Services are controlled using the TSA.SERVICE application and must be defined as multi-threaded routines in the BATCH application with matching IDs.
3. The tSM program manages services by assigning tasks to multiple tSA programs that each execute one copy of the service routine.
1. Services in T24 are background processes that can be executed continuously or once to perform tasks like backing up data or interacting with other systems.
2. Services are controlled using the TSA.SERVICE application and must be defined as multi-threaded routines in the BATCH application with matching IDs.
3. The tSM program manages services by assigning tasks to multiple tSA programs that each execute one copy of the service routine.
understand the concept of services in T24. SER1.Services In T24-R10.01 1 understand the concept of services in T24. After completing this learning unit/course, you will be able to: SER1.Services In T24-R10.01 2 Differentiate between Phantoms and Services in T24 Understand how a service works Many software in the market, have processes that need to be run without user intervention. The processes may vary from simple jobs of backing up historical data to clearing of SER1.Services In T24-R10.01 3 The processes may vary from simple jobs of backing up historical data to clearing of temporary files or as important as interacting with interfaces to another system. These processes may be required executed once a day or may be required to be executed continuously for a period of time. T24 is no different and also has a number of these background processes. In the T24 releases prior to R05, these were called Phantoms. They were subroutines created in jBASE BASIC using T24 APIs if required and could be executed once or in an infinite loop until manually stopped. This was handled via an application called EB.PHANTOM. This application was used to start and stop the processes. With the introduction of multi threaded programming in release R05, this application can not be used if the background process is multi threaded. This application is not obsolete and can still be used if required. 1.Services are also background processes in T24. But they are multi threaded. 2.They too can be executed just once or in an infinite loop until manually stopped. 3.Services are controlled using an application called TSA.SERVICE SER1.Services In T24-R10.01 4 1 A service must be multi threaded, otherwise it must be run as a phantom. A multi threaded routine consists of the following components. A LOAD routine to load common variables routine consists of the following components. A LOAD routine to load common variables used in the subroutine, a SELECT routine to select the Ids to be processed, a record routine which contains the logic to process each id selected and finally an insert file defined for the routine. 2 Each multi threaded routine in T24 must have a PGM.FILE entry with TYPE = B which stands for BATCH. 3 Each B type routine has an entry in the BATCH application, and a service is no different. A service could be made up of one multi threaded routine or multiple routines that must be run in an order. You will use the BATCH record to define this order using the JOB field. The BATCH record that you will create will NOT have a BATCH.STAGE defined as this record must NOT be picked up during COB. 4 Finally, you must create a record in the application TSA.SERVICE. The ID of the record must match the BATCH record Id. Why is this? This is because when you start off a service, T24 looks for a record in the BATCH application and then finds out which routine it must execute in the background. SER1.Services In T24-R10.01 In this learning unit, an existing service called BNK/SWIFT.OUT is used as an example. The screen shots above show the identical TSA.SERVICE and BATCH record Ids. screen shots above show the identical TSA.SERVICE and BATCH record Ids. From the BATCH record, you can find out the actual name of the multi threaded routine and check its PGM.FILE entry SER1.Services In T24-R10.01 TSA.SERVICE is the application where all services are defined and controlled by the end user. user. ID: The id of the service record must match a record in the BATCH application. DESCRIPTION : This field holds the description of what the service is used for. SERVER NAME : This field holds the IP address or the host name of the server where the current service needs to be executed. This will be used on in a multi application server architecture. The whole idea behind a service is that you will have multiple copies of the process running so that the load can be shared. How many such copies do you want running? That is defined in the field WORK PROFILE. This field holds the ID of the record in TSA.WORKLOAD.PROFILE application which defines the number of copies that will actually execute. USER : This field should hold a valid T24 user name, whose details are used to update the audit fields of records that get created or updated by the service. SERVICE CONTROL : This field can hold three values AUTO, START and STOP. STOP can be set in this field to stop the service when it is executing. You will learn about the other fields in the next few slides. SER1.Services In T24-R10.01 7 1. With the advent of multi threading in T24, two new programs (they are not subroutines) have been coded to execute services. They are tSM and tSA. have been coded to execute services. They are tSM and tSA. 2. tSM is stands for T24 Service Manager and tSA stands for T24 Service Agent 3. The tSA program is in charge of actually executing the service(s). Each copy of the program executed, in turn executes one copy of the assigned service. 4. Since multiple copies of the tSA program can execute only ONE tSM program executes to take care of the entire situation. You will now see how a service is executed so that this slide makes more sense. 8 SER1.Services In T24-R10.01 You must first turn the service on using the SERVICE.CONTROL field in TSA.SERVICE. This change must be authorised. You must remember that this action does not start off the This change must be authorised. You must remember that this action does not start off the service in the background. Its only a flag to say that the service will be picked up and executed. You must then start the tSM program. This can be done only from the jBASE prompt. This will cause all service records with either START or AUTO to be picked up to be started. SER1.Services In T24-R10.01 Start the tSM by using START.TSM at the jBASE shell prompt. You have two options when starting the tSM to start it in DEBUG mode or to leave out the DEBUG option. starting the tSM to start it in DEBUG mode or to leave out the DEBUG option. The DEBUG option allows you to manually start tSAs to execute your service. In the screen shot above, OFS.MESSAGE.SERVICE has one tSA assigned to it, but SWIFT.OUT has two. How is this possible? When defining a service in TSA.SERVICE, the field WORK.PROFILE links to an application TSA.WORKLOAD.PROFILE where you can define how many tSAs are required. Each tSA represents one copy of your multi threaded service being executed. Now in the screen shot above, you must understand that the services have not been started as yet. 10 SER1.Services In T24-R10.01 TSA.WORKLOAD.PROFILE is the application which defines the number of tSAs required. The ID of a record in this application can be any alphanumeric text. The ID of a record in this application can be any alphanumeric text. The number of agents in TSA.WORKLOAD.PROFILE can be set based on time if required. TIME and AGENTS.REQUIRED : These fields are associated multi value set which holds the specific time and the number of agents required at that point in time. The number of agents that can run on server is directly proportional to the number of processors available. Just because T24 supports multi threaded services doesnt mean you can start a 100 tSAs in the background. It will kill the server. The thumb rule to be followed is a maximum or 2 tSAs per processor available. SER1.Services In T24-R10.01 11 After the agents are assigned jobs, in DEBUG mode, type tSA <agent number> at the jBASE shell prompt to actually start the agents to the service. After the job is finished jBASE shell prompt to actually start the agents to the service. After the job is finished successfully, a message Agent Stopped will be displayed and the cursor will go back to jBASE shell prompt. When a service stops, the field SERVICE.CONTROL is set to STOP automatically. SER1.Services In T24-R10.01 12 Services can be configured as a periodic activity using the FREQUENCY field. This field holds a value in the format holds a value in the format Date Time Frequency- where, Date is the system date which is entered in T24 date format Time is entered in the format HH:MM(T24 hour format) Frequency is entered in the format 1D,2D etc., EXAMPLE : 20100215 14:00 1D TSM would normally build the service profile only for the services which are set to START or AUTO. But when the frequency is specified for the service and SERVICE.CONTROL is set as STOP, the TSM would check whether the specified frequency has been reached taking into account the time as well as frequency and would start the service. When the service is stopped, the frequency would be cycled to the next date. This field is not allowed for an AUTO service. The service control cannot be changed if the frequency is present. This is mostly using for archiving. SER1.Services In T24-R10.01 1. To configure services as a periodic activity, input a date, time and frequency when the service has to be started in the corresponding TSA.SERVICE record. Note that the service service has to be started in the corresponding TSA.SERVICE record. Note that the service control for the service PW.MAPPING is set to stop. The frequency configured for PW.MAPPING service is 20100216 11:35. The TSM has been started in interactive mode. The time when the TSM is started is 11:32 on 16 th Feb. SER1.Services In T24-R10.01 14 TSM builds the service profile for all services with service control set to STOP and which have a FREQUENCY set. Once the time as specified in the frequency field of the service have a FREQUENCY set. Once the time as specified in the frequency field of the service has been reached, TSM automatically sets the service control for the service to START and prompts the user to launch the required agents for the service(in DEBUG mode). Once the service has stopped, the service control for the service is set back to STOP and the FREQUENCY gets cycled. SER1.Services In T24-R10.01 15 After the agents actually start performing the service, if you wish you have a look at the status of the agents, an application TSA.STATUS can be used. If you list this application, all status of the agents, an application TSA.STATUS can be used. If you list this application, all the services that are to be executed by the agents will be displayed. The ID of the record in this will be the agent number. SER1.Services In T24-R10.01 16 You know tSM launches and controls the tSAs. How does an end user know what is happening with the tSAs? Use the enquiry AGENT.STATUS happening with the tSAs? Use the enquiry AGENT.STATUS Agent ID is the allocated Agent Number for the service T24.SESSION.NO is updated with a unique number that identifies every session in T24. A number between 1 -99999 is allocated when a session is started in a port to uniquely identify that particular session in T24(both for online and COB). Note: This random number is generated using a routine called EB.ALLOCATE.SESSION.NUMBER and is stored in a common variable called C$T24.SESSION.NO. This helps in improving the monitoring capabilities of T24. A live file called T24.SESSION gets updated with record key being the T24.SESSION.NO and contains information regarding the agent to which this session number was assigned. A record in this application gets deleted, when the corresponding process terminates(session expires). Server Name is the name of the server where the agent is running. Note that details of tSAs and tSMs across application servers will be updated here 17 COB1.Close Of Business - Introduction-R10.01 Slide 17 s1 The AGENT.STATUS enquiry output has been split into three screen shots as it elapses the screen. Some of the fields are explained in this slide and the remaining are explained in the next slide. salamelu, 2010/02/23 Agent Status is the status of the agent. It can hold either of the three values. RUNNING Agent performing the job STOPPED Agent has stopped properly. DEAD Agent did not report within the time given and hence the tSM has marked the agent as DEAD Process Id is the Operating system level process ID for the agent process that is running Current Service is the service the agent is performing at the moment. Note agent 1 is performing the service TSM and the others are performing the service COB Next Service is the service the agent is supposed to perform next. While COB is running, if you wish to stop COB, set the field SERVICE.CONTROL to STOP for the record COB in the TSA.SERVICE file. Then, check the NEXT.SERVICE value for the agents running COB, it will be set to STOP denoting that the agents needs to stop once they complete the current transaction Job Progress is the status of the jobs being performed. Details of the status is not in the scope of this learning unit. COB1.Close Of Business - Introduction-R10.01 18 Slide 18 s2 This slide is hidden in the slide show, it is present only for the notes page information salamelu, 2010/02/23 Last Message is the message displayed by the agents as they are performing the jobs. The agent running tSM will not display any message as it is just monitoring agents. agent running tSM will not display any message as it is just monitoring agents. Como Name is the name of the log record ID that holds the log information of the agent. These log records are stored in a directory called &COMO&. The contents of these records cannot be viewed from browser. You will have to open these records at the jBASE prompt. The log file name is in the format tSA_<agent number>_<date>_<time> LAST.MESSAGE is the message displayed by the agents as they are performing the jobs. The agent running tSM will not display any message as it is just monitoring agents. COMO.NAME holds the name of the log file that has the log information of the particular agent. JOB.PROGRESS holds the status of the jobs being performed. COB1.Close Of Business - Introduction-R10.01 COMO.NAME in AGENT.STATUS holds the name of the log file. Log files are stored under a directory &COMO&. To view the log files use the command LIST &COMO&. Use the a directory &COMO&. To view the log files use the command LIST &COMO&. Use the command JED &COMO& <Log file name> to view the contents of the log file. If an agent is restarted, there will be two log files for that agent as the log file ID is based on date and time. Log files do not get cleared automatically from the &COMO&. SER1.Services In T24-R10.01 20 When multiple application servers are part on the T24 architecture, all processors can be made use of when executing services. One tSM must be started on each server and the made use of when executing services. One tSM must be started on each server and the tSAs started appropriately. You must remember that data resides centrally so in the TSA.SERVICE record, you will need to specify a workload profile for each server and also mention the server names in the corresponding multi-value fields. SER1.Services In T24-R10.01 21 1. An activation file is a file in the backend that contains all the IDs to be processed by the service. Once an ID is processed from the activation file, it is removed from there service. Once an ID is processed from the activation file, it is removed from there 2. Since we have populated the file with the ids that the service needs to process, there is no need for a SELECT routine separately 3. For a service to use an activation file, it should be mentioned in the PGM.FILE entry for the job that is running as a service. The field Activation File should be set to YES or the name of the activation file. If you choose the option as yes, then the name of the activation file will be F.<SERVICE.NAME>.LIST For eg: BNK/SWIFT.OUT, runs DE.OUTWARD job as a service. Now, as you can see in the screenshot, the field ACTIVATION.FILE has been set to yes. Q. Based on what you learnt just now, what would be the name of the activation file? A. F.SWIFT.OUT.LIST (the BNK part is not included) NOTE: When you start a service by setting the SERVICE.CONTROL field to START in the TSA.SERVICE record of that service, you would expect the service to run once and then stop. This is not the case for services having activation files. When a particular service has an activation file, it keeps running even if the SERVICE.CONTROL field is set to START. SER1.Services In T24-R10.01 22 1. FALSE Single Threaded mode 2. FALSE Each server should have one tSM running 2. FALSE Each server should have one tSM running 3. TRUE 4. FALSE TSA.STATUS 5. TRUE 6. FALSE TSA.STATUS SER1.Services In T24-R10.01 23 You will now be able to: Differentiate between Phantoms and Services Explain the working of Services in T24 SER1.Services In T24-R10.01 24 SER1.Services In T24-R10.01 25