Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы_ПОАИС.doc
Скачиваний:
40
Добавлен:
24.12.2018
Размер:
423.42 Кб
Скачать
  1. Программное обеспечение на основе многозвен­ной архитектуры

Многозвенная (multitiered) архитектура

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

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

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

Общим решением проблемы мобильности систем является использование технологий, реализующие протоколы удаленного вызова процедур (RPC - Remote Procedure Call) стандартизованным и платформонезависимым способом. При использовании таких технологий обращение к сервису в удаленном узле выглядит как обычный вызов процедуры (методов удаленных объектов). Средства RPC,в которых, естественно, содержится вся информация о специфике аппаратуры локальной сети и сетевых протоколов, переводит вызов в последовательность сетевых взаимодействий. Тем самым, специфика сетевой среды и протоколов скрыта от прикладного программиста.

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

Delphi XE

Одной из наиболее мощных возможностей технологии Delphi поколения 2009, 2010, XE является фреймворк DataSnap. Это не просто технология построения многозвенных приложений, а целый комплекс средств для построения систем с развитой архитектурой. Разнообразие реализаций сервера приложений при единой структуре программного кода и основных серверных классов, использование протокола http и туннелирования, передача объектов посредством JSON-нотации – всё это существенным образом упрощает методологию разработки многозвенных систем. Более того, универсальность и качество компонентного состава в основе DataSnap позволяет разработчику применять развитые подходы, такие как балансировка нагрузки и преодоление отказов.

Enterprise JavaBeans

Enterprise JavaBeans-спецификация, созданная отделением JavaSoft корпорации Sun Microsystems, определяет интерфейс прикладного программирования (API), который призван упростить разработку, развертывание и управление многозвенными, кросс-платформенными распределенными объектными приложениями. Используя Enterprise JavaBeans API, разработчики могут сконцентрироваться на написании бизнес-логики для серверов среднего звена и уделять меньше времени кодированию и тестированию в аспектах инфраструктуры распределенного приложения. Так как каждый компонент Enterprise JavaBeans инкапсулирует важную бизнес-функцию, разработчику не обязательно знать, как писать специализированные программы системного уровня, которые регулируют функции типа безопасности и управления путем многочисленных транзакций - обычно трудоемкие и сложные задачи.

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

  • Использовать стандартные протоколы

  • Интегрироваться с известными IDE

  • Поддерживать транзакции в распределенной среде

  • Позволять взаимодействие с различными клиентами

  • Обеспечивать безопасность, отказоустойчивость и масштабируемость

Продукт, который объединяет все эти качества, лучше всего охарактеризован термином сервер приложения ( application server). Application Server обеспечивает основанное на стандартах решение, которое использует мощные Enterprise-продукты типа VisiBroker: VisiBroker ORB, VisiBroker ITS и VisiBroker Naming Service.