10 Soa Design Patterns Every Architect Should Know
posted by Anna Mar, September 07, 2010These 10 SOA design patterns are so important and widely used that they almost seem a little obvious.
1. Agnostic Services
Agnostic services implement logic that is common to multiple business problems. Separating agnostic logic into discrete services facilitates service reuse and composability.principles: reuse, service composability
2. Agnostic Service Declaration
Agnostic services should explicitly declare that they are agnostic. This makes it clear to future designers and builders which services are designed to be reused.principles: reuse, service composability
3. Atomic Service Transaction
Services can be wrapped in atomic transactions with a rollback feature that reverses all actions and changes. Transaction management services can be implemented in the component layer and reused by multiple services.principles: service statelessness
4. Enterprise Service Bus (ESB)
An ESB acts as a message broker between consumers and services. The ESB can perform message transformations, routing and connect to applications via a variety of communication protocols.principles: loose coupling, interoperability, endpoint abstraction
5. Service Façade
A service façade sits between a service and a contract. It eliminates the tight coupling between the service and its contract. This is intended to minimize changes to the service if the contract changes. A service can have multiple service façades to support multiple contracts.principles: loose coupling
6. Service Callback
A service requires its consumers to call it asynchronously. If the consumer needs a response it provides a callback address. When the service reaches some milestone in processing it messages the consumer with a response. This approach frees resources and is useful when services are expected to be long running.principles: loose coupling
7. Multiple Service Contracts
A service may support multiple contracts concurrently. This can be done to support backward compatibility (so that when a service changes all the consumers do not have to be updated). It is also done to provide different views to the service for different purposes (thus facilitating reuse).principles: reuse, loose coupling
8. Authentication Broker
An authentication broker assumes responsibility for authenticating consumers. Consumers are issued a token they can use to access services.principles: service composability
9. Message Origin Authentication
Digital certificates are used to authenticate clients.principles: service composability
10. Message Screening
Messages are screened for harmful data before processing.principles: standard service contract
SOA Guide Our collection of SOA architecture resources and tools. |
Recently on Simplicable
IT ROI is Fading Fast as a Measure of IT Successposted by Anna MarSomebody tell the CFO — IT ROI has gone the way of the dinosaurs. |