Енбахтов М.А., научн. руководитель Шпак А.В.

Северо-Казахстанский государственный университет им. М. Козыбаева

К вопросу о выборе средств разработки для системы электронных услуг университета.

 

В данной статье рассказывается об актуальности применения средств СУБД MySQL и Yii framework, при  разработке системы электронных услуг в университете.

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

Выполнение такого требования может быть обеспечено с помощью следующих средств разработки: базы данных MySQL, которая существуют практически на всех возможных программно-аппаратных платформах, тем самым обеспечивая самый широкий спектр производительности и языка программирования PHP. К конкурентам MySQL, помимо прочих, относятся PostgreSQL, Microsoft SQL Server и Oracle. MySQL обладает многими преимуществами, в том числе высокой производительностью, низкой стоимостью, простотой конфигурирования и изучения, переносимостью и доступностью исходного кода. Система MySQL хорошо проверена и надежна. Она используется целым рядом очень требовательных заказчиков, таких как Yahoo!, Google,Finance, Slashdot и Бюро переписи США (U.S. Census Bureau). MySQL обладает хорошей переносимостью: MySQL может использоваться в среде многих различных систем UNIX, а также в среде Microsoft Windows. Как и в случае РНР, исходный код MySQL можно выгружать и изменять [1]. В университете уже действует своя корпоративная информационная система на основе ASP. Разработка кода ведется с использованием  Visual Basic Script и JScript. Но недостатком ASP является то, что он сам по себе является системой, которая используется исключительно на Microsoft Internet Information Server (IIS). Это ограничивает его применение серверами на основе Win32. Считается, что ASP боллее требователен к аппаратному обеспечению и в связи с этим работает медленнее, чем PHP, а также менее устойчив, а для работы с FTP-серверами, необходимо приобретать дополнительные компоненты, что влечет затраты на приобретение дополнительных компонентов. В университете так же запущен новый сайт, работающий на Yii framework на основе PHP языка программирования.

Yii — это высокоэффективный основанный на компонентной структуре PHP-фреймворк для разработки масштабных веб-приложений. Yii — это строго объектно-ориентированный фреймворк. Он позволяет максимально применить концепцию повторного использования кода и может существенно ускорить процесс веб-разработки. Название Yii (произносится как Yee или [ji:]) означает простой (easy), эффективный (efficient) и расширяемый (extensible). Для запуска веб-приложений, построенных на Yii,  необходим веб-сервер с поддержкой PHP версии 5.1.0 или выше. Yii — это фреймворк для веб-программирования общего назначения, который может быть использован для разработки практически любых веб-приложений. Благодаря своей легковесности и наличию продвинутых средств кэширования, Yii особенно подходит для разработки приложений с большим потоком трафика, таких как порталы, форумы, системы управления контентом (CMS), системы электронной коммерции и др. Подобно большинству других PHP-фреймворков, Yii — это MVC-фреймворк. Model-view-controller (MVC, «Модель-представление-контроллер») — схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные. Основная цель применения этой концепции состоит в разделении бизнес-логики (модели) от её визуализации (представления, вида). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать. Представление или вид отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами. Контроллер обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции [2]. За счет такого разделения повышается возможность повторного использования. Руководствуясь данной схемой можно реализовать следующие задачи:

1.   К одной модели можно присоединить несколько видов, при этом, не затрагивая реализацию модели. Например, некоторые данные могут быть одновременно представлены в виде электронной таблицы, гистограммы и круговой диаграммы;

2.   Не затрагивая реализацию видов, можно изменить реакции на действия пользователя (нажатие мышью на кнопке, ввод данных), для этого достаточно использовать другой контроллер;

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

Превосходство Yii над другими фреймворками заключается в эффективности, широких возможностях и качественной документации. Yii изначально спроектирован очень тщательно для соответствия всем требованиям при разработке серьезных веб-приложений. Yii не является ни побочным продуктом какого-либо проекта, ни сборкой сторонних решений. Он является результатом большого опыта авторов в разработке веб-приложений, а также исследований наиболее популярных веб-фреймворков и приложений [1].

Yii обладает следующими возможностями:

1.   высокая производительность;

2.   парадигма Модель-вид-контроллер;

3.   интерфейсы DAO и ActiveRecord для работы с базами данных (PDO);

4.   поддержка интернационализации;

5.   кэширование страниц и отдельных фрагментов;

6.   перехват и обработка ошибок;

7.   ввод и валидация форм (англ.)русск.;

8.   аутентификация и авторизация;

9.   использование AJAX и интеграция с jQuery;

10.       генерация базового PHP-кода для CRUD-операций (скаффолдинг);

11.       поддержка тем оформления для их лёгкой смены;

12.       возможность подключения сторонних библиотек;

13.       миграции базы данных;

14.       автоматическое тестирование;

15.       поддержка REST.

 

По результатам тестов phpmark Yii показал самую лучшую производительность [3].

Производительность фреймворков в этих тестах оценивалась на искусственных примерах типа Hello world. Тесты показывают время инициализации фреймворков, и на основании их можно лишь сделать вывод, что Yii имеет качественную подсистему отложенной инициализации (то есть, код загружается только тогда, когда он необходим) [4]. Таким образом, Yii framework является достойным средством для того, чтобы на нем вести разработку системы электронных услуг. Стабильность, мощность, скорость обработки данных, а так же модульная структура системы, разработанная при помощи данных средств, позволит вести дальнейшую разработку и модернизацию системы не зависимо от изменений в составе аппаратного обеспечения университета.

Для внедрения данной системы необходимо аппаратное обеспечение, отвечающее минимальным требованиям, а именно:

·     процессор минимум 800 МГц;

·     1024 Мб оперативной памяти;

·     400 Мб свободного дискового пространства в директории /tmp;

·     1,5 – 3,5 Гб дискового пространства для приложения;

·     1,2 Гб для базы данных  [5].

К тому же данная система легко интегрируется в новый интерфейс и дизайн сайта университета, так как построена на той же технологии. Данные средства разработки обладают  лицензиями на свободное программное обеспечение: MySQL (GNU), Yii famework (BSD) [6]. Это означает минимальные затраты на  приобретение и обновление этих средств, что в свою очередь позволит системе приобретать свойства и характеристики, отвечающие  будущим стандартам качества корпоративных систем.

 

Список литературы:

1. Winesett Jeffrey Agile Web Application Development with Yii 1.1 and PHP5. — Birmingham : Packt Publishing Ltd, 2010. — 22-24 c. — ISBN 978-1-847199-58-4.

2. Сандерсон Стивен ASP.NET MVC Framework с примерами на C# для профессионалов.. — Вильямс, 2009. — ISBN 978-5-8459-1609-9.

3. LLC Yii Software Performance of Yii // Yii framework. — 2013. — http://www.yiiframework.com/performance/.

4.  Yii // Википедия. — 2013. — http://www.ru.wikipedia.org/wiki/Yii.

5. Das Apolina Oracle® Database Installation Guide Release 2 for Linux x86.pdf // www.oracle.com. — 2005. — 2. — http://docs.oracle.com/cd/B19306_01/install.102/b15660/toc.htm.

6.  GNU General Public License // GNU operating system. — 2007. — http://www.rusgpl.ru/rusgpl.html.