Myth Busters: How to interact with online Web Services?
Legend has it that you can only interact with web services using REST APIs. The same legend also has it that HTTP is the only way of communication on the interweb. And I am here to bust this myth. Thank you in advance for coming to my TED talk.
Elevator pitch
REST over HTTP impose an implied tight coupling between services due to the synchronous point-point nature of the API and protocol respectively. A system based on sending and subscribing to events advocates for a more real-time behaviour and a decoupled architecture hence the name "Event-Driven Architecture" (EDA). The decoupling is achieved by an applications sending events on a topic to a message broker without knowing how the event is controlled or is consumed by.
HTTP, REST and EDA walk into a bar
Okay, let me try to break down these concepts in a very simple manner
{
0 : {
"concept" : "HTTP",
"definition : "Synchronous point-to-point communication protocol between a client and a server to exchange resources"
},
1 : {
"concept" : "REST",
"definition : "Mechanism leveraging HTTP to send, receive and modify resource one request at a time (request-reply)"
},
2 : {
"concept" : "EDA",
"definition : "Event Driven Architecture based on the idea of sending events to a message broker on a topic and subscribing to them for consumption"
}
}
I have a previous blog post here talking about How I built an event-driven NodeJS app on realtime COVID-19 data streams. You can dabble with it if you'd like 🔥
What is my Journey to learning event-driven development
I wrote a lengthier blog post that goes into my journey to learning event driven development in details
In this blog post I talk about
- The history of HTTP and the rise of REST APIs
- Why HTTP and REST are popular
- How our education system is TIGHTLY coupled to industry relevance. In other words, most course outlines are based on "Will this content get a job and dolla dolla billz to our students? If yes then include it in the curriculum!"
- Foundational software and technology concepts and how they map to Event-Driven development concepts
- REST vs. Event-Driven
- Silver bullet when choosing REST vs EDA
You can read more about the post here https://solace.com/blog/developer-guide-event-driven-development/
And with that, I will leave you with
What is your Event-Driven Journey? Have you used event-driven architectures before and how were you introduced to it? Is this your first time hearing about event-driven development and what are you thoughts about it?
Top comments (0)