Bordet, Simone
2002-02-12 15:30:14 UTC
Hi all,
so I have just finished the RMI adaptors, and found a better architecture to implement them.
Current one is:
RMIConnector --> network --> RMIProtocolAdaptor --> MBeanServer
where RMIAdaptor sits on top of the RMIProtocolAdaptor to give manageability to it.
New one will be:
RMIConnector --> network --> RMIProtocolAdaptor --> Interceptor 1 --> Interceptor 2 --> ... --> Interceptor n --> MBeanServer
Every interceptor is an MBean and it's registered along with the RMIAdaptor MBean.
It is possible to enable/disable the interceptors, and every interceptor can perform operations based on the informations it has.
For example one can write an interceptor that uses JAAS to allow or not certain users to perform some operations, or not use JAAS and do the same kind of checks.
Or another interceptor that will record different users, or one that records the hit per second of the interceptors, and so on.
I've already done 90% of the new architecture and seems to work well.
It will have much more dynamicity, manageability, and it is easily extendible by a user that wants custom interceptors.
I think I will replace the old architecture with this new one, keeping all the good features of the previous (IIOP, SSL, remote listeners, etc). The new architecture only affects the management part, and slightly the implementation. For example for users is transparent: the usage is the same I don't have even to change the documentation :)
Opinions are welcome
Simon
so I have just finished the RMI adaptors, and found a better architecture to implement them.
Current one is:
RMIConnector --> network --> RMIProtocolAdaptor --> MBeanServer
where RMIAdaptor sits on top of the RMIProtocolAdaptor to give manageability to it.
New one will be:
RMIConnector --> network --> RMIProtocolAdaptor --> Interceptor 1 --> Interceptor 2 --> ... --> Interceptor n --> MBeanServer
Every interceptor is an MBean and it's registered along with the RMIAdaptor MBean.
It is possible to enable/disable the interceptors, and every interceptor can perform operations based on the informations it has.
For example one can write an interceptor that uses JAAS to allow or not certain users to perform some operations, or not use JAAS and do the same kind of checks.
Or another interceptor that will record different users, or one that records the hit per second of the interceptors, and so on.
I've already done 90% of the new architecture and seems to work well.
It will have much more dynamicity, manageability, and it is easily extendible by a user that wants custom interceptors.
I think I will replace the old architecture with this new one, keeping all the good features of the previous (IIOP, SSL, remote listeners, etc). The new architecture only affects the management part, and slightly the implementation. For example for users is transparent: the usage is the same I don't have even to change the documentation :)
Opinions are welcome
Simon