A web service is a service accessible using standard protocols over the web. The only strict requirement is that the messages being passed between the web service and the client are SOAP envelopes. The other two parts of the "classical" web services architecture are UDDI and WSDL. WSDL documents are used to describe the interface of a web service so that a developer (or a tool!) knows how to use that service. UDDI is an API for accessing a registry where service providers have published their web services for clients to discover (the UDDI API itself is actually based on SOAP messages).