Re: [Embedlets-dev] [Arch] Persistence vs. Management
Status: Alpha
Brought to you by:
tkosan
|
From: Gregg G. W. <gr...@sk...> - 2003-02-08 23:13:47
|
>> They are not actually orthagonal to each other, but rather very much >> parallel. They are both variations on property set/get functionality. From >> the Embedlet's point of view there is no difference between a persistence >> property assignment and a Management property assignment. > >Actually I think there is a lot of difference, despite the rather superficial similarties. > >Of course, Property setting/getting looks similar....that's a pretty basic requirement. And a >SOAP/RCP based XML encoding (based on Web Services standards and code generators like >Apache Axis) would look virtually identical. > >But keep in mind that Persistence should not be tied to a particular encoding format (like XML). >The interface should be generic enough to support pluggable storage/retrieval handlers for any >object. In our container, we originally used Java serialization for persistance. But soon found out that it was difficult to make sure that SerialVersionUIDs were managed correctly. We had create a properties based management system, and that worked well (via introspection, so adding a new property was just the business of adding a setter and getter). When we started hating serialization, it was trivial to just write and read properties via the Properties.load() and Properties.save() methods, and we have never looked back. Now, we also include in our container definition the ability of a module to include a GUI. So, there is a method that returns a factory for getting the GUI. This factory falls in line with the Jini ServiceUI, and this allows our status monitoring and management app to swallow the containers management objects and provide them inside of its GUI too. So, if you just have our broker, you can use its management tool. But, if you have the monitoring app, you can use it for management, and the broker is not the wiser... Property set/get based management is a fine starting point. Adding a GUI factory mechanism via the JMX client interface or remoting specs would be the next step... ----- gr...@cy... (Cyte Technologies Inc) |