2. SOA : An overview
• What is SOA
o An architecture for building businesses applications
o Loosely coupled blackbox modules
o These modules are composed into well defined
services
o Promotes reuse at the macro (service) level rather
than micro (classes) level
3. SOA : An overview
• SOA is not Webservices
o DCOM (Distributed Component Object Model )
Microsoft version of RPC
o CORBA (Common Object Request Broker Architecture )
Cross language open standard for RPC
o Java RMI (Java Remote Method Invocation)
Java's implementation of RPC
o WCF
5. SOA Manifesto
• Business value over technical strategy
• Strategic goals over project-specific benefits
• Intrinsic interoperability over custom integration
• Shared services over specific-purpose implementations
• Flexibility over optimization
• Evolutionary refinement over pursuit of initial perfection
6. SOA Service Attributes
• Stateless
o A service neither remember what it did, nor cares
what comes next. There is no dependence upon
other service's state
• Discoverable
o A service must be discoverable by consumers of the
service. Usually via the SOA service directory.
• Self-Describing
o The service interface describes, exposes and provides
an entry-point into the service.
o A consumer never needs to know about the
technology used to create the service.
7. SOA Service Attributes
• Composable
o A service is created from other services in a
composite manor. In turn other services may use the
composed services to create new services, hence new
business value.
• Loose Coupling
o Separation of concerns through boundaries; a logical
or physical delineation of responsibilities.
o i.e. An account service with : open, authorize and
audit features.
8. SOA Service Attributes
• Governed by Policy
o Services are built by contract. The relationship
between services is regulated by an SLA.
• Indifferent to Location, Language and
Protocol
o A service shall be accessible by an authorized user in
any location on any platform.
9. SOA Service Attributes
• Coarse-Grained
o Due to the fact that services are business functions,
not block of code, it is critical that they remain broad
in terms of the contract they define.
o The more coarse the service is, the more business
value it brings.
o Coarse services reduce complexity, by reducing the
number of steps required, hence the number of
remote operations to be sent across the wire.
• Asynchronous
o Not required for services, but increases scalability.
o Achieved with an Enterprise Service Bus (ESB)
10. SOA Layers
Photo : http://en.wikipedia.org/wiki/Service-oriented_architecture
11. SOA : The role of ESB
• A software architecture model used for
designing and implementing the interaction
and communication between services in
SOA.
• Strictly asynchronous message oriented
design for communication and interaction
• Performs
o Message routing
o Mediation
o Transformation
o Queuing and staging
o ....