> What do you mean by "non-core"? If you mean that the references are > to data that isn't part of the information you're trying to convey > to the recipient, then sure, that's what I've been talking about; > use references for that stuff.
Essentially I'm talking about the sorts of issues Steven Jones raises here: http://service-architecture.blogspot.com/2006/08/single-canonical-form-not-for-soa.html I just find that by the time I get multiple receipients on board, all with different needs, the message baloons. > Hmm, I don't follow. Should have just come up with a simple example (its utter nonsense, but what the heck). A new Order comes in and so we send round a message describing this addition, in it we include basic Client data and also a reference to the Client who placed the Order. All but one of our consumers (for now) are happy with this message but a pesky WackyRepostService is responsible for generating a detailed report every time it receives an order creation message, the report includes the Order and detailed information about the Client and all sorts of related resources. We've discussed references and self-contained messages which we could use here. However if the WackyReportService already maintains its own (non-authoritative) copy of the Client's data (and related data) then we can keep the messages small without some of the disadvantages described. So when the WackyReportService gets the message it just uses the Client reference as a lookup to its own (potentially temporal) information about that Client. - Colin
