> However, as systems get more and more complex, this is not
> always possible, and a 'business tier' component may have to
> call several other 'business components' (each of which call
> several 'data tier' components) as well as several 'data
> tier' components to complete its task.

Hmm. If I read your message right, I think you may be making an
assumption that I don't necessarily agree with. This assumption is that
the data objects - the ones that hold state - are the ones that have to
have the transactional code in them. Have you considered making your
object hierarchy data-only and passing it *by value* to a processor
object method? You get to keep your object hierarchy for manipulating
the data, and you get to keep your processor model for transactional
operations against the data. By making it pass-by-value, you save
potentially expensive cross-host communication between the processor
object and its client.

But perhaps this isn't possible for you to do, because of investment in
existing code, etc. In that case, you have the options I mentioned
previously to check out!

You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced 
DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to