Hi guys,

as I was just back from holliays yesterday, I started to work on something we discussed a long time ago but never finished.

The idea is to use immutable SchemaObject inside the server, as we *never* odify them. AT, OC and such elements are meant to be immutable, once injected into the server.

More than that, the way it's implemented in the server forbid a user to modify an existing SchemaObject, the only possibility is to delete the old one and to add a replacement.

This can lead to some complex situation though : if someone makes a mistake and wants to fix it, the only solution is to delete the SchemaObject and to replace it, and this might be impossible, because the SchemaManager will be checked against inconsistencies after the delete, and the deletion might be rejected.

One first step though is to use only immutable types inside the registries, as there is no need to modify them.

The other aspect is Studio, and more specifically the schema editor : we must be able to modify the SchemaObjects, and we also must keep a track of the original SchemaObjects. Having immutable SO allows us to do that in a more convenient way.

All in all, I have started to split the SchemaObject in two :
- an immutable part
- a mutable part extending the former

It won't be enough, but it's a first step.

More to come.

--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to