Большинство сложных современных программных комплексов связаны с веб-сервисами, которые выполняются на удаленных серверах. Благодаря сервис-ориентированной архитектуре вычисление некоторых операций и выполнение отдельных функций может быть возложено на другую вычислительную машину, доступную через сеть Интернет, в результате чего формируется распределенная система. Однако для реализации распределенной системы недостаточно разбить ее функциональность на отдельные процедуры и реализовать их посредством веб-сервисов. Необходима также координация вызовов операций веб-сервисов и описание того, как результаты их работы влияют на конечный результат. Такое взаимодействие веб-сервисов подпадает под определение бизнес-процесса – набора связанных, структурированных действий или задач, ведущих к производству сервиса или продукта [1].
В данном контексте вопросы повышения качества функционирования веб-сервисов, анализ их производительности, быстродействия и надежности в среде Интернет, а также оптимизация обозначенных характеристик являются предметом интенсивных исследований и разработок. При этом ряд проблемных аспектов так и остается нерешенным, в частности, особого внимания заслуживает разработка методов и средств прогнозирования производительности различных конфигураций Интернет-системы как на начальных этапах проектирования, так и в процессе эксплуатации веб-сервисов с возможностью их дальнейшей модернизации и развития.
Таким образом, обозначенные обстоятельства предопределяют выбор темы данной статьи, а также свидетельствует о ее высокой теоретической и практической значимости.
Варианты решения задач динамического взаимодействия, разработки моделей, методов и алгоритмов функционирования веб-сервисов в Интернете основываются на исследованиях и теоретических результатах, которые отражены в работах Сомова К.А., Кудряшова А.А., Аббасова Э.М., Польшина С.Н., Park C. H., Cho D. H., Conti, M., Kumar, M., Das, S. K., Shirazi B. A.
Однако, несмотря на имеющиеся труды и публикации задача повышения производительности сервисно-ориентированных систем требует более углубленного исследования. Особого внимания заслуживает развитие подходов к распределению нагрузок между веб-серверами.
Таким образом, с учетом вышеизложенного, цель статьи заключается в рассмотрении модели взаимодействия веб-сервисов и их производительности в интерактивной среде Интернет.
Для моделирования взаимодействия и анализа производительности веб-сервисов в интерактивной среде Интернет создаются инструментальные программные средства, позволяющие на основе модели системы (сервисов) вычислить (составить прогноз) ожидаемых количественных характеристик, определить преимущества определенных архитектурных решений перед другими, разработать варианты реализации бизнес-систем, а также дать обоснование развития или модернизации инфраструктуры существующих систем, когда любые параметры уже не удовлетворяют пользователя и нужно улучшить (оптимизировать) работу системы [2].
Проектирование взаимодействий основано на действиях пользователя и реакциях системы. На рис. 1 схематично представлена модель взаимодействия пользователя и веб-сервисов в интерактивной среде Интернет.
Рис. 1. Модель взаимодействия пользователя и веб-сервисов в интерактивной среде Интернет
Кратко охарактеризуем основные элементы модели.
Взаимодействие: определяется как связь между пользователем и системой. Оно всегда инициируется пользователем и заканчивается, когда приложение визуально отреагировало на запрос.
Действие пользователя: всегда соответствует событию пользователя (например, щелчок, наведение мыши и т.д.) на геоконтенты, отображаемые на экране с помощью интерфейсного компонента.
Реакция системы: это обратная связь системы, возникающая в результате действия пользователя. Реакции могут быть внутренние и внешние.
Внешняя реакция: характеризуется визуальными изменениями содержимого, отображаемого на интерфейсе. Эти изменения выполняются системой и заключаются в наложении визуальных эффектов на это содержимое.
Внутренняя реакция: это операция, позволяющая вычислить новое содержимое. Возможны три вида операций: проецирование содержимого, выбор содержимого или вычисление нового содержимого.
Взаимоотношения участников модели включают следующие основные аспекты: публикацию сервиса, его поиск, подключение и использование. Для того, чтобы повысить производительность взаимодействия веб-сервисов в интерактивной среде Интернет целесообразно использовать балансировку нагрузок. При этом отличительной особенностью балансировки для сервисно-ориентированной системы является то, что определение сервера, который будет обрабатывать запрос, возможно еще до отправки запроса. В сервисно-ориентированных системах на фазе планирования бизнес-процесса имеется возможность распределения нагрузок между разными серверами прикладных программ выбором сервиса, а соответственно и сервера, к которому будет совершен вызов на следующем шаге обработки.
На рис. 2 продемонстрирована зависимость производительности веб-сервиса от использования балансировки нагрузок.
Рис. 2. Производительность веб-сервиса при использовании балансировки [2]
Первый тестовый запуск производился без использования балансировки нагрузок, второй запуск – с использованием балансировщика нагрузок GlassFish, третий с использованием Elastic Load Balancing.
Таким образом, развитие высокоскоростных сетей и интеллектуальных веб-сервисов в Интернете требует разработки методов и средств для создания моделей их функционирования, которые, позволяют получить высокие показатели производительности. Одним из способов повышения производительности является использование систем балансировки нагрузок.
Рецензент – Глумов К. С.