IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Developing business processes > Work with business calendars
Business calendars
In IBM Integration Designer, time-based computations are often simplistic and involve a start time and end time. Business calendars are used to model noncontiguous time intervals (intervals that do not proceed in a sequential manner) and allow these intervals to be further composed into a single semantically meaningful interval as opposed to simply using elapsed time for date and time computations.
For example, a business calendar defining Regular Working Hours may refer to non-overtime regular working hours of Monday to Friday, 9:00 a.m. to 5:00 p.m. and exclude weekends. Business calendars are created using the New Business Calendar wizard in IBM Integration Designer. Business calendars can also be authored in and imported from IBM WebSphere Business Modeler where they are referred to as timetables (TT).
A business calendar is used to model noncontiguous time.
For example, a U.S. working day calendar could be modelled as follows:
- Monday to Friday (9:00 a.m. – 5:00 p.m.)
- Saturday and Sunday are weekends
- January 1, May 31, July 4, September 1, November 24, November 25, December 24, December 25 are holidays
Date and time calculations in the business world require that non-working time such holidays or breaks are not included when calculating time. Therefore, given the previous example calendar specifications:
- February 8 is a Friday. 1 business day from February 8 should be Monday, February 11.
- July 3 is a Thursday. July 3 plus 2 business days should be Tuesday, July 8.
- If the current time is Thursday, March 6 at 4:00 p.m., the current time plus 26 hours should be Monday, March 9 at 10 a.m.
Each calendar may have the following parts in its definition:
- Time intervals (one or more)
- Exceptions (optional)
- Inclusive calendars (optional)
- Exclusive calendars (optional)
Each Time Interval or Exceptions have:
- Begin and optional end date-time
- Schedule – Once, Daily, Weekdays, Weekends, Weekly, Monthly, Quarterly, Yearly, or Always
- Repetition – Once, number of times, or Forever
Scheduling options
Depending on the type of schedule selected in the business calendar editor, different scheduling options are possible:
Scheduling options Schedule Options Once Specific Date Daily Every [n] days or selected days of each month [ 1, 2, 7, 22, 30] Weekly Every [n] weeks or selected weeks of the year [5, 9, 15, 16] and check-marked days [Mo, Tu, We, Th, Fr, Sa, Su] Monthly [n or last] day of the month or [first-second-…-last] [Mo…Sun] of check-marked months [1…12] Yearly On [Month-Day] By Hour Every [n] hour(s) By Minute Every [n] minute(s) By Second Every [n] second(s) The business calendar model is based on the iCalendar specification (RFC 2445) from the Internet Engineering Task Force (IETF). It is based on xCal, an XML-compliant representation of the iCalendar standard, which provides the ability to operate with other calendar systems. xCal maps the iCalendar format to XML. It is a simple one-to-one mapping with iCalendar components and properties mapped to XML elements.
Scope
The business calendar is uniquely identified by a target namespace and a name. The scope of the calendar is limited to the module with which the calendar is deployed. When multiple modules need to reuse the same calendar, the recommendation is to place it in a library in IBM Integration Designer and have the modules reference the library.
Time zone support
Business calendars have dates that have offsets based on GMT (Greenwich Mean Time). The time zone defined in the business calendar is the time zone used at run time, even if the server is in a different time zone.
For example, if a business calendar was created in New York with the parameters Monday to Friday 9:00a.m. - 5:00p.m. (GMT-5) to be run on a server in California (GMT-8) the server will still honor the offset of GMT-5.
All date-times specified within a single calendar must be in the same time zone. Referenced calendars might have a different time zone.
Included and excluded calendars
Each calendar may include or exclude several other similar calendars. Including one or more calendars means that the final schedule must satisfy at least one of the calendars.For example, if one calendar defines a weekday schedule, and the second calendar defines a weekend schedule, the combined schedule will include all days of the week – both weekdays and weekends. Excluding one or more calendars mean that the final schedule must satisfy the main calendar (and its inclusions, if any) and must not be defined in the excluded calendars.
For example, if the main calendar defines a weekday schedule, and the excluded calendar defines a “Thursday every week” schedule, the combined schedule will define only Monday, Tuesday, Wednesday and Friday.
Also note the following items for included and excluded calendars:
- There can be both included and excluded calendars.
- Exclusions take priority over inclusions.
- Other (included or excluded) calendars exist as separate files and are referenced from the main calendar by its namespace and name.