Event Driven Architecture
EDA (Event Driven Architecture) is the architecture managed by events. It is architecture in which events begin message exchange in real time between free applications. EDA is based on so-called programs agents which process events to find events at the enterprise and, having used the pushing approach, to inform all other applications which it is necessary to inform on these events. All this happens in real time. The order for completion of stocks in EDA which cannot be executed, is detected and defined by processing system of difficult events as possible deficit for a service action. Sources publish events, and subscribers receive them in the course of receipt. In architecture the EDA publication of events, a subscription to events with support of their buffering in queues and filtering, guarantee of providing delivery of events in case of failure of the equipment or network should have support of the integration software. It is possible to tell, this whole scientific direction which founder professor David Lukham is considered.
Content |
Subject of consideration of EDA is the mechanism of delivery of messages (i.e. the events having a specific form). In spite of the fact that cases of the environment of logic of routing which is flexibly configured under changes meet more often, trajectories of following of messages can be accurately defined by the principles of interaction in client-server style. Thus, it can be based on the modern device of the orchestration or routing on the basis of content (content-based routing, CBR) each of messages. The fact that SOA does not limit a framework of coherence of systems is important. On the basis of it often say that the SOA model is "poorly connected". As a result interaction with services can be direct and mediated, i.e. is executed by means of various software tools of an interface layer. Such integration brokers as (enterprise application integration, EAI) and message queues concern them (message-oriented middleware, MOM).
Appointment of EDA
EDA is urged to give to systems the maximum flexibility that gives the chance of entering into them of fast and cheap changings. A most important task of EDA is approach of information systems to real transactions of the company. The basis of EDA is considered:
- Consolidation maintenance many - to - much.
- Operation of the control algorithm a data stream which is defined by the host party on the basis of the message.
- Maintenance through network of modules of dynamic, parallel, asynchronous data streams.
- An opportunity to react to the new external input data arriving at any time.
Key features
- Events are processed not by the person, and an automated system.
- Events are used as initiators for a call of services.
- Outcome of the processor and initiator.
- Asynchrony.
- An opportunity to manage the enterprise in real time together with SOA.
Events and EDA
Messages about events which come to a system extend according to the list, and call receivers of such messages subscribers (subscriber); as the subscriber the person or the automatic machine can be provided. All these messages have a heading (header) and a body (event body). The heading consists of the metadata relating to an event, including: identifier of the specification of an event, pointer of type, name of an event, time mark and source. The body of an event includes the description of the event. In order that the receiver could take some actions, without making additional requests using provided data, the body should be rather informative and also it should contain the description prepared in the language accepted in business or complete ontology that the sense of an event was clear to the subscriber. In EDA the message about the last is distributed between subscribers who somehow react to it. It can be both a call of a certain service and reorganization of business process and also further dissemination of data on an event, including additional. The architecture of such plan is not just poorly connected, and very loosely coupled (extreme loose coupling) and distributed. The source or the creator of the message knows only that the message is transferred, without participating at the same time in its future. To tell the truth, to trace a trajectory of working off of the message in the conditions of its distribution on a subscription, impracticablly. That is why existence of asynchronous flows of works and input data is meant in EDA. A large number of input data are capable to contain only significant events which are issued in the form of messages and flows of single events (such as data read from tags of RFID), and flows of difficult events are ready to be shipped to subscribers. Depending on what is a part of event streams of architecture EDA can be systematized on style of processing. In one case there is simple processing of events (simple event processing) which means direct transmission of events from an entrance flow in the event handling processor. In other case, in the course of numerous event handling (stream event processing), single events first of all come to the generator where from them using filtering or other preprocessing significant events which are in turn transferred to the processor of events form. The third case is a processing of difficult events (complex event processing). It differs in the fact that single events are not homogeneous. A system which is based on the principle of architecture of EDA should consist of four principal components:
- Event generator (event generator). Has the distinctive feature functionality which depends on style of event handling; a problem of this component is preprocessing, selection from an entrance flow of significant events.
- Channel of events (event channel). Is the internal trunk which is capable to secure transportation of significant events from the generator in the processor.
- Processor of events (event processor). Correlates the received events to the available processing rules, estimates them, develops the correct solutions, including start of certain services and business processes, performs direct transfers of data on events and archiving and also sends messages to subscribers.
- Management of the subsequent events (downstream event-driven activity). Appropriate means are necessary for management as one input event can demand accomplishment of the whole complex of the subsequent actions.
Links
ERP-News: SOA and EDA: different architecture or same?
OSP.RU: EDA as next incarnation of SOA