What is a Web Service
A web service is a wrapper around a program that is deployed so that others can use it (i.e. as a service) that is described in XML (The WSDL - Web Services Description Language - dialect) so that it is self-describing.
The fact that it is self-describing allows the automation of its use by workflow creation engines and so on.
Data transfer to/from web services is also in XML via SOAP (Simple Object Access Protocol) messages.
A web service provides a component in a Service Oriented Architecture (SOA).
The Anatomy of an Undeployed Web Service
A web service comprises:
The Anatomy of a Deployed Web Service
A deployed web service is one that is running on a machine, and is an undeployed one that has gone through a deployment (aka provisioning) step.
Provisioning a Web Service
They are normally deployed into web application engines (Tomcat, Axis, etc).
Creating a Web Service
This is generally not trivial, but there are various tools being worked on (e.g. at York) to allow a command-line application to be quickly turned into a web service.
Please refer to the legal disclaimer covering content on this site.