Web services is much more than a concept that is bandied about by the marketing department to sell software. It is made up of bits and pieces of code, protocols, tasks, independence and connection tools. Lets just say a web service is a tiny piece of coding that performs a few jobs, usually utilizes XML, could care less about specific operating systems, are language agnostic and capable of connecting people and machines. How’s that for a terribly confusing run on sentence. Let me see if I can break it down a little more for you.
When you think of a web service, you need to think small. This is not a killer application in and of it self. What it is, is a small piece of the larger software solution. Think about things like getting an account balance, or sending an order request to a vendor. That’s it, that’s about the actual scope of a web service.
Web services are all about leveraging existing protocols and playing well with commonly existing standards. I know that can be a bit of a stretch for you anti-MS readers in the crowd. But it’s true. Web services work well with UDDI, SOAP, WSDL and HTTP. These protocols all exist to facilitate communication between applications. HTTP (Hypertext Transfer PRotocol), XML (eXtensible Markup Language), SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), and UDDI (Universal Description, Discovery and Integration) can all be communicated with using .NET web services.
The nice thing about web services, is their agnostic approach to different operating systems. Meaning, basically that they don’t really care if there talking to Unix, Linus, Windows or MVS. Because they communicate using the above mentioned communication protocols they allow for different machines using different operating systems to speak with one another.
The advantages of Web Services should be obvious to just about anyone. Communication is the biggest hurdle to overcome between computers and machines, and web services tackles that solution first and foremost. Because of the size of the services, it makes deployment and development inexpensive and quick. Patches and new features can be implement in a timely and effective manner. Plus, once a service is developed for one application, it can be shared across multiple machines, platforms, and applications.