Agile Development: The Three Artifacts of Event Processing
Blog: The Tibco Blog
“Digitalization:” the impact that inter-connections between people and technology are having on organizations. France, for instance, went from 14% of its population connected and online in 2000 to more than 85% in 2014, and a penetration of smartphone users from 25% in 2012 to 50% in 2015. This phenomenon is still accelerating because we are now connecting things to the digital ecosystem.
ASSIMILATE, UNDERSTAND, AND REACT
But what is the impact of this phenomenon exactly? The most notable and disruptive effects are the increasing speeds at which companies need to interact with customers, react to market conditions, and differentiate through innovation. Digital communication channels are nearly instantaneous, and customers will disengage from providers that cannot keep pace with the speed of interactions. Machine data is now delivered in sub-seconds, and a company’s key to success is its ability to assimilate, understand, and react to it faster and more intelligently than others.
Today’s technology yields multiple ways to achieve it. However, one absolute requirement for this transformation is AGILITY. With the speed at which new digital companies innovate and at which customers can now disengage, the normal delivery cycles of months or years for large monolithic business applications cannot continue.
One way to gain the necessary agility is with event-driven architectures using products like TIBCO BusinessEvents as the foundation. There are three artifacts that make event processing a vector for agility: events, data context, and rules.
An event is the starting point, a sign something has happened. In legacy transactional systems, transaction start, abort, or commit are events. In SOA architectures, each service call is an event. In the Internet of Things, each action taken by a person becomes an event, and sensors generate information events. Events are also aggregated from heterogeneous sources. When you leverage your legacy investment and use it to enrich a new source of data, you build intelligence.
A payment running through the traditional transactional system is the action of moving money from a buyer to a seller. However, if you consider a payment as an event, a much wider variety of opportunities is suggested. The payment event includes where the payment was made, to whom, how much, and when—key data that, in addition to triggering the payment transaction, can also serve multiple parts of the business: fraud prevention, marketing, logistics, and more.
Data context, information you can set around the processing of events, enables reacting differently—more appropriately—to the same event:
Event: Customer complains about bad service.
Context: Customer has high loyalty score.
Action: Make compensation offer A.
Event: Customer complains about bad service.
Context: No history.
Action: Send service guarantee email.
Remember, the time between event and action must be kept to a minimum; typically, the read/write times of big databases cannot keep up. Rather, data must be maintained in memory for immediate availability. A key characteristic of good event processing solutions like TIBCO BusinessEvents is a native combination of both events and contextual data in the same development and runtime environment, allowing both iterative and parallel evolution.
A UML modeling language, such as that present in BusinessEvents, enables easy design, maintenance, and evolution of complex data and event models. In addition, contextual data objects usually have a life cycle, the accuracy of which can be challenging to maintain when it spans multiple systems. The ability to design event processing state models for these data objects eliminates this challenge and allows maintaining lifecycles in real time by collecting events from many disparate sources.
Rules are the final key artifact, bringing intelligence and action by correlating events and contextual data. Rules, composed of conditions and actions, continuously evaluate whenever an event arrives or the contextual data object changes. When a rule applies, its action is executed.
Rules are a key contributor to the agility we are after because they:
- Enable you to act without having to apprehend the entire problem. You identify and focus on one specific situation, and create the rule(s) required to deal with it.
- Let you enrich or update event processing logic easily, simply by modifying existing rules or creating and deploying additional ones.
- Determine and complete procedures efficiently by grouping rules according to scenario and assigning the right groups of people to create them. For payment events for example, one group can create fraud rules, another marketing rules.
With these three capabilities, TIBCO BusinessEvents helps you keep up the pace of digital interactions. It further allows you to reduce time needed for changes to the system for its unique ability to address both a technical audience, focused on the technical challenges of building low-latency large-scale platforms, and a business audience, focused on generating value from their business expertise.
With TIBCO BusinessEvents, developers can expose rules that drive parameters in a business friendly web interface with Excel-like decision tables and rule templates that translate logic into business language. Business experts can then adapt behavior without needing to wait for a long development process. Compare this agility to classical procedural programming where changes have to be evaluated across the entire process.
Watch this video on orchestrating events, data context, and rules to create agility—and a demo (starts at 5:00) of the business-friendly web interface in action.