Service oriented architecture (SOA) is the latest in a long line of ideas that have sought to define a flexible and efficient way that technology-based services can be joined together to achieve business goals.
A service based on an SOA is designed to perform a structured set of tasks and return the results of those tasks. It offers a great deal of value - especially in the areas of web services standards, flexibility and the relative simplicity of representing applications and processes to business analysts. But SOAs have their limitations.
Unpredictable events happen all the time, and SOAs on their own struggle to cope with them.
In a service oriented architecture, how do users know that a relevant, unpredicted event has occurred in real-time? How can they change the process to respond appropriately to that event straight away? SOA does not allow for this.
Unpredictable business events
Unpredictable business events are not new, and there are mature technologies designed to handle them. This is the world of real-time, publish and subscribe messaging and integration technologies, which are usually described as an "event-driven architecture" (EDA).
EDA notifies anyone interested in a particular category of events when events of that type occur, and then takes action accordingly. This is because EDA is designed to trigger business processes that need to take place as a consequence of unpredictable events.
The real world of business involves continuous and often complex interactions between structured processes and unpredictable events.
SOA and EDA are complementary technologies that can cater for both of these areas. SOA offers a way of finding and consuming standard services that will perform a predictable set of tasks. EDA delivers the ability to respond to unpredictable events.
Stock markets illustrate the unpredictable nature of business. It is unknown which stocks will be traded, where, in what volumes and at what prices. But once a trade has been negotiated, its execution follows structured rules that fit the SOA model.
However, as trades progress through different stages, the sheer volumes involved generate a blizzard of data related to unpredictable events. For example, unexpected delays in transmitting contract notes might affect cash flow. Action is then needed, and EDAs would notify appropriate users and trigger necessary actions.
To date, SOA and EDA technologies have existed in parallel universes where they are unaware of one another. SOA technologies lack the ability to process the large volumes of asynchronous events that are relevant to them. In other words, they have no means to deal with unpredicted events requiring action.
On the other hand, many EDA technologies have not easily been able to interact with synchronous services - those sets of events requiring no intervention. To reflect the real world, businesses need to blend both EDA and SOA within their IT architecture.
Events and services need to interact with one another. They need to do this in the context of the overall process that the business is trying to execute and the rules that govern how decisions are made in response to events. The future for enterprise technology is a unified approach that combines events, services and process management. But this is not the end of the story.
One of the benefits of blending SOA and EDA is the ability to trap huge amounts of information about individual events and processes as they occur. This will help us to understand how patterns of events affect performance at many levels.
For instance, we will better understand those patterns of events that typically precede a user abandoning a game download onto a mobile phone, or the packaged application load patterns that cause a particular network switch to fail.
When we understand event patterns, exciting possibilities open up. If we can detect event patterns in real-time, we can predict the likely outcome of a future pattern of events before it happens.
This is the emerging world of "complex event processing" where SOA and EDA serve as a backdrop to initiating activities that change the course of events. In this scenario, businesses will become proactive in their management of business events, rather than reactive.
For instance, telecoms suppliers might proactively text mobile users, offering advice and a free opportunity to download their game before the user gives up trying to download. From an infrastructure perspective, businesses will move data loads away from a vulnerable switch to avoid business-critical outages.
This combination of SOA and EDA is not just the basis for today’s real-time business but the foundation for tomorrow’s predictive business, and I predict that, in the future, technology will render the unpredictable less so.
Chris Phillips is marketing director at software supplier Tibco EMEA