Database Reference
In-Depth Information
generic tasks. Partly missing components will be covered in the Adapter framework dis-
cussion.
We stepped beyond the traditional OSB features and implemented some of the mediation
patterns mentioned in the functional decomposition table. We did it with the intention to
demystify the most commonly used SOA terms—Service Agent and Service Facade (pat-
terns). If you are using this topic as an additional resource to prepare for your SOASchool
SOA Architect ( http://www.soaschool.com/certifications/architect ) exams, we can give
you a simple rule regarding this terminology:
• Service Agent is an event-driven program (module) without a publicly exposed
contract. It's most commonly located in the SOA technical infrastructure between
the atomic services, intercepting the interactions and reacting to certain events.
Sometimes, it is called an interceptor or a listener. We just delegate routing, trans-
formation, and other features to this module and use OSB as a container for
agents. At the same time, SCA Mediator can have a contract. Is it an agent?
• Service Facade is a module that resides within an individual service, decoupling
logic and underlying resources and contracts, allowing them to evolve independ-
ently. We used them in our preceding design. It's probably the closest thing to the
decorator pattern. Again, SCA Mediator, as an intra-composite element, exists in-
side the task service. Is it a Facade?
Speaking further on realization SOA and EAI patterns from the functional decomposition
table, we can draw some more conclusions. As you probably noticed, the EAI patterns
look suspiciously similar to those decaled in Camel/ServiceMix ESB (Fuse is a RedHat
commercial version http://www.redhat.com/fusesource/downloads/ ) , they were systemat-
ized by Gregor Hope and Bobby Woolfe in Enterprise Integration Patterns: Designing,
Building, and Deploying Messaging Solution . That's absolutely true. Even the concept of
a Routing Slip (we call it an execution plan) is similar, although this is not an exclusive
property of Camel:
• As Camel is one of the best open source Oracle rivals, we just reconfirmed OSB's
capability to keep up with the strongest performers.
• OSB can do it by means of a simple Messaging Metadata pattern (EP XML in
Message Header), without inventing Java-like DSL.
• When it comes to truly lightweight but comprehensive solutions without any
compromises in features, think twice before building your own Message Broker
as we did at the beginning of this chapter for learning purposes. You really will
have it all in Camel/Fuse (mind you, we are not working for Oracle, at least for
Search WWH ::




Custom Search