Отправляет email-рассылки с помощью сервиса Sendsay

Кубики для взрослых

  Все выпуски  

Кубики для взрослых #25


Информационный Канал Subscribe.Ru

Кубики для взрослых


Отчет о свершениях.

Не смотря на очередной длительный провал в выпусках рассылки, последние три недели были самыми продуктивными для проекта (http:\\www.murometz.spb.ru). Это связано в основном с тем, что я начал заниматься этим не по вечерам и выходным, а в режиме full-time.

Все свои усилия я направляю, как на совершенствование платформы для разработки приложений, так и на совершенствование прикладного приложения, которое фактически выступает полигоном, для отладки идей. Оторваться от этих занятий, пока просто не удавалось.

Сегодня можно сказать, что работа над первым прикладным приложением уже перешла в стадию внедрения и появился почти свободный час, для того чтобы отчитаться о текущем состоянии.

Итак, есть смысл начать с 15 января, когда я, наконец, собрался с силами и «завязал» с двойной жизнью. Надо было сделать это немного раньше, потому как эффективно работать по вечерам после полноценного рабочего дня, в течение полугода, это очень и очень сложно…

Первое, что было добавлено, это возможность обновлять структуру уже существующей базы данных. Поскольку все мы живем в мире, который слишком часто меняется, то предполагать, что структура документов, с которыми мы работаем, может оставаться стабильной – просто глупо. Особенно это становится очевидным, когда идет процесс внедрения и менять структуры документов надо постоянно. Какая-то информация уже накопилась и её надо сохранять. Способ развертывания, когда надо сохранить отдельно каждый документ, а потом восстановить его в следующей базе, хорош, но уж очень трудоёмок.

Поэтому было принято решение переделать генератор базы данных, для создания базы в режиме обновления структуры.

Этот режим позволяет легко добавлять новые поля в разделы документов, добавлять разделы, которых не было и, естественно, добавлять в систему новые документы.

Следующий шаг, это подключение возможностей полнотекстового поиска. Современная версия SQL Server обладает встроенными возможностями индексирования текстовой информации, а также файлов известных форматов, которые хранятся внутри базы данных. Собственно говоря, вся структура системы уже была готова к подключению этой функциональности, но требовалось немного времени, на создание программного и визуального интерфейса, а так же модификация генератора кода для базы данных.

Поддержка жестко связанных документов. Очень часто встречается ситуация, когда один документ не просто связан с другим документом, но связан «неразрывно». Т.е. логика его существования подразумевает обязательное существование «родительского» документа. Наличие такой возможности на уровне метаописания документов, а значит и на уровне генераторов кода, позволяет очень просто решать подобные задачи.

Пример из прикладной системы.

Есть «базовые» сущности – организация клиент, контактное лицо, проект и договор. Они как-то связаны между собой, но при этом относительно независимы (хотя, реально договор, тоже зависит от клиента). Активности работников регистрируются в документе, который я назвал – «отчет». Отчет может относиться к чему угодно (к любому из четырех базовых документов), но при этом он остается отчетом, как фактом активности. Хочется осуществить привязку отчета к базовому документу, с которым он реально связан. Это можно сделать именно при помощи жесткой связки.

Фактически, подчиненный документ просто теряет возможность самостоятельного удаления. Но на самом деле мы получаем еще одно преимущество. Мы можем судить о связи документов на самом нижнем уровне информационной системы. А значит, мы можем использовать эту информацию, для поиска взаимосвязей, которые вовсе нельзя обнаружить, пользуясь методами, основанными на формальном анализе структуры документов.

Звучит это забавно, но только сейчас генератор пользовательского интерфейса стал создавать код для удаления всего документа. Раньше это было просто невозможно.

Добавлена возможность сохранения данных бинарных полей (файл и картинка) в том же XML файле, в котором сохраняется весь документ. Несколько интелектуализировано поведение полей, которые реализуют ссылки и файлы.

Появился полноценный инсталлятор базы данных, который позволяет установить базу данных прикладной системы с любой машины, имеющей доступ к серверу базы данных. Теперь вполне можно использовать даже версию MSDE (Desktop edition) для работы с системой (разумеется, без полнотекстового поиска, который в эту версию не входит).

Оптимизация поведения документов в смысле использования оперативной памяти. Задача, с которой сталкиваются абсолютно все серьезные приложения. Как определить момент, когда документ нам больше не нужен? А если документы связаны между собой, гораздо более тесно? Один ссылается на данные другого и для того, чтобы отобразить эти данные, надо позвать первый документ из второго… Проблема не самая простая, но похоже имеющая решение, кроме хранения в памяти всех документов, к которым мы обращались в процессе работы. Над этим я сейчас и работаю…

Прикладная задача, тоже претерпела существенные изменения. Главное, что теперь ее можно проверить на реальных данных.

А реальные данные хотя и не так уж велики, но вполне достаточны для выявления проблем – почти 2000 фирм клиентов, и около 10000 отчетов. Сразу после загрузки информации пришлось вносить изменения в компоненты, которые предназначены для массового отображения информации – журналы, например вводить фильтры для показа информации по отчетам за последний месяц, но в остальном, система ведет себя абсолютно так же, как и с абсолютно пустой базой, что не может не радовать.

Есть реальная надежда, что с программой можно будет познакомиться в конце месяца, на нашем сайте.

Выделить время на абстрактную постановку задачи пока не удается… Увы.


Ведущий рассылки: Михаил М. Баранов
market@murometz.spb.ru
www.murometz.spb.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное