Let me just preface this by saying I'm very new to the world of APIs and Web Services so please give me some slack if these questions are stupid.
So from what I understand, this is more or less how a web service (or web service architecture) works:
A web service provider describes its service parameters and how it to interface with the service in an XML document called the WSDL. The web service provider then registers with the UDDI. The "client" then queries the UDDI for relevant service providers. The UDDI returns multiple web service IP addresses and the client selects the best option. It then obtains that service provider's WSDL and proceeds to interface and utilize the web service.
My questions are:
What exactly is a web service provider? I know a web service is essentially an API wrapped in HTTP (or some other transfer protocol) and it's used to facilitate communication over the internet. I also know that SOAP Web Services can utilize other transfer protocols besides HTTP, and WSDL and UDDI directories aren't used much outside of SOAP services. Is a web service provider just simply an application that is using SOAP web services?
What is the "client" in this scenario? Is this a client web application or a browser?
Why does the UDDI return multiple IP addresses for web service providers? Why doesn't the client just use the first web service it finds with the appropriate parameters, etc. ?
How fast is all this happening? My dumbest question yet but are there developers manually querying the UDDI to find web services to integrate with their applications? Or is this all happening in a fraction of a second between computers?
Thank you so much. Couldn't find anything to address these questions online.