[
Lists Home |
Date Index |
Thread Index
]
Hi Tony,
"Anthony B. Coates" wrote:
>
> > 1. You should never interchange data that may be calculated.
> > Interchange using the "fundamental data", from which calculations
> > may be done.
>
> Sorry to have to say this, but this is one of the prime
> anti-principles in financial XML specs. It makes the XML compact, but
> not robust. It assumes that every system will calculate the derived
> values the same way. This can be very hard to guarantee in practice,
> and it is a risk not worth taking when you have big sums of money
> (or in other context, people's lives) involved.
You make an excellent point Tony! I'd like to explore the issue a bit.
If it's okay with you, I'd like to stick with my distance example.
First, let me make certain that I fully understand your point:
I argued that the aircraft system should not interchange this data:
<distance to="destination airport">590</distance>
Instead, it should interchange position data.
Your concern is that an application will receive the position data, do
calculations on it to generate the distance, and in so doing may end up
with a value of something other than 590 (e.g., 585), due to things like
rounding errors and differing algorithms. I believe that is the crux of
the problem that you have identified, correct?
It just dawned on me that I have been locked into this mental pattern:
"distance is the critical value and that value must be maintained
between the sender and recipients". Let's change that mental pattern.
(Has anyone read Lateral Thinking by Edward DeBono?)
Let's stop making distance the critical value but rather make position
the critical value! For example, rather than the recipient application
behaving in this fashion:
"when the distance is 400 then I will do xyz",
instead the recipient application deals with the position directly and
thus behaves like this:
"when the position is {lat=39.345, lon=78.410, hae="12000"}
then I will do xyz".
[hae = height above ellipsoid]
By shifting the applications' focus away from distance to position we
get multiple benefits:
- we get all the benefits of interchanging "high value data" (which
I described in my last message)
- plus, we get the confidence that the sender and receiver will
be dealing with the same data
How does that sound Tony? Perhaps you could give an example from the
financial world and see if we can do a "mental pattern shift" as above?
/Roger
|