Программа основана на трехзвенной клиент-серверной архитектуре. Это современная архитектура, позволяющая эффективно решать множество проблем, присущих традиционно устроенным программам. Высокое быстродействие, большое количество одновременно работающих пользователей, большие объемы обрабатываемой информации. Реально достижимое число одновременно работающих клиентских компьютеров исчисляется десятками.
Независимость скорости работы от количества документов в базе данных. Изначально “Раджа” разрабатывалась как программа, которая может работать с очень большими объемами данных. Реализовано очень важное требование - скорость работы не должна падать с ростом размера базы данных. Даже при использовании находящегося на дистрибутивном наборе бесплатного SQL-сервера “FireBird”, вполне реальна работа с базой данных содержащей миллионы документов, при подключении десятков клиентских рабочих мест.
Возможность использования для хранения информации различных промышленных SQL-серверов. Об этом аспекте более подробно можно прочитать в находящихся на компакт-диске файлах “О программе” и “Работа с разными типами SQL-серверов”.
Возможность одновременной работы (разных клиентских подключений) с разными базами данных через один сервер приложений. Причем базы данных могут управляться разными типами SQL-серверов.
Высокая степень масштабируемости. Простое наращивание мощности аппаратуры (в том числе и количественное) практически линейно отражается на производительности.
Документоориентированность. Единица хранения и обработки информации – документ. Причем документ, в максимальной степени приближенный к его “бумажному” эквиваленту. Если персонал может работать с “бумажными” документами, ему легко будет освоить систему.
Развитая система контроля доступа. Это система безопасности, позволяющая фиксировать списки пользователей, давать им те или иные права, основанные на принадлежности пользователя к той или другой профессиональной группе. Например, если доступ на корректировку документа разрешен автору документа, то и его руководитель может быть наделен таким правом. Менеджер безопасности позволяет давать права пользователям (группам пользователей) на чтение, корректировку, удаление документов, с учетом того, кто этот документ сделал. Права могут выдаваться с учетом времени доступа. Более того, права могут регламентировать и перечень компьютеров, с которых конкретному пользователю разрешен доступ. Можно регламентировать доступ к конкретным типам документов, перечню отчетов и приложений. Также регламентируются административные функции системы - копирование базы данных, ее проверка и т.п. Ведется детальный протокол того, кто, когда, с какого компьютера работал с системой.
Протоколирование изменений информации в базе данных. Кроме протоколов системы в категориях управления безопасностью (секретностью) доступа к информации в состав системы входят средства протоколирования действий пользователей с конкретными документами. Подсистема позволяет получить информацию об “истории жизни” документа. Кто и когда создал документ, кто и когда его модифицировал, кто и когда его удалил. В совокупности с работой системы безопасности протоколирование действий пользователей практически исключают анонимные воздействия на систему. Таким образом, всегда остается “управленческий след” в истории изменений базы данных системы, что очень сильно ограничивает деструктивные воздействия (как осознанные, так и нет) персонала на систему.
Развитые функции удаленного администрирования. Это означает, что все основные функции системного управления могут выполняться с клиентского компьютера. Пользователь может (естественно при наличии соответствующих прав) осуществлять проверку базы данных, ее копирование, осуществлять настройку системы безопасности, протоколирования работы без непосредственного доступа к серверному компьютеру. Это очень важная возможность для обеспечения надежности работы. Серверный компьютер (та машина, на которой находится база данных, SQL-сервер и сервер приложений) могут находиться в изолированном помещении.
Высокая степень автоматизации процедур получения и использования сервис-пакетов обновлений от разработчика. Простота и надежность этих средств позволяют качественно и быстро обновлять программы как на серверном, так и на клиентских компьютерах.
Новая и надежная система защиты от нелицензионного использования программы. Отказ от использования для этой цели, каких-либо аппаратных средств (специальных дискет, компакт-дисков, электронных ключей и т.п.) позволяет избежать множества проблем и ограничений при эксплуатации. Допускаются неограниченное количество установок программы, установки на разных площадках эксплуатирующей фирмы. Все основано только на выдаче лицензий. Как следствие -возможность выбора (и оплаты!) только тех прикладных возможностей, которые реально необходимы пользователю.
Полная ликвидация эффекта “текущего момента времени”. Полное “равнодушие” программы к дате создаваемого или корректируемого документа. Точнее, в отношении этой даты к текущей дате. С одинаковым успехом дата создания документа может быть сколь угодно отдалена от текущей даты как в прошлое, так и в будущее, и это совершенно не сказывается ни на быстродействии, ни на функциональности. (Естественно, есть моменты когда, например, создание документа “задним числом” не может быть приемлемо по законодательным причинам - вроде отношения документа к периоду, когда отчетные документы уже предоставлены фискальным органам власти. Но никаких системных ограничений нет). При создании и корректировке документов не будут порождаться процессы вроде “пересчета остатков”, “закрытия периода” и т.п. Системе все равно каким числом будут датироваться документы. Все сложные моменты учитываются автоматически.
Мощные инвентаризационные функции. Продавать отсутствующее на складе. Пересортица. Несоответствие текущего состояния склада состоянию, обусловленному документами - эти и многие другие моменты учитываются прикладной архитектурой системы. От состояния синтетического счета до тонкостей аналитического учета - все допускает возможность корректировки “инвентаризационными документами”. Причем корректным способом, с предоставлением возможностей создать соответствующие документы, устраняющие несоответствия.
Система содержит очень развитые механизмы “получения остатков” над множеством документов. Под термином “остатки” понимаются любые цифры, имеющие “итоговую природу”. Это и состояние синтетического счета на произвольный момент времени, и остаток конкретного товара на складе на произвольный момент времени, и задолженность перед поставщиком... Все эти цифры прикладные программы получают от специализированных средств, эффективность работы которых совершенно не зависит ни от датирования документа, ни от размера базы данных. Никаких “промежуточных итогов”, никаких “подсчетов нарастающим итогом”, ничего такого, что крайне замедляет реакцию системы, например, при регистрации расходной накладной двухмесячной давности.