Описание предметной области задачи автоматизации

Веб-приложения – это специальный вид приложений, которые работают в глобальной сети Интернет по протоколу HTTP. Как правило, веб-приложения не требуют установки дополнительного программного обеспечения на стороне клиента, а вся логика, в основном, выполняется на стороне сервера.

Для отображения пользовательского интерфейса используется интернет-браузер. Функции приложения должны выполняться независимо от операционной системы данного клиента. Вместо создания различных версий для Microsoft Windows, Mac OS X, GNU/Linux и других операционных систем, приложение создаётся один раз для произвольно выбранной платформы и на ней разворачивается.

Для того, чтобы веб-приложение стало доступно, его необходимо разместить в рамках веб-сервера. После этого приложение получает свой уникальный адрес в рамках протокола HTTP, используя этот адрес пользователь может обратиться к приложению. Для этого он должен запустить интернет-браузер и ввести в адресной строке адрес приложения. В этот момент браузер сгенерирует запрос к серверу и отправит его, используя протокол HTTP. В момент, когда сервер примет этот запрос, он сможет распознать, что именно требуется от него на основе полученного запроса.

Используя эти данные он сгенерирует ответ и отправит его обратно клиенту также используя протокол HTTP. Обычно ответ содержит гипертекстовую разметку HTML, содержащую структуру документа, который передается пользователю. После того, как браузер получит ответ в виде HTML-документа, он немедленно отобразит его пользователю. Таким образом происходит взаимодействие клиента и сервера. Зачастую документ HTML содержит ссылки на изображение, другие медиа-файлы, таблицы стилей или клиентские сценарии. В этом случае браузер генерирует еще несколько аналогичных запросов к веб-серверу. Однако, в этом случае веб-сервер передает клиенту уже не HTML-документ, а соответствующие запрашиваемые ресурсы (изображения, таблицы стилей, клиентские сценарии и т.д.).

Описание предметной области задачи автоматизации - student2.ru

Рис. 1.1 Алгоритм работы веб-приложения

Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей «Википедии»: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.

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

Для создания веб-приложений на стороне сервера используются разнообразные технологии и любые языки программирования, способные осуществлять вывод в стандартную консоль. К таким технологиям относятся технология Microsoft ASP.NET, PHP, Ruby on Rails и др. В них, фактически, содержатся все компоненты, необходимые для реализации веб-приложений и учитывающие их специфику.

Разработка веб-приложений в наше время, как правило, ведется на локальных машинах, а уже готовая версия приложения развертывается на веб-сервер. Развертывание приложения, службы или компонента — это механизм их распространения для установки на других компьютерах, устройствах, серверах и в облаке.

Анализ прототипов системы

В качестве основных прототипов системы будем рассматривать Hewlett Packard Enterprise Server Automation и Microsoft Web Deploy.

HPE Server Automation является комплексной системой управления конфигурациями серверов и приложений. Это программное обеспечение для предназначенное для централизации управления и постановки на поток множества функций дата-центров, а также автоматизации критически важных мест в управлении ИТ-инфраструктурой.

Описание предметной области задачи автоматизации - student2.ru

Рис. 1.2 Структура HPE Server Automation

В своем составе HPE Server Automation содержит пакет «Software deployment», предназначенный для выполнения интересующих нас задач.

С помощью функции развертывания приложений HPE Server Automation возможно создавать, тестировать и развертывать пользовательские программные продукты для целевых серверов в центрах обработки данных. Например, возможно перемещать приложения от разработчиков к тестировщикам для обеспечения лучшего качества тестирования. Инструмент развертывания приложений упрощает коммуникации, необходимые для развертывания приложений. Он предоставляет единую точку доступа, где все участвующие в процессе разработки сотрудники могут просматривать или вводить данные, с которыми они работают. С помощью этого инструмента вы также можете:

— моделировать такие компоненты приложений, как код, скрипты, конфигурационные файлы;

— управлять несколькими параллельными выпусками и версиями ваших приложений;

— разворачивать и сворачивать приложения на целевых серверах, делать откаты их версий в случае нестабильной работы и наличия ошибок;

— моделировать целевые сервера, работающие под управлением элементов необходимых для приложений;

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

— планировать и реализовывать циклы разработки приложений начиная от написания кода и заканчивая релизом продукта. Вы можете настроить Hewlett Packard Enterprise Server Automation в зависимости от типа вашего предприятия, принятых на нем стандартов и способов работы.

Microsoft Web Deploy – Инструмент веб-развертывания от компании Microsoft, он упрощает процессы переноса и развертывания веб-серверов IIS, веб-приложений и веб-сайтов, а также управления ими.

Описание предметной области задачи автоматизации - student2.ru

Рис. 1.3 Алгоритм работы HPE Microsoft Web Deploy

Инструмент веб-развертывания позволяет упаковывать конфигурацию и содержимое установленных веб-приложений, включая базы данных SQL, и использовать пакеты для хранения или повторного развертывания. Эти пакеты развертываются с помощью диспетчера служб IIS, причем права администратора не требуются. Данный инструмент интегрируется с Visual Studio и WebMatrix, упрощая и ускоряя развертывание веб-приложений на веб-сервере.

Т.к. данная технология пришла на замену работе по протоколу FTP, то приведем сравнение возможностей Web Deploy с FTP:

— Web Deploy быстрее, чем FTP. Web Deploy не выполняет новую команду для каждой операции. Вместо этого в начале синхронизации он производит сравнение и передает только изменения.

— Web Deploy является безопасным. Web Deploy поддерживает передачу по протоколу HTTPS. Стоит отметить, что разновидности FTP, такие как SFTP и FTPS также являются безопасными.

— Web Deploy может установить дескрипторы безопасности (ACL) для конечных файлов и каталогов. Например, вы можете использовать Web Deploy, чтобы дать пользователю Windows определенные права доступа к папке вашего приложения " Downloads " во время развертывания.

— Web Deploy может публиковать базы данных. Web Deploy имеет поддержку скриптов баз данных SQL Server, MySQL Server, SQLite и SQL Server Compact и может применять полученные скрипты во время синхронизации. Эта функция является необходимой для приложений, которые используют базы даных в своей работе.

— Web Deploy может изменить настройки приложения во время синхронизации. Web Deploy поддерживает широкий спектр преобразований, включая преобразование настройки IIS.

— Web Deploy интегрируется с Visual Studio 2015 и WebMatrix.

Описание предметной области задачи автоматизации - student2.ru
Рис. 1.4 Настройка публикации Web Deploy в Visual Studio


Наши рекомендации