Oracle JDBC Tutorial - Хотите понять, 2-й уровень JDBC против 3-го уровня

Я читаю здесь руководство по JDBC для оракула - http://docs.oracle.com/javase/tutorial/jdbc/overview/index.html

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

Это говорит о том, что -

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

Я не понимаю смелых частей. В чем логика этих точек?

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

- упрощает развертывание приложений- как это упрощает развертывание?

- трехуровневая архитектура может обеспечить преимущества в производительности.- Вы только что добавили слой между двухуровневой аркой. Теперь вместо прямой связи между кодом и БД существует средний уровень. Итак, разве это не должно снизить вашу производительность / скорость?

2 ответа

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

Рассмотрим эти роли:

Работники могут добавлять данные низкого уровня, но не могут добавлять других работников.

Менеджеры могут добавлять / обновлять данные низкого уровня, но не могут видеть статистику высокого уровня.

Руководители не могут обновлять данные низкого уровня, не могут добавлять сотрудников, но могут видеть статистику высокого уровня.

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

  • упрощает развертывание приложений - как это упрощает развертывание?

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

  • Трехуровневая архитектура может обеспечить преимущества в производительности. - Вы только что добавили слой между двухуровневой аркой. Теперь вместо прямой связи между кодом и БД существует средний уровень. Итак, разве это не должно снизить вашу производительность / скорость?

Есть два способа повысить производительность: вертикальная и горизонтальная масштабируемость (Google it). Здесь мы говорим о горизонтальном, это вряд ли возможно с двухслойной архитектурой.

Рассмотрим несколько примеров "среднего уровня" в JavaВеб-серверы, такие как Tomcat, Корпоративные серверы, такие как JBoss, BEA Weblogic, IBM Websphere. Также может быть много других примеров, которые подпадают под категорию среднего уровня.

Большинство корпоративных серверов обеспечивают полную функциональность управления базой данных. Который в общих чертах отвечает следующим требованиям:

  1. Конфигурация (пул соединений, свойства XA, JDBC, ReadOnly/WriteEnabled и т. Д.)
  2. развертывания
  3. Задачи обслуживания (резервное копирование и т. Д.)
  4. Мониторинг (статистика производительности базы данных, статистика производительности ее машины, статистика размера и т. Д.)

В качестве конкретного примера в Tomcat или автономный Java Приложение, в котором вы настраиваете Connection-Pool, поможет в повышении производительности.

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

Я думаю, это поможет вам, если вы скажете выбрать один средний уровень, скажем Tomcat, и сконфигурировать / использовать его для типичных стандартных взаимодействий с базами данных с использованием пулов соединений и т. Д. Тогда вы сможете понять сравнение двухуровневой и трехуровневой арок.

Другие вопросы по тегам