CEP, boosting services in the SOA strategy
In this article we are going to talk about one of the most powerful tools, and in my opinion most undervalued, in terms of system integration. Complex event processing, CEP, is an ideal complement and of enormous value in an SOA strategy where, as we know, business events and real-time integrations are key components.
As you know, one of the protagonists of the Service Orientation Strategy is the Business Event. The EDA approach that we bet on as a best approach to service orientation is based on the identification in each business process of the business events that interest the different systems involved. Among these events, those involved in sending and receiving information (messages) help us identify new services, or new providers or consumers of existing services. And these integrations, thus raised, occur in real time.
But often this information exchange will not be linear, or direct, not one by one.
Many times each business event will trigger several processes, depending on certain conditions, or even other events. It is possible that such events depend on temporal factors, a specific date, a pre-established periodicity, etc. Perhaps when all the conditions that affect that event are fulfilled, other events must be triggered, or certain information must be given to certain systems, and some other new information to other systems.
The variety and complexity of rules and checks that may need to be considered is very broad.
All this business logic is what resolves the event orchestration, the engine of business services. The more powerful that engine is, we will be giving more outreach, flexibility, and efficiency to business services, and by extension, the whole strategy.
Taking into account that each evolution of an information system involves the execution of a project, and consequently consume a package of working hours (with your own team or under a certain contract with your ICT provider), all the business logic that may reside in the orchestrations of the services , allows the business services to be more complete and autonomous, and allows the organization itself greater independence, autonomy and cost efficiency when proposing developments in its information systems.
Therefore my advice is:
Okay, all this is clear and we have told it before in different articles. And CEP? When does it appear?
It appears when we realize that there are many events in the business that are not simple events. By simple event we mean those that are immediate and visible to the naked eye. Examples include the discharge of a client, the withdrawal of cash from a cashier, the contracting of a policy, the consultation of an invoice, the request for a medical test, the modification of an appointment, etc.
All of these events come to light easily as we begin to analyze and model business processes.
But what do we do with those complex events that also occur in the business?
For example, a customer who is taking cash from his account with a suspicious frequency, perhaps to leave the bank. There is an abnormally high series of income in the emergency department for a certain symptom chart. There is an excessively high demand for the purchase of a certain product in an online store. During an abnormally high time there is an absence of requests for medical tests.
All of these clues can help identify patterns, behaviors, risks and possible failures, the early detection of which can save many problems, and money, to organizations. These kinds of events are what we call complex events. And CEP is the technology that allows us to detect and process them in an event driven architecture such as the one that promotes the SOA strategy.
CEP allows us to incorporate complex business logic into our services, insofar as they respond to the arrival of complex business events. In a very simplified way, CEP acts as a filter in the event input, working on what is known as an event cloud. It also includes an adapted version of SQL that lets you launch real-time queries to the event cloud, segmenting the event stream into temporary windows.
The result of these queries are complex events, such as the examples mentioned above: trends, series, absences, behaviors … that allow us to incorporate our complex orchestrations for efficient stock management, fraud detection, defaults detection , etc etc.
With a Business Rules Management System (BRMS), we can also maintain and independently manage the simple and complex business rules that will be applied in the orchestrations of the identified events. In this way we can extract these decisions from transactional information systems that depend on third parties, achieving the advantages mentioned above, and maintain their life cycle effectively according to what the business is determining.
CEP y Business Intelligence.
When the CEP and BRMS couple reach a higher value, is when we start to look for high added value information for business decisions.
Of all the events that can be received from the different trigger systems, only some of them, depending on certain conditions, may be relevant to certain business needs. And as we said above, sometimes the most relevant for the business are not the events themselves, but their behavior in a certain space of time.
CEP can identify complex patterns of events, and pass to BRMS only those that comply with that first sieve, allowing to analyze only information of interest for the complex rules that the business requires to control. The processing of the complex events that CEP allows, and the management of complex business rules that automate the decision-making process of high strategic value, are two of the centerpieces of the Business Intelligence systems.
The applications of CEP are endless: think for example of insurance fraud prediction systems, prediction of bank defaults, prediction systems for readmissions or pharmaceutical expenditure on health, etc, etc., etc.
All the business intelligence needed to detect likely cases from millions of customers and users is in the hands of the organization with a service-oriented architecture, keeping the event processing rules adequate to identify the Events of interest, and managing them outside the third party systems.
Flexibility, agility and response time to changes in priorities and business needs will be much greater.