Differences Between Object Oriented Development(OOD) And Service Oriented Architecture(SOA)

One of the questions asked when getting a job as a programmer is, "What are the differences between Object Oriented Development (OOD) and Service Oriented Architecture (SOA)?". Let's try to answer the question in this article.

SOA (Service Oriented Architecture) is an abstract layer (layer) formed in addition to the component-oriented and object-oriented programming model.

.NET interview question: What are the differences between Object Oriented Development and SOA ( Service Oriented Architecture )

SOA is based on a set of interconnected service elements. We can think of a service as a class or collection of classes that hold operations (calls, methods). Establishing communication and exchanging information between various software products due to services is possible.

As seen from the development line, the service-oriented architecture model stands as the top model of the abstract overlay.

RemoteAPI (Application Programming Interface) usually stands in the background of services. If we explain in simple language, we can say that if we have an API and want to share it based on the client-server mechanism, then we turn to the SOA model. Now let's answer our question.

We can list the differences between SOA and OYP as follows,

  1. Everything in OOD is made up of objects. In SOA, although objects are used, they remain in the background because we see a set of calls (operation) as the front interface.
  2. In OOD, objects store state and behavior. In SOA, in most cases, processes are executed stateless.
  3. In OOD, the object does not "die" at that moment after a particular operation is performed. He is waiting for the appeal to him again and lives in memory for a while. SOA receives information from the Client, executes the corresponding operation, and resets everything by default. (this behavior can be changed)
  4. In OOD, clients have direct access to business objects. In SOA, services do not allow direct access to lower layers in the Client because they are the top layer.
  5. In OOD, objects are physically deployed to the client's computer. (i.e., the objects live on the client's computer). SOA isolates objects from the client and deploys them on the server.
  6. In OOD, since all objects are on the client's computer, the client must be "smarter" and call the necessary objects in the proper order by doing manual work. And SOA provides only a call(operation) set in the Client and hides all other operations from the client.
  7. In OOD, sometimes several steps are needed for a task, but in Service, since there is a single interface, we can simply refer to the interface. This shows that there is only 1 step to take.
  8. Unlike OOD, SOA has better scalable architectural solutions.
  9. OOD is a better option for programs with a graphical interface. The SOA is not conducive to graphical interface programming.
  10. Usually, OOD is used when building SOA infrastructure, but SOA is not used when implementing OOD.


Similar Articles