Ticker

6/recent/ticker-posts

SOA – Service Oriented Architecture - Cloud Computing

SOA – Service Oriented Architecture

  • The service provider publishes a service description (WSDL), e.g. on a service broker
  • Service Requester finds service (on service broker) and dynamically binds to service
  • Enables ad-hoc collaboration and Enterprise Application Integration (EAI) within web- based information systems
  • SOA is about how to design a software system that makes use of services of new or legacy applications through their published or discoverable interfaces.
  • These applications are often distributed over the networks.
  • SOA also aims to make service interoperability extensible and effective.
  • It prompts architecture styles such as loose coupling, published interfaces and a standard communication model in order to support this goal.

Properties of SOA

  • Logical view
  • Message orientation
  • Description orientation

Logical view

  • The SOA is an abstracted, logical view of actual programs, databases, and business processes.
  • Defined in terms of what it does, typically carrying out a business-level operation.
  • The service is formally defined in terms of the messages exchanged between provider agents and requester agents.

Message Orientation

  • The internal structure of providers and requesters includes the implementation language, process structure, and even database structure.
  • These features are deliberately abstracted away in the SOA
  • Using the SOA discipline one does not and should not need to know how an agent implementing a service is constructed.
  • The key benefit of this concerns legacy systems.
  • By avoiding any knowledge of the internal structure of an agent, one can incorporate any software component or application to adhere to the formal service definition.

Description orientation

  • A service is described by machine-executable metadata.
  • The description supports the public nature of the SOA.
  • Only those details that are exposed to the public and are important for the use of the service should be included in the description.
  • The semantics of service should be documented, either directly or indirectly, by its description.