Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Architectural Patterns

You're reading from   Architectural Patterns Uncover essential patterns in the most indispensable realm of enterprise architecture

Arrow left icon
Product type Paperback
Published in Dec 2017
Publisher Packt
ISBN-13 9781787287495
Length 468 pages
Edition 1st Edition
Arrow right icon
Authors (4):
Arrow left icon
Pethuru Raj Chelliah Pethuru Raj Chelliah
Author Profile Icon Pethuru Raj Chelliah
Pethuru Raj Chelliah
Harihara Subramanian J Harihara Subramanian J
Author Profile Icon Harihara Subramanian J
Harihara Subramanian J
Pethuru Raj Pethuru Raj
Author Profile Icon Pethuru Raj
Pethuru Raj
Anupama Murali Anupama Murali
Author Profile Icon Anupama Murali
Anupama Murali
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Demystifying Software Architecture Patterns FREE CHAPTER 2. Client/Server Multi-Tier Architectural Patterns 3. Object-Oriented Software Engineering Patterns 4. Enterprise Integration Patterns 5. Domain-Driven Design (DDD) Principles and Patterns 6. Enterprise Architecture Platforms and Tools 7. Service-Oriented Architecture (SOA) 8. Event-Driven Architectural Patterns 9. Microservices Architecture Patterns 10. Patterns for Containerized and Reliable Applications 11. Software-Defined Clouds - the Architecture and Design Patterns 12. Big Data Architecture and Design Patterns

The EDA fundamental principles

In an asynchronous push-based messaging pattern, the EDA model builds on the pub/sub model to push a variety of real-time notifications and alerts out to the subscribed listeners in a fire-and-forget fashion. This neither blocks nor waits for a synchronous response. Also, this is a unidirectional and asynchronous pattern.

  • Autonomous messages: Events are communicated in the form of autonomous/self-defined messages. That is, each message contains just enough details to represent a unit of work and this provides the decision-enablement capability for notification receivers. Event messages should not require any additional context. Also, they should not require any kind of dependencies on the in-memory session state of the connected applications. The event message is simply intended to communicate the business state transitions of each application, domain, or workgroup within an enterprise.
  • Decoupled and distributed systems: As mentioned, the EDA pattern logically decouples connected systems. SOA guarantees loose and light coupling. That is, participating applications need not be available online all the time to accomplish the business tasks. The middleware (ESB) does take care in unobtrusively delivering the messages to the target application. The issue here is that the sender system has to know the relevant details of the target application towards service invocation to process completion.
    In the synchronous SOA case, connected and dependent systems are often required to meet the various non-functional requirements/quality of service (QoS) attributes, such as scalability, availability, performance, and so on. But in the case of asynchronous EDA, the transaction load of one system does not need to influence or depend on the service levels of downstream systems. This decoupling-enabled autonomy allows application architects to be a bit carefree in designing their respective physical architectures and capacity planning. Decoupled systems can be deployed independently and are horizontally scalable, as there are no dependencies among the participating modules.
  • Receiver-driven flow control: The EDA pattern shifts much of the responsibility of control-flow away from the event source (or sender system) and distributes/delegates it to event receivers. The EDA-centric connected systems have more autonomy in deciding whether to propagate the events further or not. The knowledge used to support these decisions is distributed into discrete steps or stages throughout the architecture and is encapsulated where the ownerships reside. The following diagram is the grandiose mix of both the SOA and EDA patterns:
You have been reading a chapter from
Architectural Patterns
Published in: Dec 2017
Publisher: Packt
ISBN-13: 9781787287495
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image