Article

Understanding Event-Driven Architecture

AIX
Posted:
March 30, 2017

We’re joined at the hip with our smartphones. No, literally: they’re always in our pockets, just a foot or two away, making it easy for us to react and respond to any and every update within minutes or even seconds.  We have this in common with the model of event-driven architecture.

At its core, event-driven architecture is about reacting to various events on your systems. Event-driven architecture allows you to react to multiple different sources without having to write code for each of those sources. Let’s take a closer look at event-driven architecture to better understand how it works and why it has value for your enterprise.

Coupling and Event-Driven Architecture

Standard computer architecture is based on the concept that system A is calling system B. When B finishes its job, it calls C. The problem with this particular architecture is that it’s tightly coupled. For this trajectory to work, A must know a lot of stuff about B, including what parameters need to be passed along and where the y exist; B must know a lot about C; and so on. When programs are tightly coupled, they cannot be easily reconfigured and moved around.

In contrast, the Internet is almost entirely loosely coupled. Essentially, you send a request and wait for a response. With this type of coupling, there’s often an HTTP standard implied. If you’ve got your browser and your Web server, a request goes out and a response comes back, which could be HTML (in which case you’d get a webpage) or it could be JSON (text-driven data format for passing data back to a browser). This is a good example of loose event-driven architecture or coupling because the browser does not really know what type of Web server it’s communicating with or where it’s located. As a user, you’re providing that information because the Web server doesn’t know anything about your browser: it just knows to respond.

Coupling therefore describes the types of relationships occurring with event-driven architecture: how closely related the requester and the responder are.

What's Threading?

As an example of threading within event-driven architecture, say you need to get data from another source. You can spawn off another thread that goes to get the data and, when the data is ready, he’ll notify another thread that the data is ready. With event-driven architecture, your systems can work through message queues and event-handling threads. Being able to put jobs into a queue and pull them off and handle them in the correct order is a huge part of what makes event-driven architecture important.

Why Event-Driven Architecture Matters

event-driven architecture enhances flexibility
Ultimately, event-driven monitoring is about not having direct calls. Rather, having the flexibility to have more than one thing reacting at a time helps you build a more dynamic workflow. Event-driven architecture gives more control to users: they can decide what happens, when it happens, and how it happens. For example, if you had a mechanism within a program, such that A calls B, B then calls C, C then calls D, and so on, it would be difficult to modify this workflow and set up any sort of special instance. Without an event-driven architecture, it’s difficult to create special rules for one of the components down the line. Giving the user the power to configure each step in their workflows has become paramount to building functional and realistic job schedules.

 

Though this information about coupling and threading function at the micro-level of computer programming, they are still at the foundation of what makes Automate Schedule an event-driven enterprise job scheduler in a more macro-level sense. With Automate Schedule, you’re setting up reactions to various job statuses. This does not require intervention from the user; rather, when a job ends, you know that something else will happen in reaction because the system is monitoring for that event.

Start building an event-driven job schedule with a Automate Schedule trial today. With Automate Schedule, you can build an event-driven schedule that incorporates disparate job schedulers from your business-critical applications, including SAP, Informatica PowerCenter and Cloud, and cron.  

 

Get Started

Try Automate Schedule free for 30 days