Application Event System Overview

The multi-tier application event system allows you to customize the way the system behaves without having to create custom procedural code and API calls into the system. Instead, you can create custom events and handlers for them to accomplish many tasks that procedural code and API calls formerly required.

The application event system is a powerful and flexible set of tools designed to help extend and customize how the system works. You can use these tools to define and monitor events across the system.

Basic Components

In its most basic form, the application event system consists of three interrelated components:

  • Events are uniquely named incidents that can be triggered during the use of an application. Events can have multiple triggers and can be generated by user actions, conditions in a database, other events, or other situations.
  • Event handlers consist of data that specifies:
    • The event to which it is to respond.
    • Any conditions or attributes that influence why and when the handler executes.
    • One or more event actions to take place during the handler€™s execution.

    Each event can have multiple handlers but each handler can be associated with only one event. Each event handler consists of one or more event actions.

  • Event actions consists of data that specifies the individual tasks or bits of work that are performed by the event handler. Each event handler can have multiple actions.

Advantages of the Application Event System

This event system offers several significant advantages over hard-coded systems:

  • The application event system provides the power and flexibility to customize the way the system performs. Business process are, therefore, "softer" and easier to modify.
  • You can modify application processes and policies without having to directly modify the application code and, in many cases, without having to write any procedural code at all. This means that the amount of procedural code required to implement functionality can be greatly reduced.
  • You can use your event handlers with others' events to gain control of the application flow and take appropriate action, rather than being forced to call into the application using APIs.
  • Because event handlers are defined using metadata, there is no upgrade problem, and no collision problem if other developers also have event handlers for the same event.

Potential Uses

  • Sending a message to a user notifying them of a data change
  • Place a process on hold while sending a message requesting approval from another user
  • Automate firing of an activity or utility triggered by a data change