Технологии разработки распределенных приложений

Технологии разработки распределенных приложений

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

Клиент-серверное приложение – это приложение, в котором функции распределены как минимум между двумя компонентами: клиент и сервер.

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

Клиент – это приложение, которое обслуживается у сервера.

Распределенные данные и вычисления

Свойства распределенных систем:

  1. Распределение функций между клиентом и сервера
  2. Двунаправленное взаимодействие клиента и сервера
  3. Взаимодействие по инициативе клиента
  4. Сервер управления ресурсами и осуществляет их бесконфликтное использование

Взаимодействие в распределенных системах может быть синхронное и асинхронное.

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

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

Проблемы, возникающие при разработке распределенных систем

1) выделение ф-ий и распределение их между узлами сети.

*балансировка загрузки (статическая и динамическая)

*по выполняем задачам сервера.

*мимнимазация трафика в сети.

2) распределение данных между узлами сети.

*централизованный («+» безопастность, все данные в одном узле, простота в администрировании)

*децентрализованный (данные должны быть приближенны к местам их обработки)

Требования к расп. приложениям.

1) Открытость (все протоколы взаимодействия компонент расп. системы — стандартизованны).

Читайте также:  Операторный метод программирования операторное программирование

2) Масштабируемость. (добавление компонент, распределение ресурсов сервера).

3) Поддержка логической целостности данных. (запрос либо выполняется, либо нет).

4) Устойчивость. (Возможность дублирования серверами одних и тех же ф-ий).

5) Безопасность.(каждыйй компонент расп. системы д.б. уверен, что его ф-иями пользуются авторизованный пользователь либо компонент).

6) Эффективность. (минимизация накл. расходов связанную с распределенным характером системы)

Модели распределенных систем: функции клиента и сервера. Архитектура распределенных приложений.

  • Предоставление доступа к данным
  • Бизнес-логика
  • Предоставление пользовательского интерфейса

Недостатки: трафик большого объема данных – неэффективно.

Сервер баз данных (двухзвенная архитектура)

  • Меньше трафик
  • Меньше объема передаваемой информации
  • Меньше функций у Клиента
  • Увеличение нагрузки на Сервер – Сервер становится «узким местом»
  • Небольшие изменения бизнес-логики влекут за собой необходимость изменений на всех Клиентах ПП.

Сервер приложений (трехзвенная архитектура)

Одна из модификаций – активная БД, использующая триггеры и хранимые процедуры.

Архитектура распределенных систем

  • Поклиентское обслуживание – нагрузка на Сервер
  • ПП никак не взаимодействуют – сложность коммуникации
  • Слаборазвитость методов для разделения общих ресурсов

Преимущества: возможность коммуникации – методы для реализации разделения доступа к общим ресурсам

Недостатки: диспетчер – «узкое место»

Хранение на Сервере и на Клиенте

Недостатки: при появлении нового Сервера необходимо сообщить Клиентам о нем – сложность масштабируемости

  1. На каждом Сервере или Клиенте хранится информация только о диспетчере. Появилась возможность балансировки загрузки.

Недостатки: большая нагрузка на диспетчер.

Источник

Технологии разработки распределенных приложений

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

Клиент-серверное приложение – это приложение, в котором функции распределены как минимум между двумя компонентами: клиент и сервер.

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

Читайте также:  Обучающие программы основы программирования

Клиент – это приложение, которое обслуживается у сервера.

Распределенные данные и вычисления

Свойства распределенных систем:

  1. Распределение функций между клиентом и сервера
  2. Двунаправленное взаимодействие клиента и сервера
  3. Взаимодействие по инициативе клиента
  4. Сервер управления ресурсами и осуществляет их бесконфликтное использование

Взаимодействие в распределенных системах может быть синхронное и асинхронное.

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

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

Проблемы, возникающие при разработке распределенных систем

1) выделение ф-ий и распределение их между узлами сети.

*балансировка загрузки (статическая и динамическая)

*по выполняем задачам сервера.

*мимнимазация трафика в сети.

2) распределение данных между узлами сети.

*централизованный («+» безопастность, все данные в одном узле, простота в администрировании)

*децентрализованный (данные должны быть приближенны к местам их обработки)

Требования к расп. приложениям.

1) Открытость (все протоколы взаимодействия компонент расп. системы — стандартизованны).

2) Масштабируемость. (добавление компонент, распределение ресурсов сервера).

3) Поддержка логической целостности данных. (запрос либо выполняется, либо нет).

4) Устойчивость. (Возможность дублирования серверами одних и тех же ф-ий).

5) Безопасность.(каждыйй компонент расп. системы д.б. уверен, что его ф-иями пользуются авторизованный пользователь либо компонент).

6) Эффективность. (минимизация накл. расходов связанную с распределенным характером системы)

Модели распределенных систем: функции клиента и сервера. Архитектура распределенных приложений.

  • Предоставление доступа к данным
  • Бизнес-логика
  • Предоставление пользовательского интерфейса

Недостатки: трафик большого объема данных – неэффективно.

Сервер баз данных (двухзвенная архитектура)

  • Меньше трафик
  • Меньше объема передаваемой информации
  • Меньше функций у Клиента
  • Увеличение нагрузки на Сервер – Сервер становится «узким местом»
  • Небольшие изменения бизнес-логики влекут за собой необходимость изменений на всех Клиентах ПП.
Читайте также:  Алгоритмический язык программирования схема

Сервер приложений (трехзвенная архитектура)

Одна из модификаций – активная БД, использующая триггеры и хранимые процедуры.

Архитектура распределенных систем

  • Поклиентское обслуживание – нагрузка на Сервер
  • ПП никак не взаимодействуют – сложность коммуникации
  • Слаборазвитость методов для разделения общих ресурсов

Преимущества: возможность коммуникации – методы для реализации разделения доступа к общим ресурсам

Недостатки: диспетчер – «узкое место»

Хранение на Сервере и на Клиенте

Недостатки: при появлении нового Сервера необходимо сообщить Клиентам о нем – сложность масштабируемости

  1. На каждом Сервере или Клиенте хранится информация только о диспетчере. Появилась возможность балансировки загрузки.

Недостатки: большая нагрузка на диспетчер.

Источник

Оцените статью