Hello,
I would like to third the business validation comment. Also the standardization of handling and creating dates is very helpful.
The part about leaving the standard alone is another point that I like, looking at it now from a distance. I have ideas that maybe it would be good to have the various standards wrapped in a canonical that acts like a meta-layer. This layer would house the new locations for data that are not available in the source document. You would then only need a native data extractor for each document (you would make one anyway for a full canonical) and a final extractor on just the meta-layer.
That way, you can have fields that may not exist yet accessible to your new apps, and migrate the extractors down to native layers as they become available. I like pictures, so here is what I see:
A[meta]{source1}
B[meta]{source2}
A -> (extractor1 {meta-extractor}) -> PO{from source}, ACCT{from source}
B -> (extractor2 {meta-extractor}) -> PO{from source}, ACCT{from meta}
This way, you will have less preprocessing and validation. You can also easily deposit the information into a native (legacy) application that would want only the source. All without you un-processing your document.
So you may have a way to get some of the goodness out of a canonical while respecting all the advice of Rob and Mark. Good day.
Yemi Bedu
#webMethods#webMethods-General#Integration-Server-and-ESB#webMethods-Architecture