Service Oriented Architecture or SOA is an architectural pattern of information technology in the field of distributed systems for the services to structure of IT systems. A special role is played by the focus on business processes, their levels of abstraction are the basis for concrete service implementations : Forgive the loan for example, is located at a high level; behind it hides a banking enterprise, a business process with some of the people are involved and the information systems (Open the business relationship, Create one or more accounts, credit agreement and so on) are carrying the customer in to a service at a lower level. By assembling (or orchestration) of the services of lower levels of lower abstraction level, the whole system can be made quite flexible which allow maximum re-usability of higher abstraction levels. Previously we published an article on How Service Oriented Architecture Ties Cloud Computing, that is basically an example of implementation of the Service Oriented Architecture or SOA. Service Oriented Architecture or SOA can be applied on virtually any enterprise grade business.
General Concept on Service Oriented Architecture or SOA
Service Oriented Architecture or SOA can be considered as a method or paradigm, the existing computer components such as databases, servers and websites to encapsulate in services to coordinate (orchestration) that summarizes their performance to higher services and other organizational departments or customers to made them be available. So, Service Oriented Architecture or SOA is largely non-technical individual tasks such as database queries, calculations and data formats, but the combination of these IT services to higher purpose – such as executing an order or check the profitability of a department, etc. – which offers an organization department as a whole.
Service Oriented Architecture or SOA thus it is a structure in which the enterprise application integration made possible by the complexity of the individual applications to the standardized interfaces which is kept hidden. The aim is to have long-term lowering of costs in software development, as well as achieving a higher flexibility of business processes by reusing existing services. Covering the cost of programming is realized with SOA application, since all necessary services are already available and these only need to be orchestrated. This leaves only the cost of the business analysis and software configuration. Service Oriented Architecture (SOA) requires a very strong integration of individual IT components; so that their orchestration succeed economically. Thus, SOA plays a role even in the selection of IT components. A technical implementation of SOA is to offer these services on the Internet. The communication between such services offered on the Internet can SOAP, REST, XML-RPC or similar protocols. The users of these services just know that the service is offered, which inputs it requires and which type is the result. Details about the way the results analysis need not be known. What services are available and how they are driven, by a directory service such as UDDI be learned.
Definition of Service Oriented Architecture or SOA
The term service oriented architecture was first marked in 1996 by the market research firm Gartner. Gartner, therefore, is considered the inventor of service oriented architecture or SOA. There is no universally accepted definition of SOA. Nevertheless, the definition of which is often cited is ”SOA is a paradigm for organizing and utilizing distributed system functionally, which is managed by different owners. ” The central theme of all definitions are the services. The following are the ideal-typical characteristics of services are listed in a SOA. In practice, not all of these requirements are fully complied with.
- A service is an IT professional representation of functionality.
- A service is complete in itself (independently) and can be used independently.
- A service is available on a network.
- A service has published a well-defined interface (contract). For the use, it is sufficient to know the interface. Knowledge of the implementation details, however, are not required.
- A service is platform independent , i.e. suppliers and users of a service can be used in different programming languages on different platforms to be realized.
- A service is registered in a directory.
- A service is bound dynamically , ie when creating an application that uses a service, the service does not need to be present. It is localized and only involved in the execution.
- A coarse-grained service should be to reduce the dependency between distributed systems. Finally, it should be noted that there is no “SOA”, SOA is rather just a point of view that can be interpreted in different ways.
- SOA is not Web services – SOA describes isolation of specific implementation methods and techniques of an architectural paradigm.
- SOA is not new – A service-oriented architecture has also been implemented a decade ago with the then existing methods and procedures.
- SOA is not a solution to technical problems – As SOA architecture paradigm is no recommendation for treatment of technical problems.
- SOA is unique – there are no “standard SOA”. A company must always cut a SOA to their own needs.
Example of Service Oriented Architecture (SOA)
As an example of a business process can be : a customer’s order to a shipping merchant. In this, we have the following process steps: Acquisition – availability checking -> credit checking -> Order -> picking -> Shipping -> Invoicing -> receipt of payment.
For each business process step, there is a service. The implementation is through programming, system requirements, etc. – it may be different for different business. Also the services on different systems can be implemented even by different companies. Thus, the solvency of the customer could be determined by a financial service provider or the various logistics services. Key information such as customer number or item number can be provided by the services of the infrastructure, so far they each needed. The sequence need not be so sequentially as shown. On the contrary, most of the business process all steps can fail. Lack of inventory, lack of credit and the absence of receipt of payment lead to branches that require correspondingly different procedure. The simultaneous processing of multiple business process steps – such as shipping and billing – is possible. However, it is important that, for example, the credit checking process is always the same, even if it is used by different processes or even companies.
Therefore the important targets of SOA are easier maintainability, better consistency and more consistency, which is achieved and even the implemented service can be maintained in the long term, it must not always be worn when to change the business processes, making the saved effort errors avoids the time delay. The company decides to place the credit check, the infrastructure must call this service only with another provider. Otherwise, nothing will change further.
Implementation of Service Oriented Architecture (SOA) is avoided within this article to make it less technical.