stringtranslate.com

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

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

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

Фабрика для подключений к физическому источнику данных, который представляет этот объект DataSource. Альтернатива средству DriverManager, объект DataSource является предпочтительным средством получения подключения. Объект, реализующий интерфейс DataSource, обычно регистрируется в службе именования на основе API Java Naming and Directory Interface (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]

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

Ссылки

  1. ^ "Введение в аннотацию DataSourceDefinition | Java.net". Архивировано из оригинала 2013-12-03 . Получено 2013-11-30 .
  2. ^ «DataSourceDefinition (Java EE 6)» .
  3. ^ «Состояние @DataSourceDefinition в Java EE». 30 июня 2012 г.
  4. ^ "Апрель 2012".