Использование WEB-технологий в разработке автоматизированной компьютерной системы учета оборудования

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

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

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

Таким образом, разрабатываемая система должна обладать и мультиплатформенностью. Изложенные требования при разработке данной автоматизированной системы можно удовлетворить применением web-технологий, которые позволяют реализовать свободный, быстрый и дешевый доступ к информации. Так как такая система должна содержать не только статический, но и динамический контент, для ее реализации может быть выбран скриптовый язык PHP в связке с базой данных MySQL. Выбор обусловлен их популярностью, доступностью и универсальностью

PHP – это скриптовый язык программирования общего назначения, в настоящее время интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания веб-сайтов с динамическим контентом. Еще одним плюсом PHP является тот факт, что проект распространяется по бесплатной лицензии.

Разрабатываемая система учета оборудования должна иметь модульную структуру, чтобы ее можно было при необходимости модифицировать и привести в соответствие к изменившимся требованиям, без необходимости разработки системы «с нуля». Добиться такой структуры позволяет объектно-ориентированный подход к программированию.

На данный момент PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка. Сейчас PHP поддерживает все три основных механизма ООП: инкапсуляцию, полиморфизм и наследование [1]. Поддерживаются интерфейсы, причем класс   может   реализовывать   сразу   несколько   интерфейсов.   Разрешается   объявление   финальных и абстрактных  классов.  Таким  образом,  PHP  вполне  соответствует  выдвинутым  выше   требованиям к языку разработки системы учета оборудования.

При использовании веб-технологий сама система будет находиться на отдельном сервере, доступ к ней будет осуществляться по средствам локальной сети. На любой машине с установленным интернет-браузером будет гарантироваться правильная работа системы. На сервере можно установить Apache HTTP-сервер, который и будет использован как серверная платформа для запуска системы.

Apache является кроссплатформенным программным обеспечением и поддерживает большинство из ныне существующих операционных систем, таких как Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS. Apache HTTP-сервер (httpd) — свободный веб-сервер. Основными достоинствами Apache считаются надѐжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.

Apache поддерживает множество языков программирования и систем разработки, среди которых есть PHP, Python, Ruby, Perl и другие. Кроме того Apache поддерживает механизмы CGI, что позволяет исполнять программы на языках не являющихся изначально веб-ориентированными (С, C++, Java и т.д.).

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

Кроме того, Apache предоставляет в распоряжение разработчика мощные механизмы для обеспечения безопасности и организации разграничения доступа к данным. Средствами Apache возможна организация механизма авторизации пользователей для доступа к директории по методу HTTP-авторизации, digest-авторизации или методами СУБД, ограничения доступа к определенным директориям и файлам, типам файлов в зависимости от привилегий или IP пользователей. С помощью механизма suexec возможен запуск CGI-приложений с правами и идентификационными данными пользователя [2]. Для реализации шифрования данных Apache может предложить механизм SSL, реализованный через библиотеку OpenSSL. Для удостоверения подлинности веб-сервера в Apache используются сертификаты X.509.

Разрабатываемая система учета оборудования будет хранить в себе множество   конфиденциальной и даже потенциально опасной информации, поэтому организации безопасности данных должно быть уделено пристальное внимание. Данные могут быть уязвимы как на сервере СУБД, так и во время передачи между сервером и клиентом. Описанный выше спектр защитных механизмов Apache способен существенно снизить опасность перехвата или искажения информации в системе.

В качестве упомянутой выше СУБД предпочтительней использовать MySQL. MySQL — свободная система управления базами данных (СУБД) являющаяся решением для малых и средних приложений [3]. Входит в состав серверов WAMP, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалѐнные клиенты, однако  в   дистрибутив   входит   библиотека   внутреннего   сервера,   позволяющая   включать  MySQL в автономные программы.

MySQL имеет двойное лицензирование. MySQL может распространяться в соответствии с условиями лицензии GPL. Однако по условиям GPL, если какая-либо программа включает исходные коды MySQL, то она тоже должна распространяться по лицензии GPL. Это может расходиться с планами разработчиков, не желающих открывать исходные тексты своих программ. Для таких случаев предусмотрена коммерческая лицензия. В данном случае используется лицензия GPL, т.е. для разработки системы не потребуются дополнительные затраты на приобретение дополнительного программного обеспечения.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Подобные таблицы позволяют избежать потерь данных при редактировании либо занесении в базу данных новых записей. Поддержка различных типов ячеек  позволяет  хранить  в  базе  данных  любые  требующиеся сведения об имеющемся на предприятии оборудовании. Гибкий язык SQL запросов так же позволяет производить выборку данных абсолютно по любым критериям, записанным в БД, что существенно облегчает поиск оборудования, а также формирование всяческих отчетов. Отчеты представляют собой выборку данных по необходимым пользователю критериям, вставленным в соответствующий веб-шаблон, который затем может быть либо отправлен на печать, либо сохранен на компьютере пользователя. Веб-шаблон является инструментом для отделения содержимого от визуального представления в веб-дизайне, для массового создания веб-документов [4]. В простейшем своем смысле, веб-шаблон, функционирует аналогично документу на бланке для использования при создании веб-сайта.

Принимая к сведению описанные выше данные об веб-технологиях, можно сделать вывод, что их использование   более   чем   уместно    при    разработке    подобных    систем    учета    оборудования. Их использование не несет за собой дополнительных затрат и обеспечивает приемлемую производительность, а также выполнение всех приведенных в начале статьи требований к системам учета оборудования. Для реализации этого проекта можно использовать связку «Операционная система – ApacheMySQLPHP». Такая связка не имеет требований, чтобы на клиентской или серверной машине была установлена определенная операционная система, что позволяет сэкономить при проектировании сервера данных системы в условиях такого предприятия, как университет, установив на сервер операционную систему, распространяемую по бесплатной лицензии.

 

Литература

  1. Томсон Л., Веллинг Л. Разработка Web-приложений на PHP и MySQL. - К.: ДиаСофт, 2001. – 672 с.
  2. Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Практика создания Web-сайтов. - БХВ-Петербург, 2005. – 948 с.
  3. Яргер Р., Риз Дж., Кинг Т. MySQL и mSQL. Базы данных для небольших предприятий и Интернета. - СПб: Символ-Плюс, 2000. - 560 с.
  4. Суэринг С., Конверс Т., Парк Д. PHP и MySQL. Библия программиста. - Диалектика-Вильямс, - 2-е издание. – 912 с.
Фамилия автора: С.В. Лумпов
Год: 2011
Город: Павлодар
Яндекс.Метрика