Сервер приложений & JavaBeans

Статья - Компьютеры, программирование

Другие статьи по предмету Компьютеры, программирование

Скачать Бесплатно!
Для того чтобы скачать эту работу.
1. Пожалуйста введите слова с картинки:

2. И нажмите на эту кнопку.
закрыть



Сервер приложений & JavaBeans

Михаил Фленов

Современная альтернатива клиент-серверной технологии

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

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

Классика: клиент-сервер

Классическая архитектура доступа к данным клиент-сервер состоит из двух уровней уровня представления и уровня данных. Клиент направляет серверу запросы, а сервер отвечает на них: возвращает необходимые данные или производит запрашиваемые изменения над данными. В данной архитектуре сервер отвечает за хранение данных и через хранимые процедуры выполняет некоторые действия. Вся остальная нагрузка (логика приложения и отображение данных) ложится на клиентское приложение.

Самое страшное в данной технологии то, что бизнес-логика ложится на плечи клиента, а это ведет к следующим недостаткам:

1. При изменении логики работы придется обновлять все клиентские приложения, что не очень-то удобно и ведет к большим издержкам;

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

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

Уже наверно лет 15 идут разговоры о том, что необходимо освобождать клиентские машины и максимально использовать возможности серверов. В связи с этим стали появляться многоуровневые системы клиент-сервер, где клиентские программы направляют запросы промежуточному ПО, которое и выполняет функции бизнес-логики.

Сервер приложений

В процессе создания концепции сервера приложений ничего нового не придумывали, просто улучшили уже существующую схему многоуровневой системы (точнеетрехуровневой). Сервер приложения становится промежуточным слоем между клиентом и сервером.

Такая схема позволяет получить следующие преимущества:

1. Клиентской программе абсолютно не нужно знать, как и в какой базе данных (БД) хранится информация. Для получения необходимых данных клиент вызывает функции сервера приложений, а тот уже получает данные от сервера БД. Каким способом сервер приложений реализует функцию, никого не волнует. А где преимущество? Допустим, что нужно изменить структуру таблиц. Вносим изменения, меняем реализацию функции на сервере приложений, а клиентские приложения продолжают работать, не подозревая, что структура уже иная;

2. Бизнес-логика хранится на сервере приложений. Если нужно внести поправки в алгоритм какого-то отчета или расчета, например заработной платы, не требуется менять функции клиентских приложений, надо изменить один сервер приложений;

3. Уменьшается нагрузка на клиентские компьютеры;

4. Сервер приложения распределяет нагрузку и обеспечивает защиту от сбоев.

Можно продолжать этот список дальше, но, на наш взгляд, эти пункты наиболее важные и достаточные для того, чтобы обратить внимание на серверы приложений. Ну а обратив внимание, вы увидите, что здесь сокрыто будущее.

Компонентный посредник

Серверы приложений относят к приложениям промежуточного слоя (middleware). Существует несколько категорий продуктов промежуточного слоя:

1. Message orientated (яркие представители MQseries и JMS);

2. Object Broker (примерCORBA и DCOM);

3. Component based наиболее перспективная категория, на мой взгляд, и это подтверждают известные представители данной категории .NET и EJB.

В данной статье мы будем рассматривать последнюю категорию на примере EJB (Enterprise JavaBeans) как законодателя моды. Недаром данная технология долгое время не давала спать одному очень знаменитому софтверному гиганту, и ему пришлось в срочном порядке создавать свою реализацию.

JavaBeans предоставляет нам набор инструментов (Framework), с помощью которых вы можете писать программы для работы на сервере.

Сервер приложений

В настоящее время есть несколько серверов приложений таких крупных компаний, как Sun Microsystems, Borland, IBM, Oracle, и каждый из них отличается набором предоставляемых сервисов (производительность в данном случае учитывать не будем). Эти сервисы облегчают программирование и развертывание приложений масштаба предприятия. Вы можете использовать уже готовые строительные блоки для реализации необходимой бизнес-логики.

Давайте посмотрим, какие сервисы может предоставлять сервер приложений, от этого зависи

s