you can have am mvc2 architecture per module.
you have to intercept the mbean call by redefining the invoke method. So you have a detyped invocation :
public void invoke(String operation, Object args, String signature);
there you can plug an mvc2 model a la struts :
create an action object according to the operation
execute it and get a forward object
render a view according the forward with a whatever engine (velocity ?)
For tiles etc..., I don't know struts at all. So I cannot do spme matrix comparison.
Thanks for the reply regarding the interceptor. Hopefully I can get some comments on my other questions.