Архитектура,базовые решения


Архитектура
Архитектура может быть в нескольких вариантах:
Платформы
Мозилла имеется для множества платформ и в частности Win,MAC,Linux. Пользователь и системный администратор может самостоятельно выбрать платформу для конечного пользователя.
Серверная часть в данный момент в основном тестируется в операционной системе Linux на платформе I386. Скорее всего будет работать и на freeBsd. Остальные платформы можете пробовать на свой страх и риск, в данный момент никто не тестировал.
Так как вся разработка ведется на языке CLIP, то разрабатываемое ПО сможет работать везде где протестирован CLIP. В настоящий момент таких платформ не очень много, но мы ведем работы по переносу CLIP на WIN32, SPARC/Solaris, OpenBsd, BeOs. Следите за новостями.
Требования к аппаратной части
Вполне достаточно Cel400/64М как для Windows так и для Linux станций. Так же можно использовать X-терминалы на базе бездисковых станций, для которых достаточно 486/66/32М. Или можно использвать технологию "змей-горыныч", когда к одному системному блоку подключаются три монитора и нужное кол-во клавиатур и мышей.
Требования к железу на сервере тоже невысокие. Мы тестируем рабоспособность на машине Cel400/128M. Такая машина вполне выдерживает 8-10 клиентов, а может и больше при условии что она не загружена прожорливыми процессами или несколькими Мозиллами на X-терминалах.
Бизнес-логика
Вся бизнес-логика загружена в CODB в виде метаданных. Для полноценного понимания работы CODB необходимо прочитать документацию .
в настоящий момент вся ОБД разделена на несколько частей/словарей:
Краткий принцип работы
Клиент (браузер или спец клиент) обеспечивает ввод данных в экранные формы, передает эти данные на сервер. Сервер расшифровывает запрос клиента и производит действия с объектами в ОБД. При наступлении события с объектами (добавление, изменение, удаление) ОБД на основании метаданных исполняет методы/триггера, которые и обеспечивают все остальное. Например при добавлении документа могут автоматически сформированы проводки. Проводки имеют несколько аналитических признаков разные по дебету и кредиту (настраиваются через планы счетов). На основании этих данных происходит перерасчет данных в OLAP. В дальнейшем вся аналитическая информация достается из этого OLAP что обеспечивает высокую скорость работы с учетной информацией.

Небольшое отступление: то что здесь названо OLAP - не совсем OLAP, это специальное хранилище объектов, обеспечивающее многомерное хранение накопительных данных. Но так как специального названия такому хранилищу пока нет - мы его называем OLAP.

Благодаря такой схеме обеспечивается актуальность балансов и аналитической информации почти в реальном времени. Скорость обработки проводок примерно 2/сек при БД до 50000 проводок и примерно 1/сек при БД до 500000 проводок на железе Cel400/128. Согласитесь, что если баланс и аналитика готовы через 1 секунду после проведения проводки - для бухучета это вполне можно считать реальным временем. Причем проводки могут быть и прошедшей датой, а баланс всегда готов на любую дату и за любой период.