Sunday, 6 May 2012

What is SOA Principles

In this post you will get any idea of what is SOA principles, SOA Principle defines the framework in which consumers and services will collaborate and acts as general guidance for the design and development of services. There are number of principles that can be applied to an SOA. 
  • Loose Coupling 
  • Interoperability 
  • Reusability 
  • Discoverability 
  • Governance 
Loose Coupling 
"What is SOA" "Why need SOA" you just raise question raise your self? the answer is Loose Coupling. Loose coupling principle, consumers and services do not communicate directly consumers and services communicate via messaging. Using a message to exchange request and replies avoids any direct technical connections between consumers and services. In addition to messaging, there are other service interface design techniques that can be applied to further limit the degree of coupling between consumers and the service.


Messages exchanged between consumers and services are realizations of the service interface. In the case of a Web service the service interface is defined by the combination of Web service Definition Language artifact and xml schem definition as its referenced metadata. These two types of interface artifacts are the foundation of any web services. The design and development of these two interface artifacts are a focus of the loose coupling principle. 








In SOA, a service may invoke a set of database activities as part of its behavior. However this is not a limitation. Through the service operations, a service could also provide computational, presentation, transformation, and other types of behavior. Regardless of the functionality provided by the service, the loose coupling principle must be applied. 


Interoperability 


Interoperability is one more type of "what is SOA" principle that eliminates technology specificity and constraints that may prohibit, restrict, or constrain the ability to collaborate in the soa. 
Interoprability allows consumers and services that are developed and platformed on different technologies to exchange information and collaborate. That is service might be developed using java, platformed on a server using the Linux operating system, and accessing an Oracle database. Consumers of this service might be developed using Visual C++ or even COBOL. They might run on Windows platforms or mainframe MVS platforms. The variations and possibilities are almost endless. A core tenet of SOA is to allow these consumers and services to collaborate, regardless of the technology on which they are based. 


Reusability 
The principle of "What is SOA" is reusability  to design and develop with an emphasis on cost avoidance. A service that is designed and developed to support the loose coupling and the interoperability principles is likely a good candidate for reuse. That is , original consumers as well as new consumers can exploit the functionality of the service. As new consumers express their requirements and where those requirements can be met by the functionality of the existing service, they can avoid having to design and develop yet another new service.

Discoverability 
Finding a service is the first step to service reuse and consumption. Even though a service might provide extensive functionality, it is largely ineffective if the service cannot be discovered for later use.
It contains published information about a service. A typical commercial service registry technology also includes some form of search or find capability. This allow designers and developers to search for already developed services as candidates for reuse.

Governance 
A successful SOA  and services implementation will incorporate services and services artifacts that comply with the loosely coupled, interopreable, reusable discoverable principles. SOA governance will provide the rules and framework from which compliance to these principles can be measured and identify opportunities for appropriate remediation of noncompliance. Some SOA practitioners might argue that governance is a process or a practice, rather than a principle, contend that to implement an effective SOA, governance is more fundamental and crosses the lifecycle of SOA. 

No comments:

Post a Comment