First page Back Continue Last page Graphics
Why use WSDL?
How did one know that the getBalance function (service) existed in provider ?
Can be hardcoded in client
- But more flexible to dynamically discover its existence
- Then bind to it
Avoiding hardcoding provider’s interface in client
- Decouple the client and provider
- Clients is able to adapt dynamically to a changed interface
- Allows loosely coupled systems
- Can evolve independently from each other
- Client is not tied to a particular service in any way
Notes:
In the previous example somehow the requesting program “knew” that a function (service) by the name of getBalance existed in the provider. Although this information can be hardcoded in the client as in traditional RPCs a more flexible way to do this is to dynamically discover its existence and then bind to it (invoke it).
By avoiding hardcoding the provider’s interface in the client, we are essentially decoupling the two. Even if in the future, functions and parameters were to change, the client would discover them at that time and use the new ones instead. In other words, clients are able to adapt dynamically to the changed interface. This allows us to build loosely coupled systems that can evolve independently from each other.
Note in addition, that this client is not tied to this particular service in any way, but it is free to invoke other services from other providers if so desired and do so dynamically, enabling what we called spontaneous connections. If a particular service is not operational at the moment, the client is free to request the services from an alternate location.