Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

INTERFACES

.pdf
Скачиваний:
18
Добавлен:
27.05.2015
Размер:
1.32 Mб
Скачать

LVD (англ. low-voltage-differential) — интерфейс дифференциальной шины низкого напряжения, сигналы положительной и отрицательной полярности идут по разным физическим проводам — витой паре. На один сигнал приходится по одной витой паре проводников. Используемое напряжение при передаче сигналов ±1,8 В.

HVD (англ. high-voltage-differential) — интерфейс дифференциальной шины высокого напряжения, отличается от LVD повышенным напряжением и специальными приемопередатчиками.

Первый стандарт SCSI имеет 50­контактный неэкранированный разъем для внутрисистемных соединений и аналогичный экранированный разъем типа Centronics (Alternative 2) для внешних подключений. Передача сигналов осуществляется 50 контактным кабелем типа — A­50 на 8

разрядной (битной) шине. Но надо иметь в виду, что до появления SCSI, имевшего 50контактный разъём, и даже одновременно с ним был более старый SCSI, имевший 25контактный разъём, почти такой, как разъём LPT (например, в теперь уже почти вышедшем из употребления сканере Mustek 1200 FS есть одновременно три разъёма: OPTION на 26 контактов, SCSI на 25 контактов, SCSI на 50 контактов).

Встандарте SCSI­2 для 8 битной шины предусматривался кабель типа A, который как и в SCSI­1 поддерживал 50­контактными разъемами типа D с уменьшенным шагом выводов (Alternative 1). Разъемы типа Centronics (Alternative 2) в SCSI­2 построены 8 и 16 битной шине. Передача информации осуществляется по 68­контактным кабелям типа — A­68 и P­68(Wide). Для 32 битной версии шины был предусмотрен тип кабеля B, который должен был параллельно подключаться одновременно с кабелем A в одно устройство. Однако кабель B не получил широкого признания и из стандарта SCSI­3 исключен.

Встандарте SCSI­3 кабели A­68 и P­68 поддерживались экранированными, либо неэкранированными разъемами типа D. Кабели в SCSI­3 снабжены фиксаторами­защелками, а не проволочными кольцами, как разъемы Centronics. Начиная с этой версии SCSI в массивах накопителей используется 80­контактный разъем, называемый Alternative 4. Накопители с таким разъемом поддерживают «горячее» подключение устройств, то есть устройства SCSI можно подключать и отключать при включенном питании.

Основные реализации параллельного интерфейса SCSI (в хронологическом порядке):

Обзор интерфейсов SCSI[6]

 

 

 

Разрядность

 

Частота

 

Пропускная

 

Максимальная

 

Максимальное

 

Наименование

 

 

 

 

 

количество

 

 

шины

 

шины

 

способность

 

длина кабеля

 

 

 

 

 

 

 

 

 

 

 

 

 

 

устройств

 

SCSI

 

8 бит

 

5 МГц

 

5 МБайт/сек

 

6 м (25 м с HVD)

 

8

 

Fast SCSI

 

8 бит

 

10 МГц

 

10 МБайт/сек

 

3 м (25 м с HVD)

 

8

 

Wide SCSI

 

16 бит

 

10 МГц

 

20 МБайт/сек

 

3 м (25 м с HVD)

 

15

 

Ultra SCSI

 

8 бит

 

20 МГц

 

20 МБайт/сек

 

1,5—3 м (25 м с

 

4—8

 

 

 

 

 

HVD)

 

 

 

 

 

 

 

 

 

 

 

 

 

Ultra Wide SCSI

 

16 бит

 

20 МГц

 

40 МБайт/сек

 

1,5—3 м (25 м с

 

4—15

 

 

 

 

 

HVD)

 

 

 

 

 

 

 

 

 

 

 

 

 

Ultra2 SCSI

 

8 бит

 

40 МГц

 

40 МБайт/сек

 

12 м (25 м с HVD)

 

8

 

Ultra2 Wide

 

16 бит

 

40 МГц

 

80 МБайт/сек

 

12 м (25 м с HVD)

 

15

 

SCSI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ultra3 SCSI

 

16 бит

 

40 МГц

 

160 МБайт/сек

 

12 м

 

15

 

 

 

DDR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ultra­320 SCSI

 

16 бит

 

80 МГц

 

320 МБайт/сек

 

12 м

 

15

 

 

 

DDR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ultra­640 SCSI

 

16 бит

 

160 МГц

 

640 МБайт/сек

 

10 м

 

15

 

 

 

DDR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50. Конфигурирование устройств. Подключение устройств к шине SCSI. Кабели, разъёмы, сигналы.

Параметры конфигурирования SCSI-устройств

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

Идентификатор устройства ­ SCSI ID ­ адрес 0­7 (или 0­15), уникальный для каждого устройства на шине. Обычно хост­адаптеру, который должен иметь высший приоритет, назначается ID 7. Заводское назначение идентификаторов устройств приведено в таблице, хотя оно и не является обязательным. Устройства адресуются позиционным кодом (хотя ID задается 3­4­битовым кодом), что обеспечивает совместимость адресации 8­ и 16­битовых устройств на одной шине. Номер SCSI ID обычно устанавливается с помощью перемычек (хотя в SCSI существуют и новые стандарты, аналогичные Plug­and­Play, не требующие перемычек).

Таблица заводских установов идентификаторов устройств

SCSI ID

Устройство

7 Хост­адаптер

6 Накопитель на магнитных дисках

5 ­

4 Ленточный или R/W­оптический накопитель

3 CD­ROM

2 Сканер, принтер

1 НЖМД, поддерживаемый BIOS хост­адаптера

0 НЖМД, поддерживаемый BIOS хост­адаптера

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

Включение терминаторов ­ Termination. Активные терминаторы могут включаться одним джампером или даже управляться программным сигналом. Терминаторы должны быть включены только на крайних устройствах в цепочке.

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

Согласование скорости синхронного обмена ­ SCSI Synchronous Negotiation. Режим синхронного обмена, обеспечивающий высокую производительность, включается по взаимному согласованию устройств. Однако, если хоть одно устройство на Шине его не поддерживает, согласование на хост­адаптере необходимо запретить. При этом, если обмен будет инициирован синхронным устройством, хост поддержит этот режим.

Старт по команде ­ Start on Command, или задержанный старт ­ Delayed Start. При включении этой опции запуск двигателя Устройства выполняется только по команде от хост­адаптера, что Позволяет снизить пик нагрузки блока питания в момент включения. Хост будет запускать устройства последовательно.

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

Интерфейс SCSI является параллельным и физически представляет собой плоский кабель с 25­, 50­, 68­контактными Разъемами для подключения периферийных устройств. Шина SCSI содержит восемь линий данных, сопровождаемых линией контроля четности, и девять управляющих линий. Стандарт SCSI определяет два способа передачи сигналов: одно­полярный, или асимметричный (Single ended), и дифференциальный (Differential). В первом случае имеется один провод с нулевым потенциалом («земля»), относительно которого передаются сигналы по линиям данных с уровнями сигналов, соответствующими ТТЛ­логике. При дифференциальной передаче сигнала для

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

Интерфейс SCSI

а ­ общая архитектура;

б ­ адаптер SCSI.

Для интерфейса SCSI необходимо наличие терминаторов (согласующих сопротивлений, которые поглощают сигналы на концах кабеля и препятствуют образованию эха).

Устройства SCSI также соединяются в виде цепочки (daisy chain), причем каждое устройство SCSI имеет свой адрес (SCSI ID) в диапазоне от 0 до 7 (или от 0 до 15). В качестве адреса платы контроллера обычно используется наибольшее значение SCSI ID ­ 7(15), адрес загрузочного диска SCSI ID равен 0, а второго диска ­ 1. Обмен между устройствами на магистрали SCSI определяется нормированным списком команд (Common Command Set, CCS). Программное обеспечение для интерфейса SCSI не оперирует физическими характеристиками накопителя (то есть числом цилиндров, головок и так далее ), а имеет дело только с логическими блоками данных, поэтому в одной SCSI­цепочке могут быть размещены, например, сканер, жесткий диск и накопитель CD­R. Опрос устройств производится контроллером SCSI сразу после включения питания. При этом для устройств SCSI реализовано автоконфигурирование устройств (Plug­and­play) по протоколу SCAM (SCSI Configured AutoMagically), в котором значения SCSI ID выделяются автоматически. Для стандартизированного управления SCSI­устройствами наиболее широко применяется программный интерфейс ASPI (Advanced SCSI Programming Interface).

Характеристики SCSI

Существует более десятка различных версий интерфейса SCSI. Наиболее существенные из них ­

SCSI­1, Fast SCSI, Fast Wide SCSI, Ultra SCSI, Ultra 2 SCSI.

Основными характеристиками шины SCSI являются:

ширина ­ 8 или 16 бит («narrow» или «wide»):

частота, с которой тактируется шина;

физический тип интерфейса (однополярный, дифференциальный, оптика).

На скорость влияют в основном два первых параметра. Обычно они записываются в виде приставок к слову SCSI.

Максимальную скорость передачи устройство­контроллер можно подсчитать, взяв частоту шины, а в случае наличия «Wide» умножить ее на 2 (например, FastSCSI ­ 10 Мбайт/с, Ultra2WideSCSI ­80 Мбайт/с).

Таблица версий (поколения) интерфейса SCSI

Макс. Тип шины скорость,

Ширина шины

Мбайт/с

(разрядность)

Максимальная длина связи (в зависимости от типа сигналов), в метрах

SE

LVD HVD

Максимальное

количество

подключений

SCSI­1

5

8 (узкий)

6

­

25

8

Fast SCSI

10

8

3

­

25

8

Fast Wide

20

16

3

­

25

16

SCSI

 

(широкий)

 

 

 

 

Ultra SCSI

20

8

1.5

­

25

8

Ultra SCSI

20

8

3

­

­

4

Wide Ultra

40

16

­

­

25

16

SCSI

 

 

 

 

 

 

wide Ultra

40

16

1.5

­

­

8

SCSI

 

 

 

 

 

 

Wide Ultra

40

16

3

­

­

4

SCSI

 

 

 

 

 

 

 

 

 

Не определена

 

 

 

Ultra2 SCSI

40

8

для скорости

12

25

8

 

 

 

выше Ultra

 

 

 

Wide

80

16

­

12

25

16

Uitra2 SCSI

Ultra3 SCSI

 

 

 

 

Не определена

 

or Ultra

160

16

 

12

для скорости

16

160 SCSI

 

 

 

 

выше Ultra2

 

Ultra320

320

16

­

12

­

16

SCSI

 

 

 

 

 

 

SSA

40

1

25

 

 

96(192)

SSA40

80

1

25

 

 

96(192)

FC­AL 1Gb

100

1

500­3000

 

 

127

FC­AL 2Gb

200

1

500­3000

 

 

127

FC­AL4Gb

400

1

500­3000

 

 

127

SAS 3

300

1

6

 

 

16 256

Gbit/s

 

 

 

 

 

 

 

 

Fibre

2000

Не определена

10 000­100 000

 

 

Не определено

Channel

 

 

 

 

 

 

 

 

Терминаторы, разъемы

По типу сигналов различают линейные (Single Ended) и дифференциальные (Differential) версии SCSI, их кабели и разъемы идентичны, но электрической совместимости устройств между ними нет.

51. Управление интерфейсом и выполнение команд. Архитектура системных интерфейсов

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

Микро-ЭВМ с точки зрения архитектуры можно разделить на 2 основных класса:

использующие внутренний интерфейс МП (унифицированный канал);

использующие внешний по отношению к МП системный интерфейс.

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

Различают два класса системных интерфейсов: с общей шиной (сигналы адреса и данных мультиплексируются) и с изолированной шиной (раздельные сигналы данных и адреса). Прародителями современных системных шин являются:

Unibus фирмы DEC ( интерфейс с общей шиной ),

Multibus фирмы Intel ( интерфейс с изолированной шиной ).

Шинная архитектура Unibus была разработана фирмой DEC для мини-ЭВМ серии PDP-11. Общая шина для периферийных устройств, памяти и процессора состоит из 56 двунаправленных линий. Unibus поддерживает пересылку одного 16-разрядного слова за 750 нс. Все пересылки инициируются ведущим устройством и подтверждаются принимающим (запоминающим) устройством, что позволяет работать с модулями различного быстродействия. Выбор устройства на роль ведущего является динамической процедурой, поэтому в ответ на запрос периферийного устройства процессор может передать ему управление шиной. Благодаря этой особенности, на основе Unibus возможна разработка мультипроцессорных систем. Unibus позволяет подключать к магистрали большое число устройств, хотя необходимо учитывать снижение надежности по мере увеличения длины магистрали. Данные регистров внешних устройств могут обрабатываться теми же командами, что и данные в памяти. Следует, однако, отметить сложность технической реализации интерфейсных модулей, связанных с пересылкой адресов и данных по одним и тем же линиям.

Свое развитие архитектура Unibus получила в системном интерфейсе NuBus. Интерфейс NuBus (табл. 14.1) был разработан MIT1) совместно с Western Digital в 1979 г. Затем, при участии Texas Instruments, архитектура NuBus была стандартизована IEEE2) (стандарт IEEE 1196-1987) и применялась фирмой Apple в компьютерах Macintosh. В NuBus также используется мультиплексирование адреса и данных. Предусмотрена автоматическая конфигурация. Возможно использование нескольких задатчиков магистрали с децентрализованным арбитражем. Имеется режим блочной передачи данных. К недостаткам NuBus можно отнести слабые возможности режима ПДП, сложный метод обработки прерываний (предусмотрен всего один сигнал запроса прерывания и программный опрос потенциальных источников прерываний).

Альтернативная шинная архитектура Multibus была разработана фирмой Intel. Шина также обеспечивает системную архитектуру с одним или несколькими ведущими узлами и с квитированием установления связи между устройствами, работающими с разной скоростью. Благодаря разделению шины адреса и шины данных, возможны реализации этой архитектуры для процессоров разной разрядности. Существовали 8-разрядный и 16-разрядный варианты архитектуры Multibus для IBM PC. Шина адреса - 20 бит. Multibus подразумевает достаточно простую аппаратную реализацию, однако число устройств, одновременно использующих ресурсы шины, ограничено 16 абонентами. Следует отметить, что скорость обмена на шине Multibus была ниже, чем на шине Unibus.

52. Механизмы доступа к данным.

Язык SQL условно разделяют на интерактивный и встроенный. И если интерактивный SQL функционирует в среде СУБД, то для встроенного языка требуются дополнительные средства связи среды, в которую он встроен, с СУБД: для передачи команд SQL и получения результатов выполнения запросов. Именно этим целям служат интерфейсы доступа к базам данных. Существует несколько основных способов доступа к данным. Подавляющее большинство систем управления базами данных содержит в своем составе библиотеки, предоставляющие специальный прикладной программный интерфейс (Application Programming Interface, API) для доступа к данным этой СУБД. Обычно такой интерфейс представляет собой набор функций, вызываемых из клиентского приложения. В случае настольных СУБД эти функции обеспечивают чтение/запись файлов базы данных, а в случае серверных СУБД инициируют передачу запросов серверу базы данных и получение от сервера результатов выполнения запросов. Библиотеки, содержащие API для доступа к данным серверной СУБД, обычно входят в состав ее клиентского программного обеспечения, устанавливаемого на компьютерах, где функционируют клиентские приложения. Использование клиентского API является наиболее очевидным способом манипуляции данными в приложении. Однако, в этом случае приложение сможет использовать данные СУБД только того

производителя, чьи функции используются, а замена ее на другую повлечет за собой необходимость переписывания значительной части кода приложения (клиентские API и объектные модели не подчиняются никаким стандартам и различны для разных СУБД). Другой способ манипуляции данными в приложении основан на использовании универсальных механизмов доступа к данным.

Универсальный механизм доступа к данным обычно реализуется в виде библиотек и дополнительных модулей, называемых драйверами или провайдерами. Библиотеки предоставляют определенный набор функций, а дополнительные модули осуществляют связь с конкретными СУБД с использованием их API. Наиболее популярными среди универсальных механизмов доступа являются Open Database Connectivity (ODBC), OLE DB и ActiveX Data Objects (ADO).

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

ODBC (англ. Open Database Connectivity) — это программный интерфейс (API) доступа к базам данных, разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI), который разрабатывался[1] организациями SQL Access Group, X/Open и Microsoft. Впоследствии CLI был стандартизован ISO[2]. Стандарт CLI призван унифицировать программное взаимодействие с СУБД, сделать его независимым от поставщика СУБД и программно-аппаратной платформы. C помощью ODBC прикладные программисты могли разрабатывать приложения для использования одного интерфейса доступа к данным, не беспокоясь о тонкостях взаимодействия с несколькими источниками.

OLE DB (англ. Object Linking and Embedding, Database) — набор интерфейсов, основанных на

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

OLE DB (связывание и внедрение объектов, базы данных, а иногда в литературе встречается как OLEDB или OLE-DB) является API разработанной Microsoft для доступа к различным типам данных, которые хранятся в единой форме. Программа представляет собой набор интерфейсов реализованных с помощью Component Object Model (COM); в данном случае это связано с OLE. Она была разработана в качестве дальнейшего развития и должна прийти на замену и в качестве преемника ODBC, расширяя набор функций для поддержки более широкого круга нереляционных источников данных, таких как объектно ориентированые базы данных или электронные таблицы, и для которых не обязательно использовать SQL.

ADO (от англ. ActiveX Data Objects — «объекты данных ActiveX») — интерфейс программирования приложений для доступа к данным, разработанный компанией Microsoft (MS Access, MS SQL Server) и основанный на технологии компонентов ActiveX. ADO позволяет представлять данные из разнообразных источников (реляционных баз данных, текстовых файлов и т. д.) в объектно-ориентированном виде.

53. Интерфейс ODBC. Функции ODBC.

Open Database Connectivity) — открытый интерфейс баз данных. Необходимость создания ODBC появилась вследствие того, что каждая фирма — разработчица СУБД использовала свой диалект SQL, что делало невозможным обмен данными между двумя БД различных форматов. Поэтому вначале был разработан общий стандарт на SQL, получивший название CLI (Common Language Interface). Затем каждая фирма разрабатывала драйвер перевода своего диалекта SQL в CLI и наоборот.

ODBC предназначена для обеспечения возможности взаимосвязи между различными SQL­ совместимыми БД.

Технология ODBC предусматривает создание дополнительного уровня между приложением и используемой СУБД. В архитектуре ODBC используется один ODBC Driver Manager и несколько ODBC­драйверов, отвечающих за реализацию особенностей доступа к каждой отдельной СУБД. 1. Функция SQLDataSources возвращает список всех источников данных ODBC.

RETCODE SQLDataSources(HENV hEnv, UWORD fDirection, UCHAR * szDSN, SWORD cbDSNMax, SWORD *pcbDSN, UCHAR * szDescription,

SWORD cbDescriptionMax, SWORD * pcbDescription ); hEnv ­ хэндл, возвращаемый функцией SQLAllocEnv();

fDirection ­ задает режим работы. Может принимать значения SQL_FETCH_FIRST ­ вернуть первую запись и SQL_FETCH_NEXT ­ вернуть следующую запись. Логика работы аналогична функциям

FindFirst и FindNext (помните DOS?);

szDSN ­ указатель на буфер длиной не менее cbDSNMax, куда будет записано имя источника данных;

cbDSNMax ­ длина буфера szDSN;

pcbDSN ­ указатель на целое, куда записывается реальная длина (не включая завершающий \0) принятого имени источника данных;

szDescription ­ указатель на буфер длиной как минимум 255 символов, куда запистывается описание принятого источника данных;

cbDescriptionMax ­ длина буфера szDescription;

pcbDescripton ­ указатель на целое, куда записывается реальная длина описания источника данных.

2. Функция SQLConfigDataSources добавляет, изменяет или удаляет указанный источник данных. BOOL SQLConfigDataSources(HWND hwndParent, WORD fRequest,

LPCSTR lpszDriver, LPCSTR lpszAttributes)

hwndParent ­ хэндл родительского окна. Если не равен NULL, отображается стандартный для данного типа источника данных диалог настройки.

fRequest ­ тип запрашиваемой операции. Может принимать следующие значения: ODBC_ADD_DSN (ODBC_ADD_SYS_DSN) ­ запрос на создание нового пользовательского

(системного) источника данных;

ODBC_CONFIG_DSN (ODBC_CONFIG_SYS_DSN) ­ запрос на изменение существующего пользовательского (системного) источника данных;

ODBC_REMOVE_DSN (ODBC_REMOVE_SYS_DSN) ­ удаление пользовательского (системного)

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

lpszDriver ­ указатель на строку, содержащую имя драйвера, ассоциированного с конкретным типом БД;

lpszAttributes ­ указатель на строку атрибутов в форме ключевое слово ­ значение. Каждая такая пара должна заканчиваться символом \0, в конце строки атрибутов должен стоять двойной символ \0. Приведем несколько примеров строки атрибутов, чтобы вам было понятно, что это такое:

"DSN=MySource\0UID=MyLogin\0PWD=MyPass" ­ источник данных с именем MySource, логин ­ MyLogin, пароль ­ MyPass

Каждый драйвер "понимает" свои ключевые слова, чаще всего применяются: PWD ­ пароль

UID ­ логин

DSN ­ имя источника данных

DATABASE ­ имя базы данных

SERVER ­ имя сервера, на котором находится база данных

Для баз данных Microsoft Access для указания имени БД вместо DATABASE используется ключевое слово DBQ.

3.Функция SQLAllocEnv создает новый хэндл для использования в других функциях и инициализирует интерфейс для работы с ODBC

RETCODE SQLAlocEnv(HENV * hEnv)

hEnv ­ указатель на переменную, которая будет хранить созданный хэндл в случае удачного выполнения функции

4.Функция SQLFreeEnv удаляет заданный хэндл и освобождает всю память, ассоциированную с ним.

RETCODE SQLFreeEnv(HENV hEnv) hEnv ­ хэндл, который нужно удалить

54.Преимущества и недостатки ODBC.

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

■ простота разработки приложения;

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

Недостатки:

снижение скорости доступа к данным, что связано с необходимостью трансляции запросов;

увеличение время обработки запросов, что связано с введением дополнительного программного слоя;

необходимы предварительная инсталляция и настройка ODBC­драйвера (указание драйвера СУБД, сетевого пути к серверу, базы данных и т.д.) на каждом рабочем месте. Параметры этой настройки являются статическими, т.е. приложение изменить их самостоятельно не может;

предоставляет доступ только к реляционным SQL­ориентированным БД. OLE DB.

55. Интерфейс JDBC. Функции JDBC. Преимущества и недо-статки JDBC.

JDBCTM ­ это прикладной программный интерфейс (далее API) JavaTM для выполнения SQL­ запросов. Он состоит из множества классов и интерфейсов, написанных на языке Java. JDBC предоставляет стандартный API для разработчиков, использующих базы данных (далее БД). С помощью JDBC можно писать приложения на языке Java, использующие БД.

С помощью JDBC легко отсылать SQL­запросы почти ко всем реляционным БД. Другими словами, использование JDBC API избавляет от необходимости для каждой СУБД (Informix, Oracle и т.д.) писать свое приложение. Достаточно написать одну единственную программу, использующую JDBC API, и эта программа сможет отсылать SQL­запросы к требуемой БД. Кроме того, это проложение будет переносимо на различные платформы.

JDBC расширяет и без того богатую функциональность Java. Например, можно опубликовать в Интернет веб­страницу, содержащую апплет, связанный с БД на сервере. Еще один пример: организация с помощью JDBC может подключить всех сотрудников к одной БД, даже если мы имеем дело с конгломератом операционных систем на рабочих станциях сотрудников ­ Windows, Macintosh, UNIX

JDBC включает четыре компонента:

1.API JDBC — API JDBC™ обеспечивает программируемый доступ к реляционным данным от языка программирования Java™. Используя API JDBC, приложения могут выполнить SQL­ операторы, получить результаты, и распространить, возвращается к базовому источнику данных. API JDBC может также взаимодействовать с многократными источниками данных в распределенной, неоднородной среде.

API JDBC является частью платформы Java, которая включает Java™ Standard Edition (Java™ SE) и Java™ Enterprise Edition (EE Java™). JDBC 4.0 API делится на два пакета: java.sql и javax.sql. Оба пакета включаются в Java SE и платформы EE Java.

2.Менеджер по Драйверу JDBC — JDBC DriverManager class определяет объекты, которые могут соединить приложения Java с драйвером JDBC. DriverManager традиционно была магистраль архитектуры JDBC. Это является довольно маленьким и простым.

Стандартные Пакеты расширения javax.naming и javax.sql позвольте Вам использовать a DataSource объект, зарегистрированный в Именовании Java и Каталоге Interface™ (JNDI) именование службы, чтобы установить соединение с источником данных. Можно использовать любой соединительный механизм, но использование a DataSource объект рекомендуется когда бы ни было возможно.

3.Тестовый Комплект JDBC — тестовый комплект драйвера JDBC помогает Вам решить, что драйверы JDBC выполнят Вашу программу. Эти тесты не являются всесторонними или исчерпывающими, но они действительно осуществляют многие из важных функций в API JDBC.

4.Мост JDBC­ODBC — мост программного обеспечения Java обеспечивает доступ JDBC через драйверы ODBC. Отметьте, что Вы должны загрузить двоичный код ODBC на каждую клиентскую машину, которая использует этот драйвер. В результате драйвер ODBC является самым соответствующим на корпоративной сети, где клиентские установки не являются большой проблемой, или для кода сервера приложений, записанного в Java в трехуровневой архитектуре. Преимуществами JDBC считают:

Лёгкость разработки: разработчик может не знать специфики базы данных, с которой работает;

Код не меняется, если компания переходит на другую базу данных;

Не нужно устанавливать громоздкую клиентскую программу;

К любой базе можно подсоединиться через легко описываемый URL.

56. Интерфейс уровня вызовов Oracle (OCI) – это набор интерфейсов языка C, обеспечивающих взаимодействие с сервером Oracle. Он предоставляет программистам гибкий механизм использования возможностей сервера.

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

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

Функции LNOCI позволяют выполнять следующее.

– Обращаться к объектам сервера с использованием SQL.

– Обращаться, обрабатывать и управлять объектами, расположенными в объектном кеше, через указатели или ссылки REF.

– Преобразовывать даты, числа и строки Oracle в типы данных C.

– Управлять размером объектного кеша.

Создавать временные описания типов. Временные описания типов не хранятся в СУБД постоянно. Необходимо установить совместимость с Oracle 9i или с более поздней версией.

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

Разработчики программ на основе LNOCI могут использовать транслятор объектных типов для создания типов данных С, соответствующих объектным типам Oracle.

OLE DB (англ. Object Linking and Embedding, Database) — набор интерфейсов, основанных на

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

OLE DB (связывание и внедрение объектов, базы данных, а иногда в литературе встречается как OLEDB или OLE­DB) является API разработанной Microsoft для доступа к различным типам данных, которые хранятся в единой форме. Программа представляет собой набор интерфейсов реализованных с помощью Component Object Model (COM); в данном случае это связано с OLE. Она была разработана в качестве дальнейшего развития и должна прийти на замену и в качестве преемника ODBC, расширяя набор функций для поддержки более широкого круга нереляционных источников данных, таких как объектно ориентированые базы данных или электронные таблицы, и для которых не обязательно использовать SQL.

OLE DB отделяет хранилище данных из приложения, которое должно иметь доступ к нему через набор абстракций, которые включают DataSource, сессию, командную строку. Это было сделано потому, что различным приложениям необходим доступ к различным видам и источникам данных и не всегда нужно знать, как получить доступ к методологии функционирования конкретной технологии. OLE DB концептуально разделена на потребителей и поставщиков. Потребителями являются приложения, которым необходим доступ к данным, а поставщик реализует в своем интерфейсе программный компонент и, следовательно, обеспечивает информацией потребителя. OLE DB является частью Microsoft Data Access Components (MDAC). MDAC является группой технологий Microsoft, которые взаимодействуют вместе, как основа, которая позволяет программистам создать единый и всеобщий способ разработки приложений для доступа к данным практически любого хранилища. OLE DB провайдеры могут быть созданы для обеспечения простого доступа к таким хранилищам данных как текстовые файлы и электронные таблицы, вплоть до таких сложных баз данных, как Oracle, SQL Server и Sybase ASE. Он может также обеспечить доступ к иерархическими хранилищами данных таких, как системы электронной почты.

Однако, поскольку различные хранилища данных технологий могут иметь разные возможности, OLE DB не может реализовать все возможности интерфейса доступные для OLE DB.

Возможности, которые доступны осуществляются посредством использования объектов COM — поставщик OLE DB будет отсылать к карте хранилища данных технологий обеспечивая функциональность для конкретного интерфейса COM. Microsoft описывает наличие интерфейса «конкретного поставщика», поскольку оно не может применяться в зависимости от используемой технологии баз данных. Отметим также, что поставщики могут увеличить возможности хранения данных — таких возможностей, как услуги в терминологии Microsoft.

57. ADO (ActiveX Data Objects ­ объекты данных, построенные как объекты ActiveX) ­ это часть архитектуры универсального доступа к данным от Microsoft. ADO является частью более крупномасштабной технологии под названием MDAC (Microsoft Data Access Components) . Термин MDAC является общим обозначением для всех разработанных компанией Microsoft технологий, связанных с базами данных. К этому набору относятся ADO, OLE DB, ODBC и др.

Технология ADO базируется на возможностях СОМ, а именно интерфейсов OLE DB. OLE DB представляет собой интерфейс системного уровня, обеспечивающий доступ к различным источникам данных, изолируя приложение от вида источника. ADO представляет собой высокоуровневый программный интерфейс для доступа к OLE DB­интерфейсам.ADO содержит набор объектов, используемых для соединения с источником данных, для чтения, добавления, удаления и модификации данных.

Согласно терминологии ADO, любой источник данных (база данных, электронная таблица, файл) называется хранилищем данных, с которым при помощи провайдера данных взаимодействует приложение. Провайдеры ADOобеспечивают соединение приложения, использующего данные через ADO, с источником данных (сервером SQL, локальной базой данных, файловой системой и т. д.). Для каждого типа хранилища данных должен существовать провайдер ADO. Провайдер "знает" о местоположении хранилища данных и его содержании, умеет обращаться к данным с запросами и интерпретировать возвращаемую служебную информацию и результаты запросов с целью их передачи приложению.

Технология ADO завоевала популярность у разработчиков, благодаря универсальности ­ базовый набор интерфейсовOLE DB имеется в каждой современной операционной системе Microsoft. Поэтому для обеспечения доступа приложения к данным достаточно лишь правильно указать провайдер соединения ADO и затем переносить программу на любой компьютер, где имеется требуемая база данных и установленная ADO.

Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмомWindows, это сокращает общий объем работающего программного кода и позволяет распространять приложения без вспомогательных программ и библиотек.

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

Сравнительные характеристики

ODBC

OLE DB

ADO

1.

Поддержка интерфейса многими СУБД

+

+

+

2.

Единый API для различных ист. данных

+

+

+

3.

Источник данных может не поддерживать SQL

-

+

+

4.

Поддержка нереляционных ист. данных

-

+

+

5.

Удобство использования интерфейса

+

-

+

6.

Возможность применения интерфейса для связи

-

-

+

БД с WWW

 

 

 

Результаты (в баллах)

3

4

6

Большинство новых программных продуктов фирмы Microsoft имеет поддержку интерфейса OLE DB, поскольку это интерфейс низкого уровня, построенный на основе COM­технологии и он позволяет использовать в каждом конкретном случае не все элементы интерфейса, а лишь необходимые. Что в свою очередь позволяет добиться компактности и наилучшей скорости взаимодействия с СУБД.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]