Выбор технологий реализации подсистемы

Данная связка была выбрана в связи с тем, что во-первых, разработка официального сайта ведется именно с помощью данных средств программирования, во-вторых, представляет собой наиболее удобный набор инструментов для разработки веб-приложений. СУБД MySQL отлично взаимодействует с PHP. Denwer со встроенным сервером Apache позволяет эффективно отладить приложение на локальном сервере, к тому же он довольно удобен ввиду большого количества гибких настроек. Кроме того, Denwer обладает широким спектром дополнительных библиотек, облегчающих разработку и обеспечивающих больший функционал приложения [14].

Фреймворков существует достаточно большое количество. Все они отличаются только поддерживаемыми языками программирования и возможностью подключения тех или иных библиотек. Так например, самая известная платформа - .NET Framework от фирмы Microsoft – поддерживает большое количество языков программирования, позволяет писать как обычные, так и веб-приложения, но из-за того, что создана для операционных систем Microsoft, не позволяет пользователям остальных ОС программировать на ней. Еще одним представителем фреймворков является Circumflex — общее название программных компонентов для языка программирования Scala, предназначенных для ускорения и повышения эффективности разработки Web-приложений и приложений, основанных на работе с реляционными базами данных. Минус этой платформы в невозможности использовать другие виды баз данных, как и небольшая популярность языка программирования. Весьма специфическим является фреймворк Django, используемый для создания веб-приложений на языке Python. Система должна быть реализована в соответствии с концепциями объектно-ориентированного программирования и паттерном Model-View-Controller. Для ее разработки выбран фреймворк Zend Framework .

Zend предоставляет простые интерфейсы и мощную функциональность для разработки приложений и расширения для построения современных, быстрых и безопасных сайтов. Помимо MVC-компонентов Zend Framework содержит множество библиотек, полезных для построения приложения. Framework — это свободный каркас на PHP для разработки веб-приложений и веб-сервисов. Zend Framework представляет собой набор слабосвязанных компонент. Это означает, что можно свободно использовать отдельные компоненты в своих проектах [13].

Zend Framework основан на программной архитектуре Модель-Представление-Контроллер (Model-View-Controller). Ее суть состоит в разделении приложения на три отдельных компонента таким образом, что модификация каждого из них оказывает минимальное воздействие на остальные. Это приводит к существенному облегчению процесса разработки и поддержки [17].

1. Модель. Моделью называют ту часть приложения, которая относится к работе с данными.

2. Представление. Под термином «представление» подразумевается пользовательский интерфейс приложения.

3. Контроллер. Контроллеры реализуют задачи, связанные с взаимодействием между моделью и представлением.

К основным достоинствам Zend Framework принято относить:

– наследование классов - Zend Framework является полностью объектно-ориентированной рабочей средой, позволяет создавать функционал, который будет уникальным для проекта;

– объектно-ориентированная сущность - в Zend Framework все является объектом, значит, есть возможность использовать код повторно;

– можно использовать только то, что нужно - Zend Framework является просто набором классов, вследствие чего можно использовать преимущества компонентов одной библиотеки, а не всей рабочей среды целиком;

– имеет готовое решение для множества задач;

– нет реализации модели - философия Zend Framework утверждает, что реализация модели уникальна для проекта, и невозможно создать абстрактную реализацию;

– главный плюс – можно интегрировать все, что угодно со всем, что пожелает разработчик;

– код жестко соответствует стандартам кодирования;

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

– большое сообщество и понятная документация;

– сертификация [13].

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

– простота использования;

– понятный и удобный графический интерфейс, реализованный в phpMyAdmin (при использовании Denwer);

– бесплатно распространяемая и с открытым исходным кодом;

– масштабируемость и большая производительность;

– API для большого количества языков программирования и поддержка большого числа платформ;

– гибкость за счет поддержки большого количества типов;

– очень быстрая, базирующаяся на потоках система распределения памяти;

– хеш-таблицы в памяти, используемые как временные таблицы [15].

Несмотря на то, что в MySQL не реализован весь SQL-функционал, эта СУБД предлагает много удобных и практичных инструментов для разработки приложений.