Is there a way to run separate instances for each connection -or let's say user-, like rmi, via JAX-WS?
HTTP is stateless, therefore each request is on its own. The instance of the service is just one, and that's good.
If you want to store session information (i.e. separate data for each client) you have a couple of options that let you identify each subsequent request as belonging to the same user:
Map<String, ...>
.