Гедымин vs. Access
или восемь причин, почему платформа Гедымин предпочтительнее Microsoft Access при разработке экономических программ.
Настоящий клиент-сервер
Microsoft Access — это файл серверная база данных со всеми вытекающими отсюда последствиями. При эксплуатации в сети файл-серверное приложение «вытаскивает» нужные ему данные на клиентский компьютер, производит их обработку и, при необходимости, записывает их обратно на сервер. При этом сеть перегружается передачей больших объемов информации, а надежность снижается пропорционально количеству подключенных рабочих мест, так как стоит произойти сбою на любой клиентской машине в момент обработки данных или передачи их по сети, и база будет повреждена частично или, в самом худшем случае, полностью выйдет из строя.
В противоположность Access, Гедымин использует архитектуру клиент-сервер. В качестве хранилища данных используется SQL сервер Firebird или Yaffil, клоны с открытым исходных кодом хорошо известного коммерческого сервера Borland Interbase. Данные хранятся в одном файле на сервере (в больших сетях рекомендуется иметь для этих целей отдельный компьютер). Для извлечения, добавления, изменения или удаления данных на сервер поступают команды (SQL запросы) от клиентских машин. Любое изменение происходит в контексте конкретной транзакции, т.е. в рамках логически объединенной группы операций. Данные будут сохранены в базе только, если транзакция будет подтверждена. Таким образом, гарантируется логическая целостность данных. Например, при добавлении в базу данных накладной, необходимо вставить запись с информацией о «шапке» документа и несколько записей позиций. При использовании файл серверной базы возможна такая ситуация, когда сбой, аппаратный или программный, произойдет между операциями записи «шапки» и позиций. В этом случае в базу будет занесена неверная информация — накладная без позиций. При использовании Гедымина, такой вариант невозможен, так как сохранение накладной происходит в рамках одной транзакции и, либо вся накладная успешно запишется на диск, либо никакие данные не будут сохранены вообще.
Лицензионная чистота
Access — не дешевый программный продукт. Согласно данным каталога Softline стоимость установки Microsoft Access на одно рабочее место составляет 174 доллара США. Так как возможности этой СУБД не позволяют откомпилировать и получить автономный EXE модуль, следовательно, потребуется приобрести и установить Microsoft Access на каждое рабочее место. И это только стоимость, по сути, голого инструмента. К ней придется добавить еще и стоимость, собственно, прикладного программного обеспечения.
Рассмотрим теперь Гедымин. Платформа поставляется с открытым исходным кодом совершенно бесплатно. Т.е. стоимость установки на произвольное количество рабочих мест составит 0 (ноль) долларов США! Сервер базы данных Firebird так же является бесплатным продуктом, причем существует он в нескольких вариантах, как для операционной системы Windows, так и для различных дистрибутивов Linux.
Предметно-ориентированная платформа
При всех своих достоинствах, Microsoft Access остается системой управления табличными реляционными базами данных, предназначенной для решения произвольных задач. Решая прикладные проблемы, например, автоматизации логистики и склада, бухгалтерского и управленческого учета, разработчик оперирует сущностями, такими как товар, контрагент, склад, документ, проводка и т.п. В большинстве случаев, невозможно отобразить конкретную сущность реального мира на одну таблицу в базе, требуется несколько таблиц, связанных между собой особым образом. В последнем случае, программирование таких операций, как добавление экземпляра сущности в базу данных, его изменение или изъятие, представляет собой достаточно трудоемкий процесс и отбирает у программиста львиную долю времени.
Гедымин — это предметно-ориентированная платформа, в которой реализована постреляционная объектно-ориентированная надстройка над реляционной базой данных. Иными словами, в Гедымине разработчик может работать с накладной как с накладной, а с товаром, как с товаром, а не как с набором хитроумно связанных записей во множестве таблиц. Работая на Гедымине, разработчик концентрируется именно на решении прикладной проблемы, а не на сложных аспектах записи информации в базу данных или реализации пользовательского интерфейса.
К слову о пользовательском интерфейсе. Создавая в Гедымине новую бизнес-сущность, разработчик автоматически получает форму для просмотра данных в табличном виде и диалоговое окно для редактирования одной записи. Окна могут использоваться в том виде, как их создала система, либо могут быть изменены разработчиком в соответствии с требованиями задачи или из соображений эргономики.
При создании пользовательского интерфейса разработчик имеет в своем распоряжении набор визуальных компонентов, специально предназначенных для работы с данными бизнес-классов. Например, выпадающий список позволяет не только выбрать объект, но и организовать поиск в базе данных, создать новый экземпляр объекта или открыть на изменение выбранный объект.
Специфика бухгалтерского и складского учета
Бухгалтерский учет представляет собой отдельную модель учета, которой присущи такие понятия как план счетов, счет, проводка, двойная запись, регистры учета и т.п. Бухгалтерские проводки могут быть простыми и сложными, рублевыми и валютными. В зависимости от корреспонденции счетов, проводка может иметь произвольное количество аналитических признаков, а также количественных, натуральных показателей. Для отображения бухгалтерской информации служат такие регистры и отчеты, как: журнал хозяйственных операций, карта счета, журнал-ордер, оборотная ведомость. Проводки связаны с документом. Автоматически, они создаются при создании документа, изменяются при его изменении и удаляются, если соответствующий документ удаляется. Все вышеперечисленные понятия, объекты, отчеты реализованы в Гедымине, зашиты в его ядро на базовом уровне. При использовании Microsoft Access, равно как и любой другой системы программирования, предназначенной для решения общих задач, всю специфику бухгалтерского учета разработчику придется создавать «с нуля», затратив на это немало усилий и времени.
Все вышесказанное можно также отнести к внутренней логике складского движения, которая изначально реализована в Гедымине, но отсутствует в Microsoft Access.
Платформа с открытым кодом
Практически каждое крупное или среднее по своим размерам предприятие имеет выделенный отдел АСУ. Работающие там программисты могут быть привлечены к совершенствованию системы, расширению ее функциональности в соответствии с потребностями организации. Конечно, при условии, что у них есть полный доступ к исходному коду системы. Код платформы Гедымин открыт и доступен для всех желающих, чего нельзя сказать о СУБД Access, которая является собственностью корпорации Microsoft. Стоит заметить, что код прикладных решений (настроек), разработанных на платформе Гедымин, так же открыт и доступен для изменения и развития.
Хотелось бы привести здесь слова аналитиков компании IBM, которые утверждают, что через 10 лет, компании, которые не используют в своей работе программное обеспечение с открытым кодом, будут неконкурентны и покинут рынок.
Гибкость и адаптируемость
И Гедымин и Access хранят макросы (тексты программ), визуальные настройки экранных форм и отчеты вместе с данными. На этом их сходство заканчивается. В отличие от Access Гедымин позволяет: для одного и того же бизнес-класса создавать разные экранные формы для разных пользователей, а также производить изменение макросов, экранных форм, выходных отчетов и даже структуры базы данных (!) без перевода ее в монопольный режим, т.е. без отключения других пользователей, которые могут продолжать свою работу.
Особенно стоит отметить последнюю возможность. Изменяется ли действующее законодательство, возникают ли новые потребности у предприятия или просто необходимо исправить выявленную ошибку — реальная программная система нуждается в постоянных апдейтах и доработках. Но попробуйте внести изменения в работающую систему, если от нее зависит функционирование производства. Если выбранная платформа не обладает возможностями внесения изменений налету, специалистам АСУ придется выходить на работу по субботам и воскресеньям или оставаться на предприятии на ночь.
Масштабируемость
Сможет ли программный комплекс, расти вместе с предприятием? Что, если вслед за успешной автоматизацией отдела сбыта и бухгалтерии мы захотим автоматизировать еще и отдел кадров, ОТиЗ, плановый отдел? Иными словами, будет ли успешно работать система на 100 рабочих местах, если сейчас она эксплуатируется на 10? Ответ здесь не очевиден, ибо очень часто количество переходит в качество и программный продукт, показывающий нормальный результат на пяти-шести рабочих местах, что называется «валится», когда их количество перевалит за два десятка. При выборе системы очень важно получить ответ на вопрос: насколько она масштабируема?
При использовании архитектуры клиент-сервер, нагрузка на сеть не увеличивается так сильно, с ростом количества задействованных рабочих мест, как при использовании файл-серверной организации программы. Кроме этого, часть вычислений происходит на сервере и, следовательно, увеличить производительность всего комплекса можно, увеличив мощность только одного компьютера, — сервера, — не затрагивая рабочих станций.
И, наконец, стоит отдельно упомянуть о том, что в платформу Гедымин встроена возможность работы с территориально распределенными базами данных, между которыми нет постоянного канала связи. С помощью специальной утилиты, репликатора, изменения, произведенные на одной базе данных, оформляются в отдельный файл (реплику) и передаются на другую базу по электронной почте, прямому модемному соединению или с помощью любого носителя информации: дискеты, компакт-диска, флэш-карты и т.п.
Безопасность
Какое предприятия захочет, чтобы данные, представляющие коммерческую тайну и имеющие немалую ценность, стали доступны конкурентам или недоброжелателям? Даже если у вас работают только кристально чистые сотрудники, все равно стоит потребовать от программной системы наличия механизмов разграничения прав доступа и аудита действий пользователя. СУБД, ориентированные на решение широкого круга задач, если и обладают такими механизмами, то в наиболее общем виде. Например, может быть предусмотрено разграничение прав на уровне таблиц и колонок. Гедымин предоставляет значительно более продвинутые возможности в этом плане. Разграничение доступа для групп пользователей может быть организовано для: конкретных бизнес-классов, отдельных полей бизнес-классов, отдельных экземпляров бизнес-классов (отдельных записей в таблице). Определить права доступа можно для следующих операций: просмотр данных, создание и изменение объекта, удаление объекта, печать данных объекта. Кроме этого присутствуют политики групповой безопасности, с помощью которых можно разграничить доступ к отдельным функциям системы. Каждый пользователь имеет свою учетную запись. С помощью механизма аудита, можно фиксировать в базе данных действия конкретного пользователя и изменения в данных, произошедшие в результате этих действий. Учетная запись может быть заблокирована. Для каждого пользователя может быть указан интервал рабочего времени, в течение которого он имеет право войти в систему.
24.05.2005