Project:
|
![]() Figure Cal.12 - Schedule Definition : Class diagram
The Schedule Definition model is targeted to answer the need of applications to schedule jobs either on a recurring basis or at specific dates and times. The base entity for Schedule Definition is the ScheduleDefinition entity. A ScheduleDefinition entity is associated with a management job entity when it is scheduled. ScheduleDefinition is an abstract entity as any schedule definition has specific parameters that need to be defined by using its sub-entities.<br/>The following diagram shows the data model of the Schedule Definition.<br/>A Schedule Definition may be either Recurring or Fixed. A Recurring schedule definition is composed of four parts: <br/> • The base RecurringScheduleDefinition entity. This entity has the general attributes necessary for any definition of a recurring schedule. RecurringScheduleDefinition is an abstract entity as any schedule definition having a specific recurrence pattern needs to be defined by using its sub-entities. The general attributes of a base recurring schedule definition entity are:<br/> • scheduleDefinitionStartTime -- The start time of a schedule definition.<br/> • scheduleDefinitionEndTime -- The end time of a schedule definition.<br/> • recurringFrequency -- An optional intra-day schedule recurrence, such as: every 5 minutes, 15 minutes, 30 minutes, 1 hour.<br/> • scheduleDefinitionHoursRange -- A list of time ranges within a specific day when the schedule should be active, for example 08:00-12:00, 16:00-19:00.<br/> • scheduleStartOffset -- An offset relating to the recurring interval. For example, if the recurring interval is 1 hour and the offset is 10 minutes, a job will be executed at 1:10, 2:10, 3:10, etc.<br/> • The supported recurrence patterns are defined via the sub-entities of the RecurringScheduleDefinition:<br/> • WeeklyScheduleDefinition -- A schedule definition based on days of the week, for example every Saturday and Sunday. For this schedule an additional dayOfWeekRecurrence is added to define the list of the requested days. If no day is defined the schedule will be executed every day.<br/> • MonthlyScheduleDaysofMonthDefinition -- A schedule definition based on days of the month, such as: 1st, 20th, 30th. For this schedule an additional dayOfMonthRecurrence is added to define the list of days.<br/> • MonthlyScheduleDaysofWeekDefinition -- A schedule definition based on instances of days of week in the month, for example: the 1st Monday in a month. Two attributes are added to support this schedule: recurringWeekSequence for selecting the requested week and daysOfWeekRecurrence to indicate the requested days(s).<br/> • DateScheduleDefinition -- This schedule definition supports the selection of specific dates such as: January<br/> • 1st 2012, July 4th 2015, etc. A scheduledDates attribute is used to define the list of the requested dates.<br/> • A recurring schedule may optionally define the exclusion of specific dates from the scheduling definition is defined by associating a ScheduleDefinitionExclusion with the RecurringScheduleDefinition entity.<br/> • The scheduleDefinitionExcludedDates Entity is optimally used to define the list of dates that should be excluded from the schedule.<br/> • Finally, a Schedule Duration may optionally be defined by associating a Scheduled Duration Entity to the Recurring Schedule. A duration of a schedule is defined by specifying a base duration, an expected duration for the execution of a job. Extensions to the base duration may be optionally specified. It is possible to define expected duration for the extensions, the mean number of expected extensions and the maximal number of the expected extensions.<br/>Unlike the Recurring schedule definition; it is possible to define a schedule containing exact execution times. This is done by using the FixedScheduleDefinition entity. Each fixed schedule is composed of a list of fixed scheduleitems. A fixed schedule item provides the schedule for a specific execution, supplying the fixScheduleStartTime and Schedule duration (as explained above).<br/>
|