This blog will provide the overview of methods such as Polling and Availability Time Planning which are most commonly used in communication channels.
Consider following scenarios:
- An XI channel should pick up files from a sender file system after every 15 minutes.
- Daily an XI interface should process data at a certain time of the day.
- Daily a JDBC sender channel should query database and pick up newly created records
- An XI interface should be executed on first/last day of each month
Above scenarios can be achieved by using either of the following ways:
1. Polling Interval
The polling interval specifies the wait period for the communication channel. Once an interface has been processed, the communication channel will take the polling number and “wait” for that amount of time until trying to continue processing
Consider a sender communication channel that looks for the file “abc.xml” in the source directory and the polling is set to 60 seconds. The communication channel finds the file and picks it up to be processed. Once the communication channel is done handing it off to be processed, it will try again. If it cannot find a file it waits 60 seconds before checking for the file again. The polling only occurs if a file does not exist.
The following examples show various scenarios of communication channel with a polling interval.
1. Let say we have 3 J2EE server elements (in Production) which means that some (not all) communication channels (such as JDBC, File, etc.) have 3 instances of themselves (one on each server element). In such cases the first communication channel to get the file, wins and the communication channels that did not win, will wait the 60 seconds and try again.
2. In cases when we restart the server, one J2EE server element’s XI Runtime may start earlier than that other J2EE server element’s XI runtime. This means that even though our communication channel is set to check every 60 seconds, the files may be picked up sooner than that because each instance of the communication channel is at a different time in the polling interval.
2. Availability Time Planning (Available as of Service Pack 19)
Availability Time Planning enables scheduling of all the XI channels in automatic mode. Using ATP you plan availability times for communication channels to enable them to be started and stopped automatically instead of manually
You can schedule channels on daily, weekly, monthly and one time basis so that we can schedule an XI Communication Channel on a particular date and at a particular time in a day or in a week or a month or a year, which will eliminate long polling interval
1 Navigate to Runtime Workbench –>Component Monitoring –>Component Adapter Engine –> Communication Channel Monitoring
2. At the top right of Communication Channel Monitoring, click on the link for Availability Time Planning.
You can Create Change, Delete or Copy an ATP setting. The drop down list for Availability Time has One-Time, Daily Weekly and Monthly.
3. Give appropriate description and select Active option without which Channel scheduling will not start. You can specify the exact time at which channel should turn to start position. Specify the exact time and then specify the duration for which the channel should be in start position (in hours, minutes, seconds, days).
In the above example channel will be in start position for 15 mins starting from 8.30 AM daily. You can specify the start date and end date for the channel in the option “Availability Times From”. If you want you can even exclude day(s) from this start and end series list. Once you enter start and end date and click on display, you will get list of all the days and times when the channel will be available.
4. Navigate to Administration Tab of communication channel, automatic start and stop timings of the channel will be displayed.
Let’s consider few cases to determine which method to use.
1. XI Interface is supposed to pick up files from a sender file system at Real Time.
Method: Polling Interval (With a preferred time interval)
Merits: 1. executes the interface on a real time basis
2. Minimizes the wait time.
Demerits: 1. Continuous polling of file systems, databases etc. unnecessarily keep the XI resources busy.
2. XI interface should be executed on first/last day of each month
Merits: 1. eliminates the manual starting and stopping of the channels.
2. The channel will only be in start position at the configured ATP time on the first/last day of every month. Once the ATP Period is over channel will be stopped automatically thus keeping XI resources free to be used by other channels for the rest of the month.
Demerits: 1. sometimes due to Adapter Cache Update problems, the new changes in the timings don’t get updated in the cache and the channel executes on the earlier timings