SOA vs Client-Server vs Web Service - what is the difference?

After reading some literature on the topics of SOA architecture, Web services, and Client-Server. I really confused these terms because I do not see the real difference between them. Can anyone explain what the actual difference between SOA and Client-Server is? Can I use Client-Server to implement SOA, and the first is a different concept? Is the client server out of date now? And where is the place for web services here? Is a web service only a client server architecture?

I would really appreciate if someone could help me clarify all these terms and the differences between these concepts.

+7
rest architecture web-services client-server soa
source share
2 answers

The biggest difference between an SOA and a client server is the link between the layers. In SOA, the server side is very client independent. Many different types of clients use the same server. Think of a web server. It does the same, no matter which browser you use to connect to it. Therefore, SOA services are intended to be reused. http://en.wikipedia.org/wiki/Service-oriented_architecture

Client-server, on the other hand, is usually more connected. A server exists for a specific client without planning for reuse. Think of Microsoft Exchange. It is designed to work with Microsoft Email clients. It is literally just dividing one process into two parts running on different machines. In this case, technically, an SOA service is a client server, with several clients.

Thus, all SOA services are client-server, but not all client-server processes are SOA.

+13
source share

Let's take an example.

You wrote the calculator code in any language (java, c, C ++, etc.) that perform 4 operations: addition, subtraction, multiplication and division. Suppose we deploy this code on a server. Now you want to publish this code on the Internet so that anyone in the world who has connected to the Internet can use your code. The web service is now operational. According to your server, you need to follow the implementation method to convert your code into a web service. For example, you use the Apache axis server and you injected your code using jax-ws (java api for xml web services). Your code will be published as a web service at the URL (e.g. http: //www.myserver/calculator ).

Now, how are you going to access this web service? Now the client enters the game. Suppose you have created the website www.calculation.com. And from there you take 2 integer inputs and call your web service using http: //www.myserver/calculator/add to add, http: //www.myserver/calculator/subtract to subtract http: //www.myserver/ calculator / multiply for multiplication and http: //www.myserver/calculator/multiply for division.

Now you can see that each of your operations with web services adds, subtracts, multiplies and divides works as a service, and in the future allows you to claim that you have a requirement to place the equation solution service on your site, then you can reuse your add, subtract, multiply, and split web services using these links to create another service. Here you go, you have reached a service oriented architecture, i.e. SOA.

+2
source share

All Articles