Использование WEB-технологий в разработке автоматизированной компьютерной системы учета оборудования
Инкапсуляция, полиморфизм и наследование как одни из основных механизмов объектно-ориентированного программирования. Отчеты - выборка массива информационных данных по необходимым пользователю критериям, которые вставлены в соответствующий веб-шаблон.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 19.01.2018 |
Размер файла | 10,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
В статье описан способ применения 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]. В простейшем своем смысле, веб-шаблон, функционирует аналогично документу на бланке для использования при создании веб-сайта.
Принимая к сведению описанные выше данные об веб-технологиях, можно сделать вывод, что их использование более чем уместно при разработке подобных систем учета оборудования. Их использование не несет за собой дополнительных затрат и обеспечивает приемлемую производительность, а также выполнение всех приведенных в начале статьи требований к системам учета оборудования. Для реализации этого проекта можно использовать связку «Операционная система - Apache - MySQL - PHP». Такая связка не имеет требований, чтобы на клиентской или серверной машине была установлена определенная операционная система, что позволяет сэкономить при проектировании сервера данных системы в условиях такого предприятия, как университет, установив на сервер операционную систему, распространяемую по бесплатной лицензии.
Литература
веб информационный инкапсуляция
1. Томсон Л., Веллинг Л. Разработка Web-приложений на PHP и MySQL. - К.: ДиаСофт, 2001. - 672 с.
2. Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Практика создания Web-сайтов. - БХВ-Петербург, 2005. - 948 с.
3. Яргер Р., Риз Дж., Кинг Т. MySQL и mSQL. Базы данных для небольших предприятий и Интернета. - СПб: Символ-Плюс, 2000. - 560 с.
4. Суэринг С., Конверс Т., Парк Д. PHP и MySQL. Библия программиста. - Диалектика-Вильямс, - 2-е издание. - 912 с.
Размещено на Allbest.ru
Подобные документы
Основы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм и абстракция. Объектно-ориентированный принцип разработки системы учета абонементной платы за пользование кабельным телевидением. Методы для работы с данными.
курсовая работа [2,7 M], добавлен 04.05.2013Анализ объектно-ориентированного программирования, имитирующего способы выполнения предметов. Основные принципы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. Понятие классов, полей, методов, сообщений, событий.
контрольная работа [51,7 K], добавлен 22.01.2013Изучение принципов объектно-ориентированного программирования, в котором основными концепциями являются понятия классов и объектов. Свойства этого вида программирования: инкапсуляция, полиморфизм, наследование. Описание класса. Конструкторы и деструкторы.
презентация [74,8 K], добавлен 14.10.2013Свойства объектно-ориентированного языка программирования. Понятия инкапсуляции и наследования. Виртуальные функции и полиморфизм. Инициализация экземпляра объекта с помощью конструктора. Динамическое создание объектов. Совместимость объектных типов.
реферат [17,0 K], добавлен 15.04.2015Изучение принципов объектно-ориентированного программирования. Понятие класса в Delphi, в основе которых лежат три фундаментальные принципы - инкапсуляция, наследование и полиморфизм. Разработка классов транспортных средств и структур классов (кошки).
курсовая работа [29,7 K], добавлен 29.10.2011Сущность и история развития объектно-ориентированного программирования. Наследование как важнейшее свойство объекта. Экземпляры объектных типов. Поля объектов, методы, полиморфизм. Производительность объектных программ. Пример программного продукта.
курсовая работа [33,3 K], добавлен 25.03.2012Использование объектно-ориентированного программирования - хорошее решение при разработке крупных программных проектов. Объект и класс как основа объектно-ориентированного языка. Понятие объектно-ориентированных языков. Языки и программное окружение.
контрольная работа [60,1 K], добавлен 17.01.2011Объектно-ориентированное программирование как методология программирования, опирающаяся на инкапсуляции, полиморфизме и наследовании. Общая форма класса. Наследование как процесс, посредством которого один объект получает свойства другого объекта.
презентация [214,9 K], добавлен 26.10.2013C++ как компилируемый статически типизированный язык программирования общего назначения. История стандартов и необъектно-ориентированные возможности. Объектно-ориентированные особенности языка. Константные функции-члены, наследование и инкапсуляция.
курсовая работа [192,9 K], добавлен 27.07.2014Что такое класс в объектно-ориентированном программировании. Какую структуру имеет модуль в С++. Какими средствами осуществляется консольный ввод данных в языке Си, С++. Инкапсуляция, полиморфизм, наследование. Использование библиотеки "
".
контрольная работа [1,9 M], добавлен 13.11.2016