вторник, 3 апреля 2007 г.

.netTiers Application Framework

.netTiers - это открытый (open source) бесплатный набор шаблонов для ORM (Object-Relational Mapping), берущий за основу существующую БД SQLServer и автоматически генерирующий персонализированные слои данных приложения (Data Tiers application block) для использования в .NET приложениях. Проект также можно найти на SourceForge.net, на SF его поддерживает один из авторов John Roland.

Для получения приемлемых результатов при применении O/RM технологий критически важно грамотно спроектировать модель БД, .netTiers не исключение из этого правила.

.netTiers генерирует код непосредственно по модели БД без использования вспомогательного XML (или иного) уровня представления. Поэтому использование написанной на "скорую руку" модели, с плохим выбором primary / foreign ключей и т.п. код получится таким же неудачным, так что перед первым использованием .netTiers, даже если это тестовая БД, проверьте еще раз, что она нормализирована и ключи определены верно и, по возможности, добавьте еще несколько не-ключевых полей, которые будут в дальнейшем использованы как фильтры.

Пропустить индексы в своей пробной БД модели достаточно просто, так как обычно выполняется предварительная оценка запросов и, затем уже определяются действительно необходимые индексы. .netTiers по индексам определяет, какие из столбцов должны иметь собственные методы для получения значений (и соответствующую автоматически генерируемую хранимую процедуру для обработки этих запросов). Если не определить индексов, то получение значений придется делать с помощью более общего запроса, с указанием критериев поиска, что скажется на быстродействии и удобстве.

.netTiers построен на основе платного генератора кода CodeSmith Tools, но выполняется (в январе было заключено соглашение) адаптация под бесплатный Smart Code Generator.

В данный момент для работы потребуется:

  • Visual Studio 2005
  • Codesmith 3.x+
  • Microsoft SQL Server 2000+ (с ограничениями поддерживаются и другие БД)
  • Microsoft .NET 2.0

Рекомендуются так же:

Скачать последнюю версию можно отсюда, там же есть доступ к SVN-репозитарию с текущими исходными кодами.

На RSDN есть тема в средствах разработки, посвященная в том числе и .netTiers.

Интересующиеся технологиями O/R mapping могут посмотреть на подобные бесплатные open source генераторы: EasyObjects.NET (еще один OR/M для Microsoft Enterprise Library) и MyGeneration.


Technorati tags: , ,

Комментариев пока нет