Which part do you think is wrong? The part that you must go to the web service, or the part that you directly click on the database?
SOA is more of an API development guide rather than a development methodology. This is not an easy task, but the reward for reuse is often worth it.
See Service-Oriented Architecture Extends Web Services Vision or Any SOA Technical Book. Simply handling function calls using a web call does not make it a service-oriented architecture. The idea behind an SOA is to make reusable services, and then you provide a higher level of services (like a website) by linking or organizing low-level services. At a very low level, you should focus on such things as statelessness, loose communication, and granularity. Modern environments, such as Microsoft WCF, support wiring protocols such as SOAP, REST, and faster binaries nearby.
If your application is designed to work over the Internet, you should be aware of problems with network latency. In a traditional client-server application, which is deployed on the local network, since the latency is less than 10 ms, you can get into the database every time you need data without interrupting the user's work. However, on the Internet, it is not uncommon to have a delay of 200 ms if you go through proxies or oceans. If you get into the database 100 times, and this will add up to 20 seconds of pause. In SOA, you try to put all this into one document and you exchange the document back and forth, just like the tax filed using form 1040 if you live in the USA.
You can say that the latency issue doesn't matter, since the web service is consumed only by your web application tier. But you can hit the web service from the browser using AJAX to reload the data, which should give the user a shorter response time.
source share