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

Автор работы: Пользователь скрыл имя, 20 Февраля 2013 в 22:15, реферат

Описание

Сервер приложений (англ. application server) — это программная платформа (software framework), предназначенная для эффективного исполнения процедур (программ, механических операций, скриптов), которые поддерживают построение приложений. Сервер приложений действует как набор компонентов, доступных разработчику программного обеспечения через API (Интерфейс прикладного программирования), который определен самой платформой.

Содержание

Введение 3
Серверы приложений 4
Преимущества серверов приложений 4
Архитектура клиент-сервер: двухзвенная и трехзвенная 5
Двухзвенная архитектура 5
Преимущества 6
Недостатки 6
Многоуровневая архитектура клиент-сервер 7
Трехзвенная архитектура 7
Обзор архитектуры 7
Достоинства 8
Недостатки 9
Пример трёхзвенной архитектуры клиент-сервер 9
Общая схема серверов приложений 11
Ядро сервера приложений 12
Клиентский процесс сервера 13
Интерфейс сервера приложений 13
Структура клиентского пакета 14
Язык команд сервера приложений 14
Хранимые процедуры сервера приложений 16
Внутренние хранимые процедуры 17
Внешние хранимые процедуры 17
Инсталляция и администрирование пользовательских библиотек 18
Обмен данными между интерпретатором ASPL и внешними хранимыми процедурами 18
Создание пользовательских библиотек 19
Использование пользовательских библиотек 20
Заключение 22
Список литературы 23

Работа состоит из  1 файл

Реферат.docx

— 85.50 Кб (Скачать документ)

Оглавление

Введение 3

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

Преимущества  серверов приложений 4

Архитектура клиент-сервер: двухзвенная и трехзвенная 5

Двухзвенная архитектура 5

Преимущества 6

Недостатки 6

Многоуровневая  архитектура клиент-сервер 7

Трехзвенная архитектура 7

Обзор архитектуры 7

Достоинства 8

Недостатки 9

Пример трёхзвенной  архитектуры клиент-сервер 9

Общая схема  серверов приложений 11

Ядро сервера  приложений 12

Клиентский  процесс сервера 13

Интерфейс сервера  приложений 13

Структура клиентского  пакета 14

Язык команд сервера приложений 14

Хранимые  процедуры сервера приложений 16

Внутренние  хранимые процедуры 17

Внешние хранимые процедуры 17

Инсталляция и администрирование пользовательских библиотек 18

Обмен данными  между интерпретатором ASPL и внешними хранимыми процедурами 18

Создание  пользовательских библиотек 19

Использование пользовательских библиотек 20

Заключение 22

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

 

Введение

Сервер приложений — это инфраструктурное программное обеспечение, предназначенное для создания распределенных информационных систем с выделенными службами бизнес-логики, реализованными в виде компонентов, выполняющихся под его управлением. Эти компоненты могут представлять собой COM- или CORBA-объекты либо компоненты Enterprise JavaBeans. Современные серверы приложений позволяют реализовать надежные и устойчивые к сбоям информационные системы за счет поддержки создания кластеров и наличия средств восстановления после сбоев. В настоящее время серверы приложений являются основой многих корпоративных решений с повышенными требованиями к надежности.

Сервер приложений обладает следующими возможностями:

  • открытый интерфейс с клиентом на уровне строк, что позволяет организовать взаимодействие с клиентом, работающим на любой программной/аппаратной платформе, на которой существуют средства разработки приложений для TCP/IP;
  • возможность асинхронной работы клиента и клиентского процесса на сервере приложений. Это позволяет устранить проблемы, связанные с нестабильностью сети, организовать параллельное исполнение нескольких процессов для одного клиента и т.п;
  • возможность использования в качестве клиентских процессов любых исполняемых модулей. Это позволяет клиентам иметь специализированные модули для различных задач;
  • использование собственного интерпретатора (оболочки) в качестве клиентского процесса по умолчанию. Язык интерпретатора является языком 3-го поколения, основанным на INFORMIX-SPL, с возможностью исполнения любых SQL-операторов. Язык имеет расширенные возможности по использованию пользовательских библиотек. Подробнее см. главу "Язык хранимых процедур".
  1. Серверы приложений

Сервер приложений (англ. application server) — это программная платформа (software framework), предназначенная для эффективного исполнения процедур (программ, механических операций, скриптов), которые поддерживают построение приложений. Сервер приложений действует как набор компонентов, доступных разработчику программного обеспечения через API (Интерфейс прикладного программирования), который определен самой платформой.

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

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

 

    1. Преимущества серверов приложений

Целостность данных и кода

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

 

 

 

Централизованная  настройка и управление

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

Безопасность

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

Поддержка транзакций

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

  1. Архитектура клиент-сервер: двухзвенная и трехзвенная

    1. Двухзвенная архитектура

Клиент-сервер (англ. Client-server) — вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг, называемыми клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением (рис.2.1.1).

Рис.2.1.1. Пример двухуровневой архитектуры.

      1. Преимущества

  • Отсутствие дублирования кода программы-сервера программами-клиентами.
  • Так как все вычисления выполняются на сервере, то требования к компьютерам на которых установлен клиент снижаются.
  • Все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов. На сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа.
  • Позволяет объединить различные клиенты. Использовать ресурсы одного сервера часто могут клиенты с разными аппаратными платформами, операционными системами и т. п.
  • Позволяет разгрузить сети за счёт того, что между сервером и клиентом передаются небольшие порции данных.
      1. Недостатки

  • Неработоспособность сервера может сделать неработоспособной всю вычислительную сеть. Неработоспособным сервером следует считать сервер, производительности которого не хватает на обслуживание всех клиентов, а также сервер, находящийся на ремонте, профилактике и т. п.
  • Поддержка работы данной системы требует отдельного специалиста — системного администратора.
  • Высокая стоимость оборудования.
      1. Многоуровневая архитектура клиент-сервер

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

Частные случаи многоуровневой архитектуры:

  • Трёхуровневая архитектура
    1. Трехзвенная архитектура

В компьютерных технологиях трёхуровневая архитектура, синоним трёхзвенная архитектура (англ. three-tier или Multitier architecture) предполагает наличие следующих компонентов приложения: клиентское приложение (обычно говорят «тонкий клиент» или терминал), подключенное к серверу приложений, который в свою очередь подключен к серверу базы данных (рис.2.2.1).

Рис. 2.2.1. Пример трёхуровневой архитектуры.

      1. Обзор архитектуры

  • Клиент — это интерфейсный (обычно графический) компонент, который представляет первый уровень, собственно приложение для конечного пользователя. Первый уровень не должен иметь прямых связей с базой данных (по требованиям безопасности), быть нагруженным основной бизнес-логикой (по требованиям масштабируемости) и хранить состояние приложения (по требованиям надежности). На первый уровень может быть вынесена и обычно выносится простейшая бизнес-логика: интерфейс авторизации, алгоритмы шифрования, проверка вводимых значений на допустимость и соответствие формату, несложные операции (сортировка, группировка, подсчет значений) с данными, уже загруженными на терминал.
  • Сервер приложений располагается на втором уровне. На втором уровне сосредоточена бо́льшая часть бизнес-логики. Вне его остаются фрагменты, экспортируемые на терминалы (см.выше), а также погруженные в третий уровень хранимые процедуры и триггеры.
  • Сервер базы данных обеспечивает хранение данных и выносится на третий уровень. Обычно это стандартная реляционная илиобъектно-ориентированная СУБД. Если третий уровень представляет собой базу данных вместе с хранимыми процедурами, триггерами и схемой, описывающей приложение в терминах реляционной модели, то второй уровень строится как программный интерфейс, связывающий клиентские компоненты с прикладной логикой базы данных.

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

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

      1. Достоинства

По сравнению с клиент-серверной  или файл-серверной архитектурой можно выделить следующие достоинства  трёхуровневой архитектуры:

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

Недостатки вытекают из достоинств. По сравнению c клиент-серверной или  файл-серверной архитектурой можно  выделить следующие недостатки трёхуровневой  архитектуры:

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

Компоненты трёхзвенной  архитектуры, с точки зрения программного обеспечения реализуют определенные сервера БД, web-сервера и браузеры. Место любого из этих компонентов  может занять программное обеспечение  любого производителя. Ниже представлено описание взаимодействия компонентов  трехуровневой архитектуры клиент-серверного приложения. Сервер БД представлен MySQL-сервером; сервер приложений технологиями: ADO.NET, ASP.NET и web-сервером IIS; роль клиента выполняет любой web-браузер.

Браузер клиента 1-> Сервер IIS 2-> Исполняющая среда ASP.NET 2.0 3-> Провайдер данных ADO.NET 2.0 4-> Сервер MySQL 5-> Провайдер данных ADO.NET 2.0 6-> Исполняющая среда ASP.NET 2.0 7-> Сервер IIS 8-> Браузер клиента

Информация о работе Серверы приложений