Monday, November 5, 2007

Week 4: Enterprise Integration Patterns (II)

Hohpe’s Book briefs about the information on Enterprise integration which describes large-scale integration solutions across many technologies. Some of the detailed information includes advantages and limitations of asynchronous messaging architectures. In addition, Hohpe’s Book discusses code design that connects an application to a messaging system, how to route messages to the proper destination and how to monitor the health of a messaging system. On the other hand SOA pattern touches on Service Orientation (SO of SOA) and the business aspects of SOA, the Architecture (the A of SOA).This includes solutions to various SOA challenges which are patterns and anti-patterns. These patterns and anti-patterns help to express architectural concerns and solutions, and provide a context for the problem as well as covering the forces and consequences of both the problem and the solution. Thus Hohpe’s book involves basically application on messaging system which involves the type of technology applied. SOA pattern is focused mainly on the architectural part of the technology (concerns and solutions).

Chapter 6 discusses these two types of models: Request/reply and Publish/subscribe. Channel is the implementation of a queue for requests or reply. Request/reply involves transmitting a request from the requester system or system object and transmitting back a reply from the replier system or system object. The requester sends the request message and expects to receive the reply message, and the replier receives the request message and sends a reply message in response. Publish/Subscribe involves the Observer Pattern, in which an object notifies its dependents of a change. But the object is kept decoupled from its dependents so that it works fine regardless of the number of dependents. The object announcing the changes in its state is the Subject and the objects interested in receiving notification of any changes in the Subject are Observers. An Observer could get notified of any changes in the Subject by using the push or pull model.

Chapter 9, consists of composed messaging examples, shows a good example of how a messaging system can be developed and adapted to changing conditions and specifications. All messaging systems (email, IM, etc.) started out as relatively basic concepts and they have expanded to complex systems which can handle complicated operations.

Chapter 12 demonstrates how to compose routing and transformation patterns into a larger solution.Author chose to model the process of a consumer obtaining quotes for a loan from multiple banks. Based on the patterns that are defined creates three alternative implementations for this process, using different programming languages, technologies and messaging models.

No comments: