Early Class Loading
Posted by Bill Venners on February 28, 2000 at 1:57 PM
> I've been working for the past couple of months on a rewrite of my collaboration service app suite, and in the rewrite have basically been implementing a serviceUI type framework (although since my product must remain jdk1.1 savvy, we could not use Jini ;-( ).
> What we came up with is a system where a service provides a single method which calls getUserInterface(). getUserInterface() has code which dynamically builds the UI for the service when it is called on the client. The nice part is that the rest of the service can be used WITHOUT downloading the UI code. And, all that the client must know is that getUserInterface() returns a JPanel.
> The service itself contains an instance of the remote proxy, which is passed into the UserInterface at construction time.
> This method could also be extended rather simply to something like getUserInterface(String ui_type), where is the service provides, perhaps, an optional HTML based interface, or a Palm-Pilot based UI, it could return an Object of that type.
> If you would like more info on a full-scale working implementation of the above in a non-Jini setting, e-mail me at the above address.
> Another alternative might be to consider the use of the JavaBeans Activation Framework. In this way, the service need only return an object of some type, and it is up to the client to have a plug-in registered for viewing that type.
We discussed a getUI() method on the service object early in
the serviceui project discussion. It was quickly discarded
because it could involve early class loading of the offered
UIs and put too much into the service object. For more info,
please check out the serviceui mailing list archives at: