Traditional distributed computing environments have been tightly coupled in that they don't want a changing environment as well.For instance if an application is interacting with another application how do they handle the data types or data encoding if data types in one system changes? How are incompatible data types handled?
The service Oriented Architechture consists of three roles : requestor, provider and broker.
Service Provider:-A service provider allows the access to the services, create a description of a service and publish it to the service broker.
Service Requestor:-A service requestor is responsible for discovering a service by searching through the service description given by the service broker.A service requestor is also responsible for binding to services provided by the service provider.
Service Broker:-A service broker hosts a registry of service descriptions.It is responsible for linking a requestor to the service provider.