По многочисленным просьбам трудящихся описываю состояние дел, связанное с переделкой своего
сайта.
БД для ведения генеалогической информации была разработана мной весной-летом 2003 года. В БД порядка 10 сущностей, программа ведения БД была разработана на C++. После прошествия трех лет я хочу переработать БД.
Мне нужно:
1. Расширяемая и гибкая структура базы
2. Тонкий и толстый клиенты
3. Два варианта клиентов - полноценный и с урезанными возможностями (вьюер)
4. Многоязычность - как в данных, так в интерфейсах.
Язык программирования выбран - это C#. Мне очень не хочется ваять и постоянно поддерживать (из-за изменения структуры данных) многочисленные формы в куче клиентов. В результате я решил разработать средство производства :) А именно, описать структуру данных и способы ввода в XML, после чего генерить C#-код. Естественно, что полностью описать декларативным способом функциональность Системы невозможно. Поэтому реально получается гибрид - повторяющаяся функциональность генерируется, а остальная часть (в основном бизнес-логика) пишется на C#.
Летом был опробован прототип. В качестве средства преобразования XML => C# был выбран XSLT. Сам подход оправдал себя, только вот код на XSLT получается очень корявым и трудно поддерживаемым. Поэтому сейчас пишется похожая на XSLT система преобразований - Xdt, о которой (если будут вопросы) я расскажу в следующий раз.