28 Фев

РАСПРЕДЕЛЕННЫЕ ПРИЛОЖЕНИЯ НА ОСНОВЕ ТЕХНОЛОГИИ JAVA EE




Номер части:
Оглавление
Содержание
Журнал
Выходные данные


Науки и перечень статей вошедших в журнал:

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

Система управления базами данных (СУБД), функционирующая на стороне сервера в большинстве своем обладает ограниченными возможностями масштабирования, и, за редким исключением (продукты Oracle), не предполагает распределение нагрузки.

Веб-приложение, функционирующее на сервере приложений (например, созданное с использованием технологий MS ASP.NET MVC, PHP), также потенциально уязвимо для угроз различного происхождения.

Рисунок 1. Схема функционирования веб-приложения, построенного по технологии «клиент-сервер».

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

Для построения высоконадежных распределенных систем, архитектуру и конфигурацию связей которых может выбирать сам разработчик, предлагается использовать технологии Java EE. Данная технология предполагает использование компонент, аналогичных традиционному подходу (браузеры, веб-сервера, сервера приложений, сервера СУБД), но существенно расширяет подходы к их взаимодействию. Таким образом, Java EE не является программным продуктом или шаблоном проектирования приложений – это технологическая платформа для разработки распределенных информационных систем масштаба предприятия.

На рис. 2 представлена архитектура информационной подсистемы, спроектированной с использованием Java EE подхода.

Рисунок 2. Архитектура распределенных приложений Java EE.

Очевидно, что компоненты архитектуры данного решения разнесены по уровням в зависимости от их функциональной принадлежности (как и на рис. 1), но схема Java EE предполагает произвольное масштабирование программных компонент и широкие возможности наращивания аппаратных средств.

Например, на уровне получения HTTP-запросов можно добавить требуемое количество компьютеров (веб-серверов) для обслуживания запросов конечных пользователей. При этом масштабирование динамическое – оно заложено в архитектуру системы. Подобное динамическое масштабирование применяется к компонентам различных уровней.

Следует отметить, что подобная распределенная архитектура реализуется из компонентов свободно распространяемого программного обеспечения, а также предполагает использование бесплатных средств разработки, что является важным для развития экономически эффективных проектов.

Особого внимания при проектировании подобных систем заслуживает особенность развертывания: администратор системы может не иметь средств разработки и добавление нового элемента системы может быть произведено (в том числе удаленно) с использованием механизма автоматического развертывания (auto-deployment) [1].

Каждый уровень распределенных приложений Java поддерживается целым стеком технологий, позволяющих максимально полно учитывать требования к проектируемой информационной системе по надежности, масштабируемости, объему данных [2].

Таким образом, использование технологий Java EE позволяет обеспечить предприятия широким набором инструментов для построения распределенных, отказоустойчивых и масштабируемых систем высокой степени доступности, связанных не только с предоставлением информационных услуг, но предполагающих автоматизацию управленческой деятельности предприятий, реализующих широкие функции по комплексной автоматизации.

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

[1] Pilgrim P. Java EE 7 Developer Handbook/. Peter A. Pilgrim – UK: Packt Publishing, 2013. – 633 p.

[2] http://docs.oracle.com/javaee/7/index.html – Официальная страница поддержки и документации Java EE.

РАСПРЕДЕЛЕННЫЕ ПРИЛОЖЕНИЯ НА ОСНОВЕ ТЕХНОЛОГИИ JAVA EE
Written by: Николаев Евгений Иванович
Published by: БАСАРАНОВИЧ ЕКАТЕРИНА
Date Published: 05/08/2017
Edition: ЕВРАЗИЙСКИЙ СОЮЗ УЧЕНЫХ_ 28.02.2015_02(11)
Available in: Ebook