David Jencks wrote:
IIRC Ole said he
could come up with a ldap - object mapping in a couple of weekends, but
that was 6 months ago and he is still saying it will be done in a couple
of weekends. I may be wrong but with the number of technologies that he
usually mentions I have a hard time believing his solution will be
sufficiently lightweight.
The "Components" (EDataGraphCreator, EDataGraphReader) of the DAS that read and
write DataGraphs (server.xml) are already done. So these could be used to store
server.xml in the DIT right now and read it as well. That means all the Bean to LDAP
mapping is done, as well as creating the ObjectClasses and AttributeType entries for the
beans (The Schema creation). Right now I'm finishing up the change summary processing,
but this part is only necessary for editors that want to update the configuration in
something like an Eclipse RCP, and then trigger the server configuration update.
I think a reasonable path to follow would be to:
-- stop abusing spring, i.e. remove the configuration objects and make
the functional objects container agnostic.
-- consider xbean-spring to make type-checked configuration files
-- do some experiments to see about ldap <> component mappings. Maybe
Ole's system will be lightweight enough to be used for server startup.
Maybe you can write something else that works and is easy to extend to
new components.
-- if those experiments succeed, try storing the configuration in the dit.
In terms of weight I'm guessing the DAS is roughly 10 classes to read and write
DataGraphs (server.xml)from the DIT (So this consists of EDataGraphReader and
EDataGraphCreator and utilities that support these two classes + the
EDataGraphSchemaCreator for creating the LDAP Schema). The tests I have that
create EMF Schema (Bean Metadata), create the LDAP Schema, create an in memory
EMF model (Based on the bean metadata), store the model in ADS, and then read
it again run in a few seconds.
I still think that editing the configuration in ldap is going to be a
lot more unpleasant than in an xml file with a schema telling you what's
legal.
If the DAS is used everyone gets the best of both worlds. Configuration in the
DIT, XML Schema validation. server.xml loading. Client friendly change
processing.
SNIP
Cheers,
- Ole