Introduction to SOA – Service Oriented Architecture
Service oriented architectures (SOA) is an architectural pattern which requires all exposed functionality to be published as services in a platform-independent manner. These services can be consumed by other applications.
To successfully utilize SOA on an enterprise level, you need to consider:
- All interfaces need to be clearly defined and stable and to make use of global data types they should avoid superfluous transformations caused by technically different definitions of semantically identical information.
To establish additional reliability, all services must follow clearly defined communication and behavioral patterns. For example – Clients need to know whether services are synchronous or asynchronous, whether they return an answer, how they handle exceptions, which security policy they use etc.
- A service in SOA is best explained as “Structure, Typing (as in Object Orientated and system design) and behaviour”.
- Best understood as “Message Based Integration”.
- A “Service Object” gives access to a business object and business functionality.
- A “Service Object” uses a “Service Interface”.
- A “Service” has a related signature and message types, which control the structure of the operation.
General categorization of Services
- A service can do a Query operation
- A service can do an Action operation
- A service can do a CRUD (Create Retrieve Update Delete) operation
The Service can be Synchronous or Asynchronous.
Essentially SAP SOA can be seen as a set of standardizations of interfaces. For example one could move from having 3 different mapping rules and possible interfaces for a single business process, for example a price and availability check, to a single standardized SOA service.