Contemporary SOA vs Primitive SOA | Baseline SOA, Common SOA, Core SOA, Future state SOA, Target SOA, Extended SOA
SOA (Service-Oriented Architecture) is an architectural model in which the solution logic is presented as services. By having services as the main method of delivering solutions, SOA strives to be highly efficient, agile and productive than other existing technology solutions. SOA provides support to realize the advantages of service-oriented principles and service-oriented computing. Many different technologies, various products, application programming interfaces, and other various extensions typically make up a SOA implementation. SOA is broken down in to Contemporary SOA and Primitive SOA depending upon the purpose they stand for. Primitive SOA is the model of the baseline service-oriented architecture that is suitable to be realized by any vendor. On the other hand, Contemporary SOA is the classification that is used to represent the extensions to the primitive SOA implementations.
What is Primitive SOA?
SOA is a constantly growing field with various vendors developing SOA products regularly. A baseline service-oriented architecture that is suitable to be realized by any vendor is known as the primitive SOA. Baseline SOA, common SOA and core SOA are some of the other terms used to refer to the primitive SOA. Application of service-orientation principles to software solutions produces services and these are the basic unit of logic in the SOA. These services can exist autonomously, but they are certainly not isolated. Services maintain certain common and standard features, yet they can be evolved and extended independently. Services can be combined to create other services. Services are aware of other services only through service descriptions and therefore can be considered loosely-coupled. Services communicate using autonomous messages that are intelligent enough to self-govern their own parts of logic. Most important (primitive) SOA design principles are loose coupling, service contract, autonomy, abstraction, reusability, composability, statelessness and discoverability.
What is Contemporary SOA?
Contemporary SOA is the classification that is used to represent the extensions to the primitive SOA implementations in order to further achieve the goals of service-orientation. In other words, contemporary SOA is used to take the primitive SOA to a target SOA state that the organizations would like to have in the future. But, as the SOA (in general) evolve with time, the primitive SOA is expanded by inheriting the attributes of contemporary SOA. Contemporary SOA helps the growth of the primitive SOA by introducing new features, and then these features are adapted by the primitive SOA model making its horizon larger than before. For all these reasons, contemporary SOA is also referred to as future state SOA, target SOA or extended SOA.
What is the Difference between Contemporary SOA and Primitive SOA?
Contemporary SOA and primitive SOA differ on the purpose they stand for within the context of SOA. Primitive SOA is the baseline service-oriented architecture while, contemporary SOA is used to represent the extensions to the primitive SOA. Primitive SOA provides a guideline to be realized by all vendors, whereas Contemporary SOA expands the SOA horizon by adding new features to primitive SOA. Currently, Contemporary SOA focuses on securing content of messages, improving reliability through delivery status notifications, enhancing XML/SOAP processing and transaction processing to account for task failure.