I have been reading up on WCF and coming from a background where we didn’t use web services that much I am trying to figure out the comparative advantages of using a Webservice over a database. I can definitely that when you are trying to interface with a with an outside application say to auto order materials from your inventory management application to the vendors order placement application. But internally I am trying to see the usefulness.
Communicating with two different applications in different languages on two different systems internally can be done on a central database. Say you have a customer places an order you application written in Java stores it in your MySql database and then the person on the shipping floor receives the order through his application that checks for new orders automatically from MySql through the program. So I am not sure where web services fit into the whole scheme of things internally. What are some examples of times when you would want to use a SOA over a Database?
I am not sure if you can even compare SOA (such a broad term), with database. The definition for SOA in Wikipedia is
So its not just about two applications that talk to a database as you have stated. It’s about a broader look in to your whole business system. The SOA layer will provide services to all the upstream applications that can be considered as consumers. The SOA layer might be communicating with any number of databases. May be to a MySQL, SQL Server, Informix all at the same time. The consumer of these SOA layer won’t have to bother about the downstream systems and he can use the business functionalities available in the services.
Hope this gets you a hint on what SOA is all about. For a good read on what SOA is go through this Wikipedia article http://en.wikipedia.org/wiki/Service-oriented_architecture