50 Part I Enterprise Integration Overview
Private Function GetNumber(ByVal Low As Integer, ByVal High As Integer)
Return aRandomNumber.Next(Low, High + 1)
With this code modification in place, you can run the simulation again.
You can now observe the effects you can have on data integrity if you have a
mechanism periodically check and correct any errors that arise. You can con-
tinue the cycle of changing the simulation, running the simulation, and observ-
ing the effects almost indefinitely. This allows you to theorize how you can
change a system to improve on it. These simulations can become as elaborate
as you have time to make them. The beauty of simulation is that it costs only a
tiny fraction of the cost of actually building and testing the entire system. Most
other disciplines make excellent use of software to simulate real-world models.
All too often, however, we software developers forget the benefits of simulating
before we begin construction.
Many, many techniques for modeling software exist. You can use most of them
when modeling an integration solution. In projects we have worked on, we
used data flow diagramming, object role modeling, state charts, interaction dia-
grams, and nearly all the other Unified Modeling Language (UML) models. The
rule of thumb is that techniques used for regular applications can be used for EI
solutions as well, only in a “scaled up” manner. For example, we use a lot of
sequence diagrams when we are trying to understand how systems interact.
However, instead of showing individual object activations, we show system
activations. This same scaling idea holds true for most of the other models men-
tioned in this paragraph.