Event-Driven
Event-driven architectures allow producing, consuming and reacting to events. The main advantage of event-driven systems is their high flexibility and their ability-to-adapt behavior in runtime. Event-driven architectures provide a great way to model real world scenarios and are able to cope with fast streams of data.
Event Support in Mercury
Mercury is an ideal platform for building event-based enterprise solutions as its functionalities are based on events and services. An example of a typical event can be a scheduled timed-event, that can be scheduled such that it gets envoked or raised when the given amount of time has elapsed. Events in Mercury can also be raised by a remotely connected system, for example by invoking a service, a method of an object or by remote object creation.
Core Support: Events are supported by the Mercury core. The public and natively supported event points include object insertion, update, and deletion. By registering event handlers for such basic events they can can be processed individually and they will be raised upon completion of the transaction that has affected the object. This functionality is also available to connected systems using publish/subscription mechanism.
Dynamic Support: Mercury also allows dynamic events to be created, detected, consumed and handled within the system. The mechanism for supporting this feature is the internal, C# like, delegate model. This feature allows to attach instance-based, static and even dynamic bound methods to an invocation list, which gets traversed upon the delegate invocation.
Features and Highlights
|
Transaction based events: The native transaction engine allows dispatching of create, update and delete events. |
