I am not completely sure of what you are trying to accomplish. It looks like you are basically trying to implement a system where you can determine the behavior of users on the sytem. Is that right?
User requests can be captured on the web server or the app server. The web server will get you aggregate data, while the app server will enable you to detail all of the requests made by individual users (if session tracking is enabled).
Tracking in the DB tier is possible, but it may not help you. All it will have will be the queries that your app server is generating. If it is a custom written web app, then you should know all of the possible queries that can generated for any particular URL request.
Here is the thing that makes it difficult. VOLUME. Here at TechRepublic, we once hired a company that went through all of our data and categorized users for us. I was not involved in the project, but I did hear some of the discussions involved in it.
One of the things thatwas mentioned was a change to the server request logs to include any user/parameter data that could be of importance. This is HUGE.
In the end, I am not sure it was worth the effort or the $$$ (IMHO).
For the most part, you can get a picture of what your users are doing by generating your own reports on your own request logs. This task is made much easier when related items are grouped by directory.
I am not sure if any of this is in the slightest bit helpful.
Some more information that would be useful in helping your problem would be:
types of user behavior that you anticipate
scale/clicks that are inticipated
more specifics on the architecture (user tier is?)
BTW, I would prever to stay away from RMI. If this is a real-time system for user interraction, then system logs would be much less of an inconvenience for your users (JMS is pretty nifty).