I REALLY enjoyed reading this chapter. The process to obtain a loan quote is a something that we are all familiar with, but it was good to now look at the process from another aspect. This article spoke in detail of the process and how it uses patterns and queues to complete the task. This process has to be very efficient because at a bank you have multiple clients wanting to use the service concurrently. As long as each broker picks the correct implantations this should not be a problem.
The Complete Loan Broker Design figure was vary good; then even remembered to take into account the fact that each bank may use a slightly different message format for the loan request and response. To get past this they use a translator to send the message out and a normalizer to bring the request back in. I couldn’t find much on the details of how this works but basically it is an adapter that converts the interface of a component into a another interface so it can be used in a different context.
Under the section Synchronous vs. Asynchronous it describes the pros and cons of each one. One the major benefits of using asynchronous invocation over synchronous over a message queue is the ability to create more than one instance of a service. “For example, if it turns out that the credit bureau is a bottleneck, we could decide to run two instances of the credit bureau component. Because the loan broker sends the request message to a queue instead of directly to the credit bureau component it does not matter which component instance processes the message as long as the response is put back onto the response channel.” That part was a bit confusing to me…..if you send a request to the queue and then later send another request to the queue…how can you expect the second request to return first? Isn’t the whole point of queue to form a line?
Under the addressing section it talks about the fixed vs. distribution vs. action. The auction will work the best as long as you put some type of restrictions on it such as filter or an aggregator. The reason being you do not want to wait all day for a response from a bank. There must be a cut off time.