stringtranslate.com

Источник данных

DataSource — это имя, присвоенное соединению с базой данных с сервера . Имя обычно используется при создании запроса к базе данных. Имя источника данных (DSN) не обязательно должно совпадать с именем файла базы данных. Например, файл базы данных с именем friends.mdb может быть настроен с DSN школы . Тогда школа DSN будет использоваться для обращения к базе данных при выполнении запроса.

Версия DataSource от Sun [1]

Фабрика для подключений к физическому источнику данных, который представляет этот объект DataSource. Альтернативой средству DriverManager является объект DataSource, который является предпочтительным средством установления соединения. Объект, реализующий интерфейс DataSource, обычно регистрируется в службе именования на основе API интерфейса именования и каталогов Java (JNDI).

Интерфейс DataSource реализован поставщиком драйвера. Существует три типа реализации:

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

Драйвер, доступ к которому осуществляется через объект DataSource, не регистрируется в DriverManager. Вместо этого объект DataSource извлекается посредством операции поиска, а затем используется для создания объекта Connection. В базовой реализации соединение, полученное через объект DataSource, идентично соединению, полученному с помощью средства DriverManager.

Обзор источников данных Sun [2]

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

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

Однако их различия более значительны, чем сходства. В отличие от DriverManager, объект DataSource имеет свойства, идентифицирующие и описывающие представляемый им источник данных. Кроме того, объект DataSource работает со службой именования Java Naming and Directory Interface (JNDI) и может создаваться, развертываться и управляться отдельно от приложений, которые его используют. Поставщик драйвера предоставит класс, который является базовой реализацией интерфейса DataSource, как часть своего драйвера Java Database Connectivity (JDBC) 2.0 или 3.0. Что делает системный администратор для регистрации объекта DataSource в службе имен JNDI и что делает приложение для получения соединения с источником данных с помощью объекта DataSource, зарегистрированного в службе имен JNDI, описано далее в этой главе.

Регистрация в службе имен JNDI дает объекту DataSource два основных преимущества перед DriverManager. Во-первых, приложению не нужно жестко закодировать информацию о драйвере, как это происходит с DriverManager. Программист может выбрать логическое имя для источника данных и зарегистрировать его в службе имен JNDI. Приложение использует логическое имя, а служба именования JNDI предоставит объект DataSource, связанный с логическим именем. Затем объект DataSource можно использовать для создания соединения с источником данных, который он представляет.

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

Хотя приложение может использовать либо DriverManager, либо объект DataSource для получения соединения, использование объекта DataSource дает значительные преимущества и является рекомендуемым способом установления соединения.

Начиная с версии 1.4

Начиная с Java EE 6, источник данных, связанный с JNDI, можно альтернативно настроить декларативным способом непосредственно из приложения. [1] [2] Эта альтернатива особенно полезна для самодостаточных приложений или для прозрачного использования встроенной базы данных. [3] [4]

Версия DataSource от Yahoo [3]

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

Рекомендации

  1. ^ «Представляем аннотацию DataSourceDefinition | Java.net» . Архивировано из оригинала 3 декабря 2013 г. Проверено 30 ноября 2013 г.
  2. ^ «DataSourceDefinition (Java EE 6)» .
  3. ^ «Состояние @DataSourceDefinition в Java EE». 30 июня 2012 г.
  4. ^ «Апрель 2012».