Web services has extended the foundation of WWW (World Wide Web) by providing the medium for software to connect to other software applications. These applications access web services through universal web protocols and data formats such as HTTP, XML and SOAP.
According to W3C a “Web service” as “a software system designed to support interoperable machine-to-machine interaction over a network”. It has an interface described in a machine-processable format. Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.”
Web services provide various software applications, which are running on different platforms, to interoperate with each other through standard means.
Web Services normally work outside of private networks, contributing developers a non-proprietary route to their solutions. It also allow developers to use their preferred programming languages.
Web Services let business logic of many different systems to be disclosed over the Web which gives your applications the freedom to chose the Web Services that they need. So you need to include additional application-specific business logic on the client-side instead of re-inventing the wheel for each client. This makes you develop services and/or client-side code using the languages and tools that you want.
You can deploy web services over standard Internet technologies. It is possible to deploy Web Services even over the fire wall to servers running on the Internet on the other side of the globe.