Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Выбор языкапрограммирования
При создании большинства web-приложений используются языки программирования: php , python, ruby, perl. Сравним данные языки по сле- дующимпоказателям: -сложность языка, влияющая на длительность изучения языка програм- мирования илитехнологии; -размеры сообщества программистов, использующих данный язык. Критерийособенноважендляopensourceтехнологий,таккаквболь- шинстве случаев отсутствует техническаяподдержка; -наличие библиотек управления пакетами (библиотеками, фреймворка- ми ипр.); -наличие библиотек коммуникаций, использование которых позволя- ет взаимодействовать с базами данных под управлением различных СУБД; -независимость от используемойплатформы; -скорость работы программ, использующих язык, технологию.
Библиотеки управленияпакетами Не маловажным фактором при разработке нового web-приложения яв- ляется сокращение времени разработки, которое происходит за счет исполь- зования уже готовых решений, написанных сообществом программистов и решающих многие рутинные задачи (Для примера можно привести ре- ализации подсистемы авторизации, подсистемы графического интерфейса для взаимодействия с базой данных). Однако при использовании сторонних библиотек возникают проблемы с их установкой, обновлением, зависимо- стями от других библиотек. Наличие менеджера пакетов во многом решает эти проблемы. Для PHP существует менеджер пакетов Composer, для Python - pip, Ruby - RubyGems. При использовании Perl за установку, настройку и обновление сторонних библиотек отвечаетразработчик.
Библиотеки взаимодействия с базами данных Язык PHP имееют самую развитую поддержку различных СУБД из рассматриваемых языков программирования. Самое распространенное рас- ширение языка для работы с базами данных в PHP - PDO, позволяет исполь- зовать при разработки различные СУБД, среди которых OracleDatabase, MSSQLServer, Infomix, MySQL, PostgreSQL, Firebird и пр. Также многие раз- работчики СУБД выпускают специализированные библиотеки доступа для PHP. Ruby, также как и PHP, легко интегрирует в свои программы высоко- производительныесерверыбазданных(DB2,MySQL,OracleиSybase); Python имеет изначальную ограниченность средств для работы с ба- замиданных. В Perl существует множество различных модулей для работы с базами данных, которые оптимизированы для работы с конкретными СУБД. Но как правило эти модули имеют разные наборы функций. Для упрощения пере- носа приложений был разработан модуль DBI. Он построен по модульной архитектуре – для каждой СУБД существует драйвер, реализующий специ- фику работы с конкретной базой данных.
Независимость от используемойплатформы Все из рассматриваемых языков программирования имеют возмож- ность установки на разных платформах и работы с разными web-серверами (Apache,IIS).
Скорость работы программ, использующихязык Среди рассматриваемых языков на основании проведенных экспери- ментов лучшую производительность показали языки PHP и Perl. Програм- мы, написанные на Python и Ruby значительно отстают в производительно- сти.
Выводы На основании всего выше изложенного (таблица 3.1) разработке ав- томатизированной системе проверки знаний будем использовать язык php, потому что это самый популярный язык программирования для web. Имеет ряд преимуществ: -низкий «порог вхождения» - простота синтаксиса, динамическая типи- зация переменных, возможность интеграции html/css/js прямо в скрип- ты позволяют создавать простые программы после непродолжитель- ного изучениядокументации; -множество свободных библиотек, cms, фреймворков с открытым ис- ходным кодом; -большое сообщество разработчиков наhttp://github.com. -php работает практически на любом web-сервере(apache2, nigx, iis), а так же без него (можно использовать для задач администрирования, написания десктопныхприложений); -возможность взаимодействия с различными системами управления ба- зами данных (Mysql, SQLite, PostgresSQL, Firebird, MSSQL, OracleDataBase); -поддерживает объектно-ориентированный метод программирования (создатели php совместили много сильных сторон ООП-походов дру- гих языковпрограммирования); -возможность установки и использования на различных архитектурах (x86, ARM) и различных операционных системах (Linux, Windows, Unix). Таблица3.1—Сравнениеязыковпрограммирования
Подробнее с количественными характеристиками рассмотренных язы- ков программирования можно ознакомиться в статье [18].
Описание выбораСУБД Выбор системы управления базами данных (СУБД) представляет со- бой сложную задачу и является одним из важных этапов при разработке приложений баз данных. Выбранный программный продукт должен удо- влетворять как текущим, так и будущим потребностям предприятия, при этом следует учитывать финансовые затраты на приобретение необходимо- го оборудования, самой системы, разработку необходимого программного обеспечения на ее основе, а также обучение персонала. Для сравнения были выбраны три свободно распространяемые СУБД: Firebird, MySQL и PostgreSQL. Сравнение проводилось по пяти основным параметрам: поддержка СУБД механизма триггеров и хранимых процедур, удобство и доступность средств разработки приложений СУБД, перечень поддерживаемых операционных систем, минимальные требования к серве- ру баз данных, и производительность.
Встроенные средства резервирования ирепликации MySQL имеет утилиту mysqldump, позволяющую резервировать дан- ные базы. Есть средства встроенной репликации, что позволяет обеспечить масштабируемость системы при увеличении хранимых данных и возросшей нагрузки. В комплекте PostgreSQL есть 2 утилиты которые позволяют делать резервные копии, это pg_dump/pg_dumpall и pg_basebackup. Кроме того есть возможность использовать утилиты файлового копирования, такие как rsync, tar, cp и т.п. Также как и MySQL имеет встроенные средства админи- стрирования. Для организации резервирования баз данных под управлением СУБД Firebird используются встроенные утилиты gbak и nbackup. Штатные сред- ства репликации отсутствуют, но есть сторонний продукт IBReplicator, поз- воляющий достичь синхронизации двух и более баз данных, правда, для его работы необходимо менять структуру метаданных базы.
Триггеры и хранимыепроцедуры Для большинства информационных систем наиболее распространен- ной является клиент-серверная архитектура, то есть архитектура, в которой под БД выделяется отдельный, достаточно мощный и надежный сервер, сетевой доступ к которому осуществляют несколько клиентов. Поддерж- ка СУБД механизма триггеров и хранимых процедур позволяет перенести часть вычислительной нагрузки по обработке данных на сервер, несколько снижает сетевой трафик, облегчает модернизацию ПО. Все три СУБД под- держивают процедурные языки SQL, но больший функционал предостав- ляет PostgresSQL, его PL/pgSQL практически не уступает коммерческим СУБД. Средыразработки Все рассматриваемые СУБД имеют функциональные IDE: для MySQL — phpMyAdmin,Workbench, Firebird — Ibexpert/FlameRobin, PostgreSQL — phpMyPgSQL. Все IDE являются свободно распространяемыми продуктами, наиболее удобны в использовании Workbench, Ibexpert.
|
||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-05-31; просмотров: 191. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |