Skip to content
This repository was archived by the owner on May 8, 2026. It is now read-only.

Commit 02247e5

Browse files
authored
Merge pull request #98 from department-of-veterans-affairs/Updates-to-homepage
Updates to homepage
2 parents 858b82b + a48b05c commit 02247e5

1 file changed

Lines changed: 89 additions & 69 deletions

File tree

docs/README.md

Lines changed: 89 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,115 +1,135 @@
11
# **Enterprise Event Bus**
22

3-
## **Welcome to the Enterprise Event Bus**
4-
An Event Bus allows a system to publish a stream of changes to its data. Systems that are interested in those data changes can receive the information in real time and use it to send updates to trigger actions, send updates to Veterans, communicate with other internal teams, and more.
3+
## **What is the Enterprise Event Bus**
54

5+
The Enterprise Event Bus (EEB) is a centralized, scalable platform that enables secure, real-time data sharing across VA systems and applications. Unlike a single purpose solution, the Event Bus is designed to unify events from both healthcare and benefits, making them accessible to a wide range of products and teams across VA. By leveraging an event-driven architecture, the Event Bus allows product teams to:
6+
- Share real time data: Deliver critical updates and build more seamless experiences for end-users.
7+
- Integrate systems enterprise wide: Connect to disparate systems across healthcare and benefits, reducing operational silos.
8+
- Ensure reliability: Prevent silent failures and maintain data integrity with built-in safeguards and monitoring.
69

7-
## **Key Features**
8-
- Decoupled communication between services
9-
- Asynchronous and real-time event processing
10-
- Quicker processing for data updates
11-
- Easy integration with existing systems
12-
- A centralized hub for events
13-
- Reliability guarantee with Kafka
10+
The Event Bus is the foundation for creating a connected, integrated VA ecosystem that empowers teams to deliver better outcomes for Veterans and staff while the Event Bus handles reliable, secure data distribution at scale.
1411

15-
## **Event Bus Workflow Example**
1612

17-
<br />
1813

19-
<img src="img/ebDiagram.png" width=600 />
14+
## **Why use the Enterprise Event Bus**
2015

21-
<br />
16+
The Enterprise Event Bus delivers value to Veterans, VA staff, and the VA organization by addressing key challenges and unlocking new opportunities:
2217

23-
Watch this video introduction to Event Bus to learn more about how it works:
18+
Improves Veteran and Staff Experiences
19+
- Ensures Veterans receive coordinated, timely, and accurate updates across all their interactions with VA.
20+
- Eliminates duplicate data entries so that Veterans and staff don’t have to enter information repeatedly to get pertinent information immediately.
21+
- Ensures critical updates flow seamlessly across systems.
2422

25-
<video width="640" height="400" crossorigin="anonymous" controls poster="img/eventBusSlides.png">
26-
<source src="videos/EventBusVideo/eventBusVideo.mp4" type="video/mp4">
27-
<track src="videos/EventBusVideo/eventBus.vtt" label="English" kind="captions" srclang="en-us">
28-
</video>
23+
Accelerates Delivery
24+
- Cuts integration time through standardized connection pattern for integrating with systems.
25+
- Teams can concentrate on what they do best without needing to understand how other systems work.
26+
- Replaces “your turn, my turn” development with a model where all teams can build at the same time.
2927

30-
For a more technical breakdown, there is also <a href="videos/phase3_demo.mp4">this video from August 2023</a> about the state of the system at that time.
28+
Drives Operational Efficiency
29+
- Breaks down silos by enabling seamless data sharing between healthcare and benefits systems.
30+
- Supports smarter use of resources by lowering the cost and complexity of system integrations.
3131

32-
Here is a visual demo to help show Event Bus in action:
32+
Enables Enterprise-Scale Resilience
33+
- Handles high volumes of events across multiple mission critical domains, ensuring VA can scale to meet future demands.
34+
- Strengthens system resilience by preventing cascading failures when individual components experience issues.
35+
- Provides transparency through real-time monitoring, reporting, and system health visibility.
3336

34-
<video width="640" height="400" crossorigin="anonymous" controls poster="img/eventBusDemo.png">
35-
<source src="videos/DemoVideo/visualDemo.mp4" type="video/mp4">
36-
<track src="videos/DemoVideo/visualDemo.vtt" label="English" kind="captions" srclang="en-us">
37-
</video>
37+
## **Determining if the Event Bus is Right for You**
3838

39-
## **Why use the Enterprise Event Bus?**
39+
Before you make further plans to leverage enterprise events, you should evaluate if event-driven architecture is the right fit for your system. Please read the content below, which describes the sorts of systems that would benefit from enterprise events.
4040

41-
- Show value by measuring success.
42-
- Help Veterans meet unmet needs.
43-
- Spend resources wisely.
44-
- Modernize and simplify systems.
45-
- Provide transparency by supporting easy reporting.
46-
- Provide peace of mind with no silent failures.
41+
<br />
4742

48-
Teams can use the Enterprise Event Bus to generate events based on state changes to the data they own and publish them on an event bus. Consumers are free to consume those events and react accordingly. More specifically, with the Enterprise Event Bus:
43+
![A table comparing characteristics of a good or not good fit for potential systems to integrate with Event Bus.](https://github.com/user-attachments/assets/fde3f0c6-e750-487d-bd11-4eda1005b15f)
4944

45+
<br />
5046

51-
- Event producers don’t need to know who the interested consumers are and therefore don’t need to keep growing their outbound complexity.
52-
- Multiple consumers may receive and act on an event; it’s not just an asynchronous queue sitting between a single producer and consumer.
47+
[Learn more about FISMA.](https://security.cms.gov/learn/federal-information-security-management-act-fisma)
48+
49+
[Learn more about VA system categorization (must be part of VA GitHub organization to view)](https://jubilant-succotash-m55rqe7.pages.github.io/categorization/).
5350

51+
## **Key Features**
5452

55-
## **Event Bus is Suitable for:**
56-
- Large enterprises with multiple services
57-
- Organizations seeking to reduce system coupling
58-
- Teams looking to implement event-driven architectures
53+
- _Asynchronous real-time processing_ ensures fast, efficient, and scalable operations by handling multiple tasks simultaneously without delays. This means your applications can process live data, respond instantly to user interactions, and seamlessly scale to handle more users without slowdowns or bottlenecks.
54+
- _Decoupled communication_ through an Event Bus allows system components to interact independently and react to data changes in near real-time. This improves flexibility, scalability, and resilience by reducing dependencies, enabling faster innovation, minimizing downtime, and eliminating the need for batch processing or scheduled data pulls.
55+
- _Event Bus offers easy integration with existing systems._ Systems can connect to standard tools like Kafka clients, making it easier to send and receive data without changing how they already work.
56+
- _Event Bus functions as a centralized hub for events._ By serving as a shared infrastructure for event-driven communication across VA, it allows systems to exchange both healthcare and benefit data.
57+
- _Built on Apache Kafka providing strong reliability._ The Event Bus ensures high availability, durability, and fault tolerance through features like message replication, persistent storage, and configurable delivery guarantees.
5958

60-
## **Is the Event Bus a Good Fit for You?**
59+
## **How it Works**
6160

62-
Before you make further plans to leverage enterprise events, you should evaluate if your system is the right fit for event-driven architecture. Please read the content below, which describes the sorts of systems that would benefit (or not benefit) from enterprise events.
61+
### How Events Flow Through the System
6362

64-
## **The Enterprise Event Bus is a good fit if:**
63+
- The Event Bus simplifies how teams share and react to data changes across systems. Here’s how it works:
64+
- Event Producers: Systems generate events based on state changes in the data and publish them to the Event Bus
65+
- Key Benefit: Event producers don't need to know who the interested consumers are and therefore don't need to keep growing their outbound complexity.
66+
- Event Consumers: Any system can subscribe to these events and take action accordingly
67+
- Key Benefit: Multiple consumers may receive and act on an event; it's not just an asynchronous queue sitting between a single producer and consumer.
68+
69+
### **Event Bus Workflow Example**
6570

66-
Your system relies on **heavy orchestration**:<br/>
67-
Coordinating multiple systems or services can become a challenging task, especially when some individual components lack reliability. This can lead to (partial) failures due to delayed status responses, unclear errors, or frequent retry attempts. A well-considered event-driven solution can greatly enhance the quality and performance of such systems.
71+
Here is an example of how Event Bus hypothetically could work:
6872

69-
Your system relies on **polling, due to high latency or infrequent processes**:<br/>
70-
Repeatedly querying resources can lead to unnecessary resource consumption and increased network traffic. Instead of periodically checking for updates, systems can be designed to react to events as they occur. This reduces overall latency and ensures that actions, such as user notifications, are taken promptly.
73+
When a Veteran visits their doctor and receives a new prescription, the system publishes an event to the Event Bus. This event instantly updates the local VA clinic’s records for reference for future appointments, notifies the pharmacy to prepare the medication, and sends an SMS to the Veteran letting them know their documents have been updated with their local VA clinic — all at the same time, without manual coordination.
7174

72-
Your system needs to perform **batch processing**:<br/>
73-
Batch processing introduces delays, as data changes accumulate before being processed as a group. Allocating resources to perform the batch process can also lead to resource spikes and inefficient usage of resources. Making real-time data available in such systems can greatly improve the timeliness of insights and actions.
75+
<br />
7476

75-
Your system is characterized by **tightly coupled components**:<br/>
76-
Instead of direct and synchronous interactions between components, producing and consuming systems operate independently. Consuming systems can act upon events as they are streamed, instead of needing to maintain 1:1 connections and await responses from the producing system. This leads to improved maintainability, scalability, and overall system resilience.
77+
![An example of how Event Bus hypothetically could work](https://github.com/user-attachments/assets/c8cbbd18-7876-457b-93b4-3c90983a901c)
7778

78-
Your system has **delayed or no user notifications**:<br/>
79-
Although there are many systems that would benefit from events, almost any scenario where a side effect of the business event is “to notify the Veteran” could be a candidate for an event stream.
79+
<br />
8080

81-
## **The Enterprise Event Bus is not a good fit if:**
81+
### **Active Use Case: Veterans Notified of Claims Weeks Earlier with Event Bus**
8282

83-
You are interested in a **one-time data sweep**:<br/>
84-
If you just need to search through a data source to identify specific cases for further processing, event-driven systems would introduce unnecessary complexity and overhead. The Enterprise Event Bus is geared towards handling ongoing event streams rather than singular, one-time data analysis tasks.
83+
Challenge: After a Veteran files a disability claim, they must wait until they receive their Decision Letter in the mail to learn the outcome, delaying their ability to plan appeals or provide additional information
8584

86-
Your system deals with **simple, linear workflows**:<br/>
87-
If you are dealing with a system that has no significant interaction between components, the overhead of event handling might outweigh the benefits.
85+
Solution: A team that owns the Claims Status Tool on va.gov and the VA Health & Benefits app within the OCTO Benefits Portfolio has partnered with the Event Bus to "listen" for these Decision Letter Availability Events.
86+
- When a Decision Letter is generated, the Event Bus triggers an immediate email notification to the Veteran, letting them know they can view the letter in their eFolder.
8887

89-
Your system is based on a **different programming paradigm**:<br/>
90-
There are many valid reasons to use other architectures, such as synchronous API-based technologies. Event-driven architecture is not the best solution in every scenario.
88+
Impact: Veterans are now notified weeks earlier, giving them more time to plan appeals or satisfy requests for additional information while also reducing uncertainty during the claims process.
9189

92-
Your system **lacks well-defined components, or has constantly changing interactions**:<br/>
93-
Systems that are continuously in flux, or don't have well-established boundaries or communication patterns would make it difficult to introduce event-driven designs.
90+
<br />
9491

95-
Your event data **is rated as “high” under FISMA (Federal Information Security Modernization Act) and VA system categorization**. The Event Bus is rated at a Medium level under FISMA and VA system categorization, and can only broker data that is rated as Low or Moderate at this time.
92+
![Active Use Case: Veterans Notified of Claims Weeks Earlier with Event Bus](https://github.com/user-attachments/assets/ebcc2fd3-bcd0-41d2-8330-ae47ac4102c0)
9693

97-
[Learn more about FISMA.](https://security.cms.gov/learn/federal-information-security-management-act-fisma)
98-
99-
[Learn more about VA system categorization (must be part of VA GitHub organization to view)](https://jubilant-succotash-m55rqe7.pages.github.io/categorization/).
94+
<br />
10095

101-
## **Reach out to us**
96+
### **Event Bus Introduction**
10297

103-
If you think the Enterprise Event Bus would be a good fit for your situation, please [reach out](./get-support.md)!
98+
Watch this video introduction to Event Bus to learn more about how it works:
10499

105-
The best way to contact the Event Bus Team is via the [#ves-event-bus Slack channel (must be in the Office of CTO @VA workspace)](https://dsva.slack.com/archives/C042ZQ7JUAX).
100+
<video width="640" height="400" crossorigin="anonymous" controls poster="img/eventBusSlides.png">
101+
<source src="videos/EventBusVideo/eventBusVideo.mp4" type="video/mp4">
102+
<track src="videos/EventBusVideo/eventBus.vtt" label="English" kind="captions" srclang="en-us">
103+
</video>
104+
105+
### **Event Bus Visual Demonstration**
106+
107+
For a more technical breakdown, there is also <a href="videos/phase3_demo.mp4">this video from August 2023</a> about the state of the system at that time.
106108

107-
## **Next steps**
109+
Here is a visual demo to help show Event Bus in action:
110+
111+
<video width="640" height="400" crossorigin="anonymous" controls poster="img/eventBusDemo.png">
112+
<source src="videos/DemoVideo/visualDemo.mp4" type="video/mp4">
113+
<track src="videos/DemoVideo/visualDemo.vtt" label="English" kind="captions" srclang="en-us">
114+
</video>
115+
116+
[Learn how to produce events](./produce-events.md)
117+
[Learn how to consume events](./consume-events.md)
118+
119+
## **Getting Started**
120+
121+
### **Next Steps**
108122

109123
Take the next steps to explore and begin using the Enterprise Event Bus:
110124

111125
* Understand the [administrative requirements](./administrative-requirements.md) for connecting to the Enterprise Event Bus,
112126
* [Dive deeper into a technical explanation of events](./intro-to-eda.md),
113127
* [Learn how to produce events](./produce-events.md),
114128
* [Learn how to consume events](./consume-events.md), or
115-
* [Reach out](./get-support.md) to us with questions.
129+
* [Reach out](./get-support.md) to us with questions.
130+
131+
### **Reach out to us**
132+
133+
If you think the Enterprise Event Bus would be a good fit for your situation, please [reach out](./get-support.md)!
134+
135+
The best way to contact the Event Bus Team is via the [#ves-event-bus Slack channel (must be in the Office of CTO @VA workspace)](https://dsva.slack.com/archives/C042ZQ7JUAX).

0 commit comments

Comments
 (0)