веб-сайт частной медклиники. Автоматизированная информационная система на основе вебтехнологий для частной медицинской клиники
Скачать 4.65 Mb.
|
3.4 Особенности разработки web-приложенийWeb-приложения имеют архитектурные, технологические и пользовательские особенности: web-приложения должны развертываться очень быстро, и требования к ним постоянно меняются в ходе этапа разработки; все более частой практикой в web-разработке становится замена документов на реальные прототипы приложения; раннее подключение конечных пользователей к тестированию и развитию web-приложения; в то время как при разработке обычных приложений создается только одна версия приложения, которая удовлетворяет всем заданным требованиям, для web-приложений все более частой (и желательной) становится публикация в web-сети приложения, которое еще не удовлетворяет всем заданным требованиям; получение ранних отзывов пользователей становится все более важным для разработки web-приложения, а цикл развития действительно начинает рассматриваться в качестве реальной возможности для улучшения web-приложения, а не как дополнительная трата времени на доведение приложения до рабочего состояния; работа по проектированию web-приложений делится на проектирование данных и проектирование навигации. Разработка web-приложений включает специфические процессы: web-приложения являются специальным видом обычных программных приложений, и поэтому web-инженерия может рассматриваться в качестве специальной разновидности программной инженерии; разработка приложений для web-сети предполагает использование нескольких хорошо определенных правил и соглашений, которые предоставляют стабильно работающую, устойчивую и масштабируемую среду разработки и выполнения; существуют специальные процессы разработки, которые учитывают специфические возможности web-приложений. Модель жизненного цикла современных web- приложений показана на Рисунке 14. Рисунок 14 - Модель жизненного цикла современных web- приложений Основное различие данной модели от модели разработки обычного ПО заключается в понимании развертывания приложения не как вида деятельности (работы), а как перехода между работами. В web-сети развертывание приложения для его пользователей действительно не является трудоемкой работой: в связи с централизованной архитектурой обычных web-приложений, отсутствием специального кода приложения на стороне пользователей, использованием браузера в качестве среды выполнения работа по развертыванию web- приложения в значительной степени облегчается и ускоряется. Данная модель предлагает явное соединение работы по поддержке и развитию с анализом требований. Именно этот переход характеризует модель, он создает второй цикл модели, который включает анализ требований. Данный цикл называется «Циклом развития». Первый цикл связывает проектирование, реализацию, тестирование и развитие. Данный цикл называется «Цикл построения и проверки». Такие два цикла соответствуют двум этапам, которые характерны для современных web-приложений: офлайн-разработка и онлайн-разработка. Офлайн-разработка заключается в создании web-приложения в среде разработки, например, Visual Studio без использования реального web-сервера. Разработка в режиме онлайн выполняется после переноса web-приложения под управление реального web-сервера: создание виртуального каталога, файлов настройки, управление web-сервером. 3.5 Выбор средств реализацииДля реализации серверной части были использованы программные продукты: Вэб-сервер Apache 2.4; PHP 5.5; MySql 5.6; phpMyAdmin; PhpStorm 2022.1.1. Вэб-сервер Apache 2.4. Веб-сервер работает в качестве «посредника» между пользователем и физическим сервером. При получении запроса от посетителя он ищет необходимую страницу в каталоге с сайтом и отправляет её в ответ. Браузер принимает полученный файл, обрабатывает его и отображает на экране посетителя. Передача информации веб-сервера выполняется по протоколу HTTP (HyperText Transfer Protocol), изначально созданного для работы с HTML-страницами. Apache – это свободное программное обеспечение для размещения веб-сервера. Он хорошо показывает себя в работе с масштабными проектами, поэтому заслуженно считается одним из самых популярных веб-серверов. Apache состоит из ядра и динамической модульной системы. Параметры системы изменяются с помощью конфигурационных файлов. Ядро Apache разработано Apache Software Foundation на языке C. Основные функции — обработка конфигурационных файлов, протокол HTTP/HTTPS и загрузка модулей. Модуль – отдельный файл, подключение которого расширяет изначальный функционал ядра. Они могут включаться в состав ПО при первоначальной установке или подгружаться позже через изменение конфигурационного файла. Большинство из них отвечает за определенный аспект обработки клиентского запроса – поддержку различных языков программирования, безопасность, кэширование, аутентификацию и т.д. PHP 5.5. PHP — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. Язык определяется наличием большого набора встроенных средств и дополнительных модулей для разработки веб-приложений. Основные из них: автоматическое извлечение POST- и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы; взаимодействие с большим количеством различных систем управления базами данных через дополнительные модули; автоматизированная отправка HTTP-заголовков; работа с HTTP-авторизацией; работа с cookies и сессиями; работа с локальными и удалёнными файлами, сокетами; обработка файлов, загружаемых на сервер; работа с XForms. Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl. Для написания простейшего скрипта не требуется описывать какие-либо переменные, используемые модули и т. п. MySql 5.6. MySQL — свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle. MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы. Ветка MySQL 5.6 базируется на невыпущенной серии MySQL 5.5 и содержит ряд значительных улучшений, связанных с повышением масштабируемости и производительности, среди которых: Использование по умолчанию движка InnoDB. Поддержка полусинхронного (semi-synchronous) механизма репликации, основанного на патчах к InnoDB от компании Google. Улучшение функций по секционированию данных. Расширенный синтаксис для разбиения больших таблиц на несколько частей, размещенных в файловых системах (partitioning). Добавлены операции RANGE, LIST и метод оптимизации «partition pruning». Новый механизм оптимизации вложенных запросов и JOIN-операций. Переработана система внутренних блокировок. Интегрированы патчи Google с оптимизацией работы InnoDB на процессорах с большим количеством ядер. PhpMyAdmin — это веб-приложение, созданное с целью упростить работу с базой данных MySql. Современные хостинг-провайдеры чаще всего устанавливают именно PhpMyAdmin в панели управления. Возможности PhpMyAdmin: создавать и удалять базы данных; создание таблиц и редактирование их полей; управление индексами; поиск по базе данных; выполнение SQL-запросов; создание пользователей и управление их правами; возможность импорта/экспорта данных; и многое другое. PhpStorm 2022.1.1. PhpStorm – интегрированная среда разработки на PHP с интеллектуальным редактором, которая поддерживает все версии PHP (современные и классические проекты), включая генераторы, сопрограммы, пространства имен, замыкания, типажи, синтаксис коротких массивов, а также обеспечивает автодополнение кода, рефакторинги, предотвращение ошибок налету и поддерживает смешивание языков. Поддерживаются передовые технологии веб-разработки, включая HTML5, CSS, Sass, SCSS, Less, Stylus, Compass, CoffeeScript, TypeScript, ECMAScript Harmony, шаблоны Jade, Zen Coding, Emmet и JavaScript. Кроме того приложение включает в себя всю функциональность WebStorm (HTML/CSS редактор, JavaScript редактор) и добавляет полнофункциональную поддержку PHP и баз данных / SQL. Ключевые возможности: Интеллектуальный редактор PHP кода с подсветкой синтаксиса, автодополнением кода, расширенными настройками форматирования кода, предотвращением ошибок налету. Поддерживает версии PHP начиная с 5.3, генераторы, сопрограммы и все синтаксические улучшения. PHP рефакторинги, code (re)arranger, детектор дублируемого кода. Поддержка Vagrant, Composer, встроенный REST клиент, Command Line Tools, SSH консоль. Поддержка фреймворков (MVC view для Symfony2, Yii) и специализированные плагины для ведущих PHP фреймворков (Symfony, Magento, Drupal, Yii, CakePHP, WordPress, Joomla! и многие другие). Визуальный отладчик для PHP приложений, валидация конфигурации отладчика, PHPUnit с покрытием кода (поддержка PHPUnit 5), а также интеграция с профилировщиком. HTML, CSS, JavaScript редактор. Отладка и модульное тестирование для JS. Поддержка HTML5, CSS, Sass, SCSS, Less, Stylus, Compass, CoffeeScript, TypeScript, ECMAScript Harmony, Emmet и других передовых технологий веб-разработки. Полный набор инструментов для фронтенд-разработки. Поддержка стилей кода, встроенные стили PSR1/PSR2, Symfony2, Zend, Drupal и другие. Интеграция с системами управления версиями, включая унифицированный интерфейс. Удаленное развертывание приложений и автоматическая синхронизация с использованием FTP, SFTP, FTPS и др. Live Edit: изменения в коде можно мгновенно просмотреть в браузере без перезагрузки страницы. PHP UML. Интеграция с баг-трекерами. Инструменты работы с базами данных, SQL редактор. Кросс-платформенность (Windows, Mac OS X, Linux). Для создания клиентской части использованы следующие языки программирования: HTML5; CSS5; JSscript. HTML5. Для разработчиков html5 помогает писать понятный семантический код. Позволяет управлять многими процессами на странице своими стандартными методами, без использования javascript или сторонних плагинов и сервисов. Это означает, что решаются некоторые проблемы кроссбраузерности, поскольку браузеры одинаково реализуют новые возможности. Также html5 делает удобной работу в сети и для обычных пользователей. Например, увеличивается скорость работы, использование браузера становится более удобным. Для того чтобы смотреть ролики из youtube не нужно устанавливать дополнительные плагины и постоянно обновлять их. CSS5. CSS (Cascading Style Sheets) — язык таблиц стилей, который позволяет прикреплять стиль (например, шрифты и цвет) к структурированным документам (например, документам HTML и приложениям XML). Обычно CSS-стили используются для создания и изменения стиля элементов веб-страниц и пользовательских интерфейсов, написанных на языках HTML и XHTML, но также могут быть применены к любому виду XML-документа, в том числе XML, SVG и XUL. Отделяя стиль представления документов от содержимого документов, CSS упрощает создание веб-страниц и обслуживание сайтов. CSS поддерживает таблицы стилей для конкретных носителей, поэтому авторы могут адаптировать представление своих документов к визуальным браузерам, слуховым устройствам, принтерам, брайлевским устройствам, карманным устройствам и т.д. JSscript. Script — это язык программирования от компании Microsoft. Он предназначен для создания сценариев и является реализацией стандарта ECMAScript. Синтаксис JScript во многом аналогичен языку JavaScript от компании Netscape. JScript по умолчанию поддерживается в Windows Script Host (WSH), который в свою очередь по умолчанию устанавливается вместе с почти любой версией Windows. Если у вас слишком старая версия Windows, вы можете скачать WSH с сайта Microsoft и самостоятельно установить его. Сценарии на языке JScript чаще всего используются в следующих областях: клиентские сценарии на Web-страницах; автоматизация администрирования систем Windows; серверный программный код на страницах ASP в Web-приложениях. Язык JScript получил дальнейшее развитие в виде языка JScript.NET, который ориентирован на работу в рамках платформы Microsoft ASP.NET. |