SERVICE PROVIDER INVOCATION
A service provider may provide one or more services to and/or for a client. Providing a service may involve receiving a service request including a security token at the service provider and determining whether the security token is valid. Providing the service may also involve determining a session security token if the security token is valid and generating a service response including the session security token. Providing the service may further involve receiving a service request including the session security token, determining whether the session security token is valid, and, if the session security token is valid, generating a second service response.
1 . A method for invoking a service provider, the method comprising:
receiving a service request at a service provider, the request including a security token;
determining whether the security token is valid;
if the security token is valid, determining a session security token and generating a service response including the session security token;
receiving a second service request, the request including the session security token;
determining whether the session security token is valid; and
if the session security token is valid, generating a second service response.
2 . The method of claim 1 , wherein determining a session security token comprises:
determining whether a session security token should be generated; and
if a session security token should be generated, generating the session security token.
3 . The method of claim 1 , wherein the second service response specifies that future service requests should be sent to a different service provider.
4 . The method of claim 1 , further comprising:
determining whether the security token has become invalid; and
if the security token has become invalid, canceling the session security token.
5 . The method of claim 1 , further comprising:
determining whether the session security token has become invalid; and
if the session security token has become invalid, canceling the session security token.
6 . The method of claim 1 , further comprising:
determining whether a request to update the session security token has been received; and
if a request to update the session security token has been received, validating the request and updating the session security token if the request is valid.
7 . The method of claim 1 , further comprising:
receiving a third service request, the request including the session security token;
determining whether the session security token is valid; and
if the session security token is valid, determining a second session security token and generating a service response including the second session security token.
8 . The method of claim 1 , wherein the requests and responses are expressed in a self-describing protocol.
9 . The method of claim 8 , wherein the protocol comprises the Simple Object Access Protocol.
10 . The method of claim 8 , wherein:
the security token is received in a first request header type; and
the session security token is received in a second request header type.
11 . The method of claim 1 , wherein:
the service request comprises a data service request;
the service provider comprises a data service provider; and
the session security token comprises a data session security token.
12 . A service provider, the service provider comprising:
memory operable to store service data; and
a processor operable to:
receive a service request, the request including a security token,
determine whether the security token is valid,
if the security token is valid, determine a session security token and generate a service response including the session security token,
receive a second service request, the request including the session security token,
determine whether the session security token is valid, and
if the session security token is valid, generate a second service response.
13 . The service provider of claim 12 , wherein the second service response specifies that future service requests should be sent to a different service provider.
14 . The service provider of claim 12 , wherein the processor is further operable to:
determine whether a request to update the session security token has been received; and
if a request to update the session security token has been received, validate the request and update the session security token if the request is valid.
15 . The service provider of claim 12 , wherein the processor is further operable to:
receive a third service request, the request including the session security token;
determine whether the session security token is valid; and
if the session security token is valid, determine a second session security token and generate a service response including the second session security token.
16 . The service provider of claim 12 , wherein:
the security token is received in a first request header type; and
the session security token is received in a second request header type.
17 . A client, the client comprising:
memory operable to store service data; and
a processor operable to:
generate a service request, the service request including a security token and directed to a service provider;
receive a service response including a session security token; and
generate a second service request, the second request including the session security token and directed to the service provider.
18 . The client of claim 17 , wherein the processor is further operable to:
monitor the validity period of the session security token;
if the session security token is about to expire, determine whether the session should continue; and
if the session should continue, generate a request to update the session security token.
19 . The client of claim 17 , wherein the processor is further operable to receive a second service response, the response including a second session security token.
20 . The client of claim 17 , wherein:
the security token is placed in a first request header type; and
the session security token is placed in a second request header type.