Читать книгу «Проектирование и защита информационных систем» онлайн полностью📖 — Ивана Андреевича Трещева — MyBook.

2.2. Выбор языка программирования и СУБД

Создание проекта в среде не дает возможности полной автоматизации, но помогает сформировать техническое задание. Первоначально в качестве средств автоматизации использовалось программное обеспечение на языке PHP, а в качестве системы управления базами данных была выбранаMySQL. Выбор этот подтверждался следующим:

– Необходимость использования современных инструментальных средств, с помощью которых можно создавать функционально насыщенные Internet-приложения.

– В области программирования для сети Интернет PHP – один из популярных скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

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

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

MySQL— свободная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой SunMicrosystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

Рисунок 18


Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы. [88,89]

Используя PHPи MySQL, был написан полностью модуль по проведению Интернет-олимпиад, начата разработка модулей по сбору показателей и успеваемости студентов. При этом были выявлены некоторые трудности, которые заставили перейти на другие средства разработки и управления базами данных. Среди проблем можно назвать следующие:

Несогласованный синтаксис функций и неортогональность

PHP предоставляет разработчикам большое количество самых разнообразных функций, которые попали в язык из расширений, создаваемых разными группами программистов. В результате синтаксис языка не согласован, например, часть функций для работы с массивами начинается с префикса array_, другая часть этим префиксом не обладает. Названия части строковых функций начинается с префикса str, другие функции таким префиксом не обладают. В тех же строковых функциях обрабатываемая строка может передаваться как в качестве первого, так и в качестве последнего аргумента, что вызывает путаницу у программистов, и, следовательно, требует постоянного обращения к документации. Некоторые задачи, например, разбиение строки на массив или подстроки, решаются несколькими функциями. [90,91]

Другая причина отсутствия ортогональности в PHP заключается в особенностях появления этого языка на свет.

Отсутствие обратной совместимости между версиями языка

Нижесказанное относится в большей степени к php> =5.3.0. Версии PHP <5.3.0 сохраняет весьма хорошую обратную совместимость.

Отсутствие поддержки многобайтовых кодировок в ядре языка

Поддержка строк с многобайтовыми кодировками, такими как UTF-8 реализуется через отдельные расширения mbstring и iconv, на уровне ядра поддержка отсутствует, однако с версии PHP 4.2.0 есть возможность переопределять стандартные функции работы со строками, подменяя их на аналоги из mbstring.

Отсутствие поддержки многопоточности

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

Критика MySQL

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

.NET Framework— программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является исполняющая среда Common Language Runtime (CLR), способная выполнять как обычные программы, так и серверные веб-приложения..NET Framework поддерживает создание программ, написанных на разных языках программирования. Краеугольным камнем современного программирования является использование модели Model-view-controller (MVC, «Модель-представление-поведение», «Модель-представление-контроллер») – схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные. Данная схема проектирования часто используется для построения архитектурного каркаса, когда переходят от теории к реализации в конкретной предметной области. [92]


Рисунок 19


Рисунок 20. Концепция Model-View-Controller


Назначение

Основная цель применения этой концепции состоит в разделении бизнес-логики (модели) от её визуализации (представления, вида). За счет такого разделения повышается возможность повторного использования. Наиболее полезно применение данной концепции в тех случаях, когда пользователь должен видеть те же самые данные одновременно в различных контекстах и/или с различных точек зрения.

Microsoft SQL Server

Microsoft SQL Server— система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов —Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. [93,94]


Рисунок 21


Разрабатываемое программное обеспечение в полном объеме базируется на стеке технологий Microsoft, который является частью современной Платформы Microsoft.

Конец ознакомительного фрагмента.