In CHA, server side holds the remote context; and the client side holds the local context. Client side acts as a facade for the server side. They connect each other by the J2EE EJB technology. In CHA server side, there is a remote context tree, which has two levels: root level and normal level.
The root level is consist of the contexts above the session context. The other contexts belong to the normal level. In the runtime environment, the data shared among different sessions are stored in the root level of the context tree. Such shared data will be cached statically in CHA server side. The updates of the root level contexts cannot be written back to the DB.
The CHA programming model does not allow the concurrent update to the same data in a CHA server. And it is recommended that the shared data in the root level context is read only, especially in cluster environment. Besides, inside a session, avoid using different threads to update the same data in a session context or the contexts below the session context.