Event Processing in Action
eBook - ePub

Event Processing in Action

  1. 384 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Event Processing in Action

About this book

Unlike traditional information systems which work by issuing requests and waiting for responses, event-driven systems are designed to process events as they occur, allowing the system to observe, react dynamically, and issue personalized data depending on the recipient and situation. Event Processing in Action introduces the major concepts of event-driven architectures and shows how to use, design, and build event processing systems and applications. Written for working software architects and developers, the book looks at practical examples and provides an in-depth explanation of their architecture and implementation. Since patterns connect the events that occur in any system, the book also presents common event-driven patterns and explains how to detect and implement them. Throughout the book, readers follow a comprehensive use case that incorporates all event processing programming styles in practice today. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Event Processing in Action by Peter Niblett,Opher Etzion in PDF and/or ePUB format, as well as other popular books in Computer Science & Software Development. We have over one million books available in our catalogue for you to explore.

Information

Part 1. The basics

In this book we discuss events. Many people associate the word event with a meaningful happening in their lives such as a graduation party or wedding. If you wanted to plan a wedding event, you would need to understand the basics, such as terminology for discussing plans with service providers, the family constraints that affect the nature of the event, and the different types of ceremonies available.
We start this book by explaining the basics of event processing. If you are already familiar with the basics you can browse through part 1, taking note of the terminology that we use in this book. If you’re not sure that you know what event processing is all about, this part of the book should fill in the blanks for you.
Part 1 consists of chapters 1 and 2. Chapter 1 provides a bird’s-eye view of event processing. It explains what we mean by events and event-driven behavior. It includes some examples and relates them to different types of event processing. It also positions event processing within the enterprise computing universe and introduces the Fast Flower Delivery example application that will accompany us throughout the book. Chapter 2 discusses the architectural concepts and building blocks required to construct event processing systems.

Chapter 1. Entering the world of event processing

I am more and more convinced that our happiness or unhappiness depends far more on the way we meet the events of life, than on the nature of those events themselves.
Wilhelm von Humboldt
Some people say that event processing will be the next big development in computing; others say that event processing is old hat with nothing new. There is some truth in both viewpoints but before exploring them let’s clear up the confusion about what event processing actually is. This confusion stems from misconceptions and mixed messages from vendors and analysts, and also from lack of standards, lack of agreement on terms, and lack of understanding of the basic issues. This book aims to clear up this confusion.
We use the phrase event processing in this book, much as the terms database management and artificial intelligence are used, to refer to an entire subject area. Our definition of event processing is therefore fairly broad, namely, any form of computing that performs operations on events. We elaborate on what this means as the chapter progresses.
This chapter includes the following:
  • An explanation of what we mean by events, using examples from daily life
  • Examples of computerized event processing in use, and the reasons for its use
  • An introduction to the main concepts of event processing
  • The idea of a dedicated event processing platform and its business value
  • The relationship of event processing to other computing concepts
  • An introduction to the Fast Flower Delivery application that accompanies us throughout this book
  • A description of the Event Processing in Action website, http://www.ep-ts.com/EventProcessingInAction
Before clearing up the confusion surrounding event processing, we need to look at its background and examples of event processing in daily life.

1.1. Event-driven behavior and event-driven computing

We intend this book to disperse the fog around event processing by supplying a clear, comprehensive, and consistent view of what event processing is. We start by explaining the concept of event-driven behavior in daily life, and then look at how this carries across to the world of event-driven computing. As we go through the book we define the terms we use. You can find an alphabetically sorted list of these definitions in appendix A.

1.1.1. What we mean by events

Before going further we should clarify what we mean by an event.
Event
An event is an occurrence within a particular system or domain; it is something that has happened, or is contemplated as having happened in that domain. The word event is also used to mean a programming entity that represents such an occurrence in a computing system.
We give two meanings to the word event. The first meaning refers to an actual occurrence (the something that has happened) in the real world or in some other system. The second meaning takes us into the realm of computerized event processing, where the word event is used to mean a programming entity that represents this occurrence. It’s easy to get caught up in a rather pedantic discussion about the difference between these two, but in practice we can safely use the word event to have either meaning as it’s usually easy to tell the meaning from the context. You should note that a single event occurrence can be represented by many event entities, and also be aware that a given event entity might capture only some of the facets of a particular event occurrence.
As this is such an important term, it’s worth commenting on three of the phrases used in the definition. The first of these is “system or domain.” In event processing we are chiefly concerned with real-world events–that is, events that occur in real life, such as an order being placed or a plane landing. But the techniques of event processing can also be applied to things that happen in artificial domains such as training simulators, virtual worlds, and similar virtual environments.
Next, the definition includes things that are “contemplated as having happened.” It is possible to have events that don’t correspond to actual occurrences. To explain what we mean, imagine a fraud detection system being used in a financial institution. Such a system monitors financial transactions and generates events when it suspects that a fraud is being conducted. These systems can generate false positives, so further investigation is usually required before you can be sure whether a fraud has actually taken place or not.
Finally, the definition contains the phrase “programming entity.” Elsewhere in this book we use the phrase event object, as this sounds more natural than event programming entity, but we need to make it clear that we aren’t necessarily talking about an object as defined in object-oriented programming. In some contexts you might encounter events represented as OO objects, but you can also find events that appear in other forms, such as records in a relational database, structures in a language like C or COBOL, or messages transmitted between systems. We have therefore chosen to use the more general expression programming entity in our definition.
The word event is sometimes used in event processing literature to refer to a type or class of events rather than to a specific event instance. In this book we either use the term event type in such cases, or we use the name of the type as an adjective, for example, Account Overdrawn event, unless it is obvious from the context that we mean the type rather than a specific instance.

1.1.2. Event-driven behavior in daily life

The event concept is simple yet powerful. Suppose you are working on your laptop in a coffee shop, and since you entered this coffee shop several things have happened: people have come in and out and the waitress has brought you coffee. These are all events, but none of them is particularly exciting. Imagine now what would happen if a robber entered the coffee shop...

Table of contents

  1. Copyright
  2. Brief Table of Contents
  3. Table of Contents
  4. Foreword
  5. Preface
  6. Acknowledgments
  7. About the Cover Illustration
  8. Part 1. The basics
  9. Chapter 1. Entering the world of event processing
  10. Chapter 2. Principles of event processing
  11. Part 2. The building blocks
  12. Chapter 3. Defining the events
  13. Chapter 4. Producing the events
  14. Chapter 5. Consuming the events
  15. Chapter 6. The event processing network
  16. Chapter 7. Putting events in context
  17. Chapter 8. Filtering and transformation
  18. Chapter 9. Detecting event patterns
  19. Part 3. Pragmatics
  20. Chapter 10. Engineering and implementation considerations
  21. Chapter 11. Today’s event processing challenges
  22. Chapter 12. Emerging directions of event processing
  23. Appendix A. Definitions
  24. Appendix B. The Fast Flower Delivery application
  25. Index
  26. List of Figures
  27. List of Tables
  28. List of Listings