Authors: Hugh Taylor, Angela Yochem, Les Phillips, Frank Martinez
Publisher: Addison-Wesley Professional (www.informit.com/aw)
Published: February 2009
Print ISBN 13: 978-0-321-32211-1
Print ISBN 10: 0-321-32211-8
Print format: Soft cover, 336 pages (free online edition with purchase of the book)
Prices: Book: $40.49 or Book and eBook Bundle: $53.09
Using Event Driven Architecture to Improve a Business's Bottom-Line
The pressure on businesses today to be able to quickly and successfully react to business events, and therefore, remain financially viable, is more intense than ever before. So any solution that has the potential to improve a business's agility in the market place, plus, in turn, their bottom-line, is worth investigating. And one of the possible solutions being more heavily touted today is the implementation of event-driven architectures.
In their book, "Event-Driven Architecture: How SOA Enables the Real-Time Enterprise", the four authors Hugh Taylor, Angela Yochem, Les Phillips, and Frank Martinez reflect on how they have "observed the recent and spectacular rise of the concept of service-oriented architecture (SOA) with excitement tempered by concern." They then go on to add that "the new standards-based architectural paradigm promises great advances in interoperability among previously incompatible software applications. In turn, it has the potential to deliver gains in agility and IT cost control. Perhaps most exciting, though, is the potential for SOA to make possible the realization of event-driven architecture (EDA), an approach to enterprise architecture that yields a high level of agility by increasing systems' awareness and intelligent responses to relevant events."
Taylor, Yochem, Phillips, and Martinez have the necessary background and experience to back up such claims, with all of them being professionals in the enterprise architecture field. For example, Taylor has worked at SOA Software and Microsoft, and Yochem is experienced in architecture practices and large scale technology management. Phillips is a VP of enterprise architecture at SunTrust Banks Inc., while Martinez's expertise includes the area of distributed, enterprise application, and infrastructure platforms.
The reason for their writing of "Event-Driven Architecture: How SOA Enables the Real-Time Enterprise" is explained by the book's authors themselves in the opening pages of their book where they state that it soon became evident to them that "the steps required to design and deploy an EDA, or an SOA, its master set of architectural characteristics, were far from obvious. Even going beyond the fact that the technology and standards are immature and, thus, challenging, the practice of uniting software with an overarching standards-based approach that extends outside the enterprise is a new field, lacking in many of the guiding principles of infrastructure, governance, and best practices that hold together most traditional forms of architecture and development."
The first step in attempting to evaluate the information contained in "Event-Driven Architecture: How SOA Enables the Real-Time Enterprise" is to listen to how the book's authors define EDA. They state that "an event-driven architecture is one that has the ability to detect events and react intelligently to them." From their perspective, they regard an event as being "a change in state that merits attention from systems." They then provide a quote from Brenda Michelson, a technology analyst, who says that "in an event-driven architecture, a notable thing happens inside or outside your business, which disseminates immediately to all interested parties (human or automated). The interested parties evaluate the event, and optionally take action."
In order to help their readers have a clear understanding of events, the book's authors point out that "one of the simplest examples of an event-driven system is actually from the noncomputer world. It is known as a thermostat. The thermostat is a mechanical device that turns the heat on or off based on its programmed reaction to an event, which is a change in temperature. The shift in temperature is the event, the 'change in state' that triggers the reaction of the thermostat, which, in turn, affects the action of the heater."
The content of "Event-Driven Architecture: How SOA Enables the Real-Time Enterprise" has been divided into two major parts, with the first part of the book presenting the theory of EDA while the second part looks at EDA in practice. Both parts of the book are almost equal in size, at least from a chapter perspective, with five chapters devoted to theory and four chapters to the use of EDA in the real world. The titles of, plus an overview of each of the chapters in the first part of the book are as follows:
"EDA: Opportunities and Obstacles": In this chapter, the book's authors put forward the case that "event-driven architecture and by this, we mean the modern, dynamic, and agile kind presents a superb solution to a range of major organizational IT challenges. Yet, despite its desirability, its attainment has been frustratingly out of reach for many years. This has changed, though, with the advent of service-oriented architecture (SOA)." The three basic types of EDA processing are discussed in this chapter, namely, simple event processing; event stream processing; and complex event processing (CEP).
"SOA: The Building Blocks of EDA": Individual topics tackled in this part of the book include service-based integration; Web services; SOAP (Simple Object Access Protocol); WSDL (Web Services Description Language); SOA; and loose coupling in the SOA.
"Characteristics of EDA": To assist readers of their book to understand the characteristics that underpin EDA, the book's authors compare the human nervous system with an EDA. Their reasoning for doing so is that they believe that "the nervous system analogy is helpful for getting the idea of EDA on a number of levels. In addition to being a useful model of the EDA components in terms that we can understand (and perhaps, more importantly, that you can use to explain to other less-sophisticated people), we can learn a lot about how an EDA works by understanding how the nerves and brain communicate and share information."
"The Potential of EDA": The four authors of "Event-Driven Architecture: How SOA Enables the Real-Time Enterprise" are excited by what they regard as the potential of EDA. In fact, their fervent opinion is that "EDA has the potential to transform IT and computing on many levels. The paradigm can improve existing modes of IT, as well as introduce wholly new ways of doing things." They suggest that there are four primary areas in which this potential is likely to become evident: 1) enterprise computing; 2) agility and analytics; 3) computing in general society, particularly within government and academia; and 4) the "high pressure" area of compliance in the IT field.
"The SOA-EDA connection": This chapter of the book, according to its authors, is where it's time to "get real", or in other words, "to delve into the 'how-to' of EDA". They explain that, "for the purpose of this book, we focus on building an EDA using a service-oriented architecture (SOA) as the foundation. Although there are many other ways to create an EDA, keeping the focus on SOA gives you insight into a real-world approach to EDA that is being practiced today. In fact, building an EDA in this fashion could be viewed as a specialized, mature form of SOA because many of the building parts and concepts are shared between the two concepts."
The first chapter in the second part of the book is titled "Thinking EDA", and its role is to help readers of the book to develop an EDA mindset in relation to application design and IT architecture. In fact, the book's authors warn their readers that "thinking in EDA terms typically means erasing a lot of conventional software architecture concepts from your mind. When you think EDA, you want to reduce central control of application flow. You need to enable autonomous behavior in application components and allow for asynchronous parallel execution. You must design for unanticipated use whenever possible. And, in what might be the greatest challenge to conventional thinking, you must enable the event itself to carry its own state information." The three remaining chapters in this part of the book are then each respectively dedicated to a unique case study. The first of these case studies covers airline flight control while the second study tackles the problems associated with money laundering (and the methods that can be deployed to overcome it). The third case study investigates event-driven productivity infrastructure. Overall, the benefits to be derived from these case studies include:
They are based on real world scenarios so the lessons that they contain can be transferred to other similar situations.
Each of the case studies is non-trivial in its content, thus providing a comprehensive amount of useful learning matter and advice.
It is not enough to just know the theory behind a new technology knowing how to implement that theory is also vital too. And these case studies provide the practical grounding that is needed for those IT practitioners wanting to construct EDA solutions.
In conclusion, I recommend "Event-Driven Architecture: How SOA Enables the Real-Time Enterprise" if you have been looking for a book that not only explains EDA from both theoretical and conceptual perspectives, but also shows you how to tackle its implementation in the real world.