I have a platform consisting of several JBOSS AS 7 application servers, running a web application exposing a REST API. The REST API is protected using BASIC HTTP authentication and the client is a Sencha Touch application. For storage, the application uses a proprietary data store. Each JBOSS AS server runs by itself. By that I mean, they are not clustered. The only thing shared between the servers is the datastore. All servers connect to the same datastore.
I would now like to put a load-balancer in front of the JBOSS AS servers so that if one server fails, the requests from the clients can be handled through another server. Given that the servers aren't clustered (and I don't want to setup clustering), I need to find a mechanism to have the session for the client (=authentication state basically) be transfered to the other servers. One method I could think of is to store the session somehow in my own datastore and have the other server "query and re-activate" the session somehow (similar to what happens in a clustering setup). I don't know however if/how this can be done. I'd appreciate if somebody could explain me if/how this is possible.
Or are there other methods? Can e.g. Sencha Touch provide the authentication info over BASIC authentication again in case of a fail-over and authentication failure?