Browse Prior Art Database

Business Event Agents influencing business environment Disclosure Number: IPCOM000020581D
Original Publication Date: 2003-Nov-28
Included in the Prior Art Database: 2003-Nov-28
Document File: 2 page(s) / 46K

Publishing Venue



This article describes a design pattern that uses an event infrastructure to integrate or modify the behaviour of existing applications

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Business Event Agents influencing business environment

The world is continuously changing and businesses need to adapt accordingly. This means their IT systems must also be flexible.

    There is a style of design called event-driven architecture (EDA). In this approach, a program raises events whenever something significant happens. This involves a call into the runtime, passing a small amount of information about the "something". Listener programs register with the runtime to receive events of a certain kind. The registration can be dynamic. When events of the appropriate type are raised, the listeners are called. The listeners then can trigger further work.

    This article provides a solution to the following two scenarios by using an EDA approach.

1) Dynamic Control of the outcome of a business program

    In the traditional EDA approach, the business program is unaffected by the presence of the listeners. This limits its usefulness in adapting the behaviour of the business program because an external program can only react and compensation (or undo) the invalid work of the business program. This is not always sufficient as there is a window of time between the business program completing an invalid action and the external program being able to correct the decision. During this window, other business decisions may be made on what is actually incorrect data.

    An example of this is where a business program is processing orders from customers and produces an event when the order is about to be accepted. The business suffers a problem with a particular customer who is not paying the invoices. So a listener is written to intercept the event and check that the order is not from the rogue customer. If it is, then some processing needs to be kicked off to cancel the order.
2) Dynamic Control of the environment of a business program on an instance-by-instance basis

         In many EDA systems it is possible to activate and deactivate the generation of particular types of events. This means that although the business program still produces its events, only active events are passed to the listeners. This is designed to reduce the load on the system by only processing interesting events. Typically, events are activated on a per-type basis. So we may activate the event that logs a new customer order being received. If a business is receiving many orders, but most of them are for a small amount then this could generate a huge load on th...