Patent ID: 7509398

Claim:
A computer implemented process comprising: installing a middleware application by performing steps comprising: storing an address and a plurality of parameters for each of a plurality of web services in a repository within a layer; generating a uniform resource identifier for each of the plurality of web services in the repository; storing the uniform resource identifier for each of the plurality of web services in the repository; adding a method into a client code such that by calling the method at runtime, the method generates a web service request containing the uniform resource identifier of a desired web service described in the repository and a message to be delivered to the desired web service; generating a first proxy containing a plurality of information necessary to relay the web service request to the layer and receive a response from the layer; compiling the client code to allow a compiled client code to execute the method at runtime; linking the first proxy to the compiled client code to allow the compiled client code to relay the web service request through the first proxy to the layer; in response to a change in the address or the plurality of parameters of one of the plurality of web services, updating the address or the plurality of parameters stored in the repository to reflect the change without modifying the compiled client code; generating a second proxy that connects the layer with the desired web service, based on a current address of the desired web service as described in the repository; using the middleware application by performing steps comprising: in response to the execution of the method in the compiled client code, generating the web service request; relaying the web service request from the compiled client code to the layer, using the first proxy; choosing the desired web service from the repository at the layer, based on the uniform resource identifier contained in the web service request; reformatting the request to match a plurality of current parameters of the desired web service as described in the repository; transmitting the request from the layer to the desired web service using the second proxy; receiving a response from the desired web service at the layer; relaying the response from the layer to the compiled client code using the first proxy; and wherein the client code need not be changed due to changes in the addresses and plurality parameters of the web services.