A method of implementing a plurality of business function applications in a data processing system, the method comprising:
- providing a plurality of service utilities that are invoked responsive to events received by an event manager module, the event manager module including a property identifier module which operates to identify resources available to a processor in which the event manager module is instantiated and a container component which operates to store a plurality of instructions identifying a plurality of event handlers which are to be utilized to invoke the plurality of service utilities;
- identifying a first plurality of service elements, in a first business function application, wherein each of the first plurality of service elements has a corresponding service utility selected from the plurality of service utilities, which performs an operation required by the corresponding service element;
- providing a first plurality of event templates wherein each of the first plurality of service elements has a corresponding event template, each event template has a corresponding triggering event, each event template has a corresponding service utility, each event template corresponds to extensible markup language specifying at least (i) an identifier of the corresponding triggering event and (ii) an identifier of an event handler of a plurality of event handlers used to handle the corresponding triggering event, and upon receipt of its corresponding triggering event the event template operates to determine if a dependency condition of the event template has been met, wherein at least one event template has extensible markup language further specifying a dependency condition including one or more identifiers of one or more events other than the event identified by the at least one event template that must occur before invoking the service utility that corresponds to the template's service element with the event handler identified by the at least one event template;
- providing a plurality of sensor objects distinct from the first plurality of event templates, each sensor object being configured at least to sense a triggering event of a corresponding event template;
- configuring a plurality of the event templates to at least partially implement the first business function application, wherein a first such event template is triggered by a first event and responsively initiates (i) operation of the first business function application and (ii) generation of at least a second asynchronous event, wherein a second such event template is triggered by the second asynchronous event and responsively initiates a task that results in the generation of a third asynchronous event, and wherein a third such event template is triggered by the third asynchronous event and responsively initiates a task different from the task performed by the second such event template;
- and
- sensing, by a sensor object, a triggering event for the at least one event template that has a dependency condition and initiating, with the event handler identified by the at least one event template, operation of the service utility corresponding to the at least one event template that has a dependency condition after determining that its dependency condition has been met.