Synchronous Web Services
An example of a synchronous web service is a stock quote web service. Using SOAP, the client program invokes the stock quote web service and blocks until it receives a return value. The synchronous model is also known as the RPC (remote procedure call) model, so named because, at the implementation level, one program is calling another remote programmore specifically, one procedure is calling a remote procedure. (It's considered remote because it's not on the local machine, as is the calling procedure.) The exact mechanism varies by language and can use remote method invocation (RMI), CORBA (Common Object Request Broker Architecture), or sockets. Typically, the client program calls the service and passes a small number of parameters, and the server then returns the appropriate values.
The synchronous model works for a granular service with a short response time, but many B2B transactions involve multiple parties and/or processes, both automated and manual, and can span a much longer span of timehours, days, weeks, or even months. It's unrealistic to expect the calling program to block for such a long time while the server is processing the request.