In today's turbulent and high-velocity business world, it is critical for business
systems to be agile and quickly adaptable to new requirements, regulations and
opportunities. Change needs to happen in days, not weeks or months, and shouldn't
require an army of IT staff. Present business systems architecture is often
a barrier to agility and cost of change is too high.
Business systems are often a combination of many independent applications running
on-premise and, increasingly, in a cloud. The linkages between these applications
also need to be agile and quickly adaptable to new requirements and opportunities.
This article discusses how business systems are commonly combined and event-driven
business applications can increase your organization's flexibility and intelligence
to reduce the total cost of change. Here's how.
Time-driven and request-driven interactions are two common types of communication
between business applications. Time-driven interactions follow a predetermined
schedule that governs when one application requests a service or information
from another, such as with polling scenarios. An example of a time-driven interaction
is a daily download from a parts inventory system to obtain a current parts
catalogue.
With request-driven interactions, an application requests a service or information
from another system as and when needed, often as a result of logic embedded
within the application, such as with push-pull scenarios. An example of a request-driven
interaction is when adding a new customer to your CRM system, it makes a request
for your accounting system to add customer as a new Accounts Receivable member.
Time-driven interactions work well when they occur infrequently or exchange
just small amounts of information, such as a daily parts catalogue. As businesses
demand more near-real-time information, the frequency of time-driven interactions
increases. For example, instead of a daily update of vendors' parts catalogue,
purchasers require up-to-the-minute pricing and availability. The time-driven
approach ultimately leads to decreased performance and scalability as the communication
between systems often happens when it is not needed, resultingin unnecessary
chatter.
Request-driven interactions provide a better scenario. Applications request
a service or information from other systems as a result of logic in the application.
This is somewhat better than the time-driven approach as each interaction addresses
a specific need in the application. However, the resulting system is not as
flexible and efficient as it could be, and adapting to new requirements and
opportunities requires internal modifications to applications. This type of
change is typically expensive and takes weeks or months.
-1-