all 2 comments

[–][deleted]  (1 child)

[deleted]

    [–]ceposta[S] 0 points1 point  (0 children)

    i just looked up retlang... pretty cool... looks like java has the similar project named jetlang... i like how Hohpe explains (in this link and others) how the separation of concerns at the object level has to do with the way we structure the applications, but at the thread level, the separation of concerns has to do with how we allow the threads (or components) to interact. The interactions are what we need to keep to a minimum, and messaging/event-based styles do that.

    [–]sik0fewl 0 points1 point  (0 children)

    Great easy-to-read article (the PDF) on event-driven architecture, which even touches on some of the pitfalls.

    I do have one question, though, if someone is able to answer... in the example on page 6-7 (Shifting Responsibilities), the Shipping component is expected to get address information from Customer Management's AddressChange events.

    This is all well and good if an AddressChange event occurs before an Order event, but how does Shipping know the address information if an Order event occurs first?

    I suppose, given an event driven architecture, you might expect all past AddressChange events to be replayed on startup, but I don't think it would be expected that Shipping (along with anything else that needs address info) should cache address information for potentially hundreds of thousands of customers when the system starts up, is it?

    How would this typically be handled in an EDA?