- •Базы данных
- •1. Введение в базы данных
- •1.1. Базы данных и информационные системы
- •1.2. Архигсюура информационной системы
- •1.3. Системы управления базами данных
- •1.4. Локальные информационные системы
- •1.5. Способы разработки и выполнения приложений
- •1.6. Схема обмена данными при работе с бд
- •2. Модели и типы данных
- •2.1. Иерархическая модель
- •Сотоудники
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Постреляционная модель
- •2.5. Многомерная модель
- •1996 1994 Петров Смирнов Яковлев
- •2.6. Объектно-ориентированная модель
- •2.7. Типы данных
- •3. Реляционная модель данных
- •3.1. Определение реляционной модели
- •3.2. Индексирование
- •3.3. Связывание таблиц
- •3.4. Контроль целостности связей
- •3.5. Теоретические языки запросов
- •I аспределенное Удаленное Распределен- Удаленн! 1йдо- Распределен- предстаеление представление ная функция ступ к данным наяЬд
- •4.5. Информационные системы в Интернете и интранете
- •Часть 2. I Ъоектиросанн ? и использование бд
- •7. Средства автоматизации проектирования
- •7.1. Основные определения
- •7.8. Рекомендации по применению case-систем
- •9. Дополнительные вопросы применения баз данных
- •9.1. Программно-аппаратные платформы
- •9.2. Перспективы развития субд
- •9.3. Стандартизация баз данных
- •9.4. Характеристика технологии ado.Net
- •10.1. Общая характеристика
- •10.2. Новые возможности Microsoft Access 2002
- •10.3.Средства поддержки проектирования
- •10.4. Создание основных элементов бд
- •IQdbl mdb
- •Option Compare Database Public Function funl() beep End Function
- •10.5. Работа с гиперссылками
- •10.6. Использование языка sql
- •Аргументы макрокоманды ' Инструкция sQl. Select distinctrow tof
- •10.7. Защита баз данных
- •10.9. Обслуживание баз данный
- •10.10. Репликация баз данных
- •Реплицируемые объекты
- •Реплицируемые объекты
- •10.11. Работа с мультимедиа-данными
- •Тип объекта
- •Comic Chat Boom Microsoft Graph so Music Prop pry Page 2 1 Option f ropery Page21 Ры-ndox FableВидео-клип
- •10.12. Создание файлов приложений
- •10.13. Страницы доступа к данным
- •Краткая характеристика отличий сДд от форм и отчетом
- •10.14. Разработка проекта
- •Распределение атрибутов по вариантам
- •11.1. Пользовательский интерфейс
- •11.2. Характеристика проекта
- •11.3. Компиляция и выполнение проекта
- •11.4. Разработка приложения
- •11.5. Средства интегрированной среды разработки
- •Управление параметрами среды
- •11.6. Базы данных и средства работы с ними
- •Компоненты приложений для баз данных
- •11.7. Создание таблиц базы данных
- •11.8. Создание приложения bde
- •Значения свойств компонентов
- •11.9. Работа с отчетами
- •12. Субд Visual FoxPro 8.0
- •12.1. Общая характеристика
- •12.2. Новые возможности Visual FoxPro 8.0
- •12.3. Элементы проекта
- •12.4. Интерфейс Visual FoxPro
- •12.5. Средства автоматизации разработки
- •12.6. Создание баз данных
- •12.7. Таблицы и индексы
- •12.8. Организация межтабличных связей
- •12.9. Обеспечение ссылочной целостности
- •12.10. Создание запросов
- •Variables:
- •13. Microsoft sql Server 2000
- •13.1. Характеристика sql Server
- •13.2. Язык запросов Transact-sql
- •13.3. Системные базы данных и таблицы
- •13.4. Создание баз данных
- •13.5. Работа с таблицами
- •15.1. Принципы функционирования Web-приложений
- •15.2. Архитектура Web-приложений, публикующих бд
- •15.3. Обзор Web-серверов
- •15.4. Использование Personal Web-server
- •15.5. Использование Microsoft Internet Information Server
- •15.6. Использование Apache дляMicrosoft Windows 9х/2000
- •Вы видите это вместо ожидаемой страницы?
- •15.7. Варианты создания Web-узла
- •16. Интерфейсы программирования Web-приложений
- •16.1. Общий интерфейс взаимодействия cgi
- •18. Публикация бд средствами Microsoft Access
- •18.1. Характеристика вариантов публикации
15.2. Архитектура Web-приложений, публикующих бд
При публикации БД на Web-страницы в архитектуруWeb-приложений вводятся дополнительные уровни, включающие сервер БД, сервер приложе ний и источник БД.
При такой архитектуре Web-cepeep передает запрос на генерациюWeb- страниц программе-расширениюWcb-еервера, которая формирует требуемый документ по информации из БД и затемWeb-cepnep отсылает готовыеWeb- страницы обратно обозревателю. Для формирования динамических страниц используются различные средства и технологии:ASP и ЮС/НТХ-страни- цы, программы-расширения сервера на основе интерфейсовCGI иISAPI.
При использовании ASP, РНР иIDC/HTX-страниц запрос на получение динамически формируемойWeb-страницы передается специальным динамическим библиотекам, входящим в составWeb-cepeepa. Например, если в качествеWeb-сервера используетсяPersonal Web Server и публикация осуществляется средствамиIDC/HTX, то применяется динамическая библиотека«httpodbc.dll». Такие библиотеки анализируют файлASP или ЮС и НТХ- файлы, которые используются в качестве шаблонов.
Напомним, что при публикации БД на Web-страницах используются статическая и динамическая публикацияWeb-страниц, содержащих информацию из базы данных. При статистическойпубликации подготовкаWeb страницы осуществляется с помощью обычных приложений БД, которые формируютWeb-документ на жестком диске. Причем,Web-документы создаются и хранится наWeb-сервере до поступления запроса пользователя на их получение. Такой способ не позволяет публиковать БД в реальном масштабе времени, и, естественно, этот способ публикации используется в случае когда информация в базе данных обновляется относительно редко. Тем не менее при статистической публикации уменьшается нагрузка на сервер при обработке запросов, так как серверу в этом случае нет необходимости обращаться с запросом к серверу БД, а достаточно передать готовуюWeb- страницу обозревателю.
При динамическойпубликацииWeb-страницы создаются после поступления запроса пользователя наWeb-cepeep. Поступивший запрос на генерациюWeb-страницWeb-сервер передает программе-расширению сервера, которая формирует требуемый документ, и затемWfeb-сервер отсылает готовыеWeb- страницы обратно обозревателю.
Программы-расширения Web-cepeepa, публикующие базы данных, используют принципы, на которых строятся приложения БД. При статистической и при динамической публикации должна использоваться архитектура приложений БД, дополненная характерными компонентами архитектурыWeb-приложений. Рассмотрим архитектуруWeb- приложений, использующих БД.
Двухуровневые ШеЬ-приложения
При двухуровневой архитектуре Web-приложений источник БД хранится на том же компьютере, где находитсяWeb-сервер. Для доступа к источнику БД используются модули расширения. В простейшем случае в архитектуруWeb-приложений добавляется источник БД (рис. 15.5).
Схема функционирования Web-приложения при такой архитектуре заключается в следующем. Обозреватель для начала работы сWeb-приложением отсылаетURL-адрес главной страницыWeb-приложенияWeb-cepBepy. Последний, обработавURL запроса, высы чает главную страницуWeb-приложения обозревателю в форматеHTML. Эта страница несет общую информацию оWeb-приложении и позволяет выбрать требуемую для пользователя функцию из ряда других, предоставляемых этимWeb-приложением. Далее возможны несколько вариантов работыWeb-приложения.
НТМ|_-<границз
Уодуш расширения
URl..
НТТР
Шеа-сйозрезаткль
i
TCP/IP
Рис. 15.5. Архитектура Web-приложения, использующего БД
Если пользователю нужна определенная информация из БД, то обозреватель по ссылке, находящейся в загруженной HTML-странице, формируетURL запроса к модулю расширения сервера, при этом могут использоваться различные технологии в зависимости от используемогоWeb-сервера наWeb-узле и других особенностей работыWeb-приложения.
Например, если на Web-узле установленWeb-cepeep Microsoft Internet Information Server, то может использоваться технологияASP-страниц,IDC/ НТХ-страниц,CGI илиISAPI-технология, а в случае установки сервераApache может применятьсяCGI-технология.
При необходимости формирования параметризованного URL на уровне обозревателя могут использоваться сценарии наJavaScript для проверки правильности ввода параметров запроса.
После того как пользователь выбрал требуемую ссылку, обозреватель отсылает URL Web-cepee] j. Для обработки такого запроса сервер вызывает требуемый модуль расширения и передает ему параметрыURL. Модуль расширения сервера формирует SQL-запрос к БД.
Из модуля расширения сервера доступ к БД может осуществляться различными способами и на основе различных интерфейсов. Например, в случае использования технологии ASP-страниц применяется несколько уровней интерфейсов: объектная модельADO, объектный интерфейсOLE DB, интерфейсODBC. Также возможен вариант непосредственного доступа к БД. Например, в случае модуляISAPI, разработанного в средеDelphi, для доступа к БД может использоваться один посредник — драйверBDE (Borland DataBase Engine), входящий в состав программных средств модуля расширения сервера.
Недостатки рассмотренной двухуровневой архитектуры состоят в следующем: • повышенная нагрузка на Web-cepeep, заключающаяся в том, что вся работа по обработкеURL-запросов, извлечению информации из БД и фор
мированию HTML-страниц выполняетсяWeb-сервером и модулями расширенияWeb-cepeepa;
• низкий уровень безопасности, связанный с невозможностью, например, обеспечить требуемый уровень защиты информации в БД от сбоев во время обращения к базе данных из модуля расширения сервера или кон фиденциальности информации БД от администратора Web-узла.
Для преодоления указанных Недостатков применяются Web-приложения с большим числом уровней. Перейдем к их рассмотрению.
Трехуровневые Web-приложения
При внесении в Web-приложение промежуточного уровня, основанного на технологии клиент-сервер, его архитектура расширяется до трехуровневой. При такой архитектуре клиентский уровень занимает обозреватель, на уровне сервера находится сервер БД, на промежуточном уровне находятсяWeb сервер и модули расширения сервера. Модуль расширения сервера выступает преобразователем протоколов между клиент-серверным приложением БД иWeb-сервером (рис. 15.6).
KokMMweooepeep ЬД
TCP/IP
Иг*
Lf-thMK
данных
Серэер
b;J
ж
SQi ssnpnc
Модули сагткрениг
иге.
1 ; I
TCP/IP
Ком1ьгвтер
Web-c^pespa
Модули
расширения
п|к|Ж<ЕЗуЦаш
ННЛ-шабгои
Web
-врйвр
*|-ти.<т(!8ница
TCP/IP
Рис. 15.6. Архитектура трехуровневого Web-приложения, использующего БД
Введение уровня Web-cepeepa в клиент-серверные приложения БД расширяет возможность их применения как для межнлатформенного приложения. Принципы взаимосвязи обозревателя иWeb-cepeepa остаются те же, что и в предыдущей архитектуре. Отличия этой архитектуры заключаются в организации взаимодействия модуля расширения сервера и источника данных.
5
где установлен удаленный сервер БД, содержится и база данных. SQI -сервер обеспечивает выполнение запроса и выдачу модулю расширенияWeb- сервера результатов запроса.
Таким образом, в трехуровневой архитектуре вся обработка SQL-запроса выполняется на удаленном сервере. Достоинства такой архитектуры по сравнению с предыдущей состоят в следующем:
уменьшение сетевого трафика — в сети циркулиоует минимальный объем информации;
увеличение уровня безопасности информации, поскольку обработка запросов к базе данных выполняется сервером БД, который управляет доступом к базе данных, запрещая одновременное изменение одной записи различными пользователями и реализуя механизм транзакций;
повышение устойчивости Web-приложения к сбоям;
взаимозаменяемость компонентов архитектуры трехуровневого Web- приложения;
снижение сложности модулей расширения Web-cepeepa, в которых отсутствует программный код, связанный с контролем БД и разграничением доступа к ней.
Недостатком рассмотренной архитектуры является увеличение времени обработки запросов, связанное с дополнительным обращением по сети к серверу БД. Для устранения этого недостатка между сервером БД и Web-сервером должны использоватвся высокоскоростные надежные линии связи.
Многоуровневые Web-приложения
Дальнейшее развитие архитектуры Web-приложений и технологии «клиент-сервер» привело к появлению многоуровневой архитектуры, в которой между модулем расширенияWeb-cepeepa и базой данных, кроме сервера БД, дополнительно вводится сервер приложений. Сервер приложенийявляется промежуточным уровнем, который обеспечивает организацию взаимодействия клиентов («тонких» клиентов) и сервера БД (рис. 15.7).
Напомним, что сервер приложений может использоваться для выполнения различных функций, которые в предыдущей архитектуре выполнялись сервером БД или модулем расширения Web-cepeepa.
В качестве «тонкого» клиента в этой архитектуре выступает программа- модуль расширения Web-сервера. Сервер приложений может обеспечивать взаимодействие сWeb-серверами и серверами БД, функционирующими на различных аппаратно-программных платформах (компьютерах различных типов и под управлением различных операционных систем). Такая архитектура является основой для интранет-сетей, создаваемых на основе существующих локальных сетей.
Компыотер-сереэр ВД
| |
СерэерВД |
|
|
Источник
йанкых
TCP/IP
приложений
-А
lA-
Сервер
пригсмэкий
Кгульютер
пользователя Интернета
SQL-janpoc
Мог и расширения
обмревяеля
Компьютер
WefccepEeps
"ТЛОЯулк
JX1VS
*
сер
HTML-
ihfiti
иЯ1
We&c«(««p
HTML
НТЫ1-
"cTpShr^T™
ТСР/'Р
Рис. 15.7. Архитектора многоуровневого Web-приложения
Введение дополнительного уровня Web-cepeepa позволяет публиковать информацию из БД локальных сетей в сети Интернет, получать информацию от других интранет-сетей илиWeb-узлов. Кроме того, при частичной или полной реорганизации внутренней архитектуры локальных сетей появляется возможность использовать преимущества сетей интранет, касающиеся упрощения дополнительного подключения новых пользователей и администрирования локальной сети.
Отметим, что в некоторых архитектурах информационных систем Web- сервер может структурно объединяться с сервером приложений. В этом случае программные средства, входящие в состав модуля расширения, выполняют роль сервера приложений.
Основные достоинства многоуровневой архитектуры Web-приложений заключаются в следующем:
разгрузка Web-cepeepa от выполнения части операций, перенесенных на сервер приложений и уменьшение размера модулей расширения сервера на основе разгрузки их от лишнего кода;
обеспечение более гибкого межплатформенного управления между Web- сервером и сервером БД;
упрощение администрирования и настройки параметров сети — при внесении изменений в программное обеспечение или конфигурацию сервера БД не нужно вносить изменения в программное обеспечение Web-cepeepa.
При функционировании Web-приложений с использованием многоуровневой архитектуры сохраняется возможность параллельной работыWeb-обозревателей и клиентских приложений БД (рис. 15.8).
компшгор-шре&р
ьД
TCP/IP
Сервер
БД
Клиентское лригчжэние
Компьклср-сегэег
приложений
TCP/IP
^
Серчер приложений
Компьютер
польээеателя
И(!(рвн«ы
SQL
.anpou ^
Чодул I psci . ия
сервера —|
компьютер
Webcepeepa
Модули
расширена! , обозревателя
URL
Wnb-'»pSC!p
HTML
«еочжюэреезиепь
TCP/IP
Рис. 15.8. Архитектура смешанного Web-приложения
В этом случае говорят об архитектуре смешанного Web-приложения. При гакой архитектуреWeb-при пожения и клиентские приложения БД могут параллельно получать доступ к источнику БД.
Web-приложения на основе CORBA
Архитектура современных Интернет-приложений - это трехзвенная модель с использованием клиент/серверной архитектуры и интерфейса CGI. Однако использованиеCGI-интерфейса для объектно-ориентированных клиентовJava не эффективно, из-за того, что этот интерфейс достаточно медленный и не обладает требуемой гибкостью. Отметим, что попытки некоторых фирм-разработчиков программного обеспечения серверов оживитьCGI, внедряя в него серверныеAPI, являются тупиковыми.
Одним из перспективных направлений развития интранет-сетей является использование технологии CORBA (Common Ob ct Request Broker Arhitectur - общая архитектура брокеров объектных запросов) в сочетании с технологиейJava-anmieTOB. CORBA представляет собой шину (интерфейс) распределенных объектов с открытыми стандартами, используемую в клиент/серверных системах. Эта технология явилась результатом работы консорциумаOMG
(Object Management Group — группы управления объектами). Единственной конкурентоспособной технологией, обладающей аналогичными возможностями, является технологияDCOM (Distribute Common Object Model — распределенная модель объектов общего применения), разработанная фирмойMicrosoft.
Технология Java предполагает большую гибкость при разработке распределенных приложений, но в полной мере не поддерживает технологию кли ент/сервер. ИнтерфейсCORBA позволяет обеспечить связь переносимых приложенийJava и объектовCORBA. Технология объектовCORBA предназначена для использования вWeb-приложениях вместоCGI-интерфейса.
В результате объединения Java-апплетов иCORBA-интерфейса появилось новое понятие — объектная модельWeb, означающая использование объектных моделей различных интерфейсов (моделиCORBA, ADO и др.) при построенииWeb-приложений. Архитектура такого многоуровневого клиент/ серверногоWeb-приложения, построенного на основе технологииCORBA иJava приведена на рис. 15.9.
Рис.
15.9. Архитектура многоуровневого
Wfeb-приложения
на основе технологии CORBA
На первом уровне находится клиентское приложение - обозреватель. В обозревателе выполняется клиентский Java-anroieT, из которого может осуществляться обращение к объектамCORBA.
На втором уровне находится Web-cepeep, обрабатывающийHTTP-запросы иCORBA-вызовы клиентских приложений.
На третьем уровне находится сервер-приложений. В его роли могут выступать серверы ORB (Object Request Broker — посредник запросов объектов) или распределенные объектыCORBA, функционирующие как серверы приложений промежуточного звена и выполняющие прикладные функции и набор компонентных сервисов (услуг). СерверыORB являются унифицированными фрагментами программы, используемыми в распределенных приложениях в качестве связующего звена между клиентскими приложениями и сервером.
Объекты CORBA взаимодействуют с серверами БД последнего уровня, используя, например,SQL в случае реляционных БД. Кроме того, объектыCORBA на сервере могут взаимодействовать и друг с другом. В основе механизма взаимодействия между объектамиCORBA лежит протоколIIOP (Internet Inter-ORB Protocol — Интернет-протокол взаимодействияORB). ПротоколIIOP основывается на протоколе TCP/IP с добавленными компонентами обмена сообщениями и функционирует как общий опорный протокол при организации взаимодействия серверовORB и объектовCORBA. В дополнение к ПОР в технологииCORBA используютсяESIOP-протоколы(Enviroument-Specific Inter-ORB Protocols — зависящие от среды протоколы взаимодействияORB), которые применяются в специализированных сетевых средах.
Java-клиент может непосредственно взаимодействовать с объектомCORBA, используяJava ORB. При этом серверыCORBA замещают уровеньHTTP-сервера и выступают в качестве программного обеспечения промежуточного уровня, обеспечивая взаимодействие между объектами(object-to- object). ИнтерфейсCORBA ПОР функционирует в сети Интернет так же, как и протоколHTTP.
Протокол HTTP в этом случае используется для загрузкиWeb-документов, апплетов и графики,CORBA используется для организации с помощьюJava апплетов клиент/серверных приложений.
Серверный компонент CORBA предоставляет «настраиваемый» интерфейс, который можно конфигурировать с помощью визуальных средств.CORBA- объект обладает определенными функциональными возможностями, реализует инкапсуляцию свойств и методов и генерируемых объектами событий. Можно создавать целые ансамбли объектов, «стыкуя» выходные события с входными методами. Разработка таких визуальных объектоз поддерживается средствами быстрой разработки приложений —RAD (Rapid Application Development). В частности,CORBA-объекты поддерживаются в системахRAD C++Builder, JBuilder иDelphi.
На последнем четвертом уровне размещается сервер ба? данных или другой источник данных, то есть практически любой источник информации, к которому CORBA может получить доступ. Сюда входят процедурные мониторы транзакций(TP Monitors), MOM (Message-Oriented Middleware - промежуточное программное обеспечение, ориентированное на обмен сообщениями),ODBMS (ODBMS- объектные СУБД), электронная почта и т. д.
В настоящий момент интерфейсы CORBA/HTTP поддерживается почти всеми серверными платформами, включаяUnix, NT, OS/2,NetWare, MacOS, OS/400.
Рассмотрим механизм функционирования Web-приложения при использовании технологииJava-anruieToB и объектовCORBA.
Для начала работы с Web-приложением вWeb-обозреватель загружается главнаяHTML-страница, которая содержит встроенные апплетыJava. При этомJava-апплеты и используемые в апплетеJava-классы подгружаются сWeb-cepeepa при открытииHTML-страницы. ПричемWeb-обозреватель формирует запросWeb-cepeepy на поискJava-апплета ил требуемогоJava класса.Web-cepeep находит апплет и загружает его в обозреватель в форме байт-кода.Web-обозреватель при загрузке апплета сначала запускает систему безопасности реального времениJava. Для вызова апплетом серверных объектовCORBA используетсяIDL-сгенерированный клиентский стаб(Interface Definition Language - пассивный язык написания интерфейсов), который позволяет вызывать объекты сервераORB или может использоваться интерфейс динамических вызововCORBA DII (Dynamic Invocation Interface) для генерации запроса к серверу при выполнении апплета.
Объединение технологий CORBA, Java и Интернета обеспечивает приводимые ниже достоинства.
Масштабируемость и устойчивость Web-приложения, заключающиеся в том, что серверыWeb иORB могут взаимодействовать с использованиемCORBA ORB. При этом объектыORB могут выполняться на нескольких серверах для обеспечения баланса нагрузки(load-balancing) серверов для входящих клиентских запросов.ORB может отправить запрос первому доступному объекту, а также увеличить число доступных объектов по необходимости.CORBA позволяет объектам сервера действовать последовательно, используя транзакции и связанные сервисыCORBA. В отличие от технологииCORBA, интерфейсCGI при большом количестве запросов не имеет возможности распределить нагрузку между несколькими процессами или процессорами.
Гибкость архитектуры CORBA позволяет клиентам непосредственно вызвать методы на сервере. Клиенты передают параметры напрямую, используя прекомпилированные стабы, или генерируют их во время выполнения апплета, используя сервисы динамических вызововCORBA DII. Можно вызывать на сервере любой метод, определенный с помощьюIDL, а не только один метод, описанный посредствомHTML, можно передавать любые типизированные параметры вместо обычных строк.
CORBA расширж т возможностиJava по взаимодействию с распределенными объектами. Так какJava-эпплеты не могут взаимодействовать сквозь все адресное пространство, используя вызовы удаленных методов, то дляJava-anmieTOB не существует простого способа вызвать метод на удаленном объекте.CORBA позволяетJava -апплетам взаимодействовать с другими объектами, написанными на различных языках, преодолевая адресное пространство и сети.CORBA обеспечивает богатый набор сервисов распределенных объектов (метаданные, транзакции, безопасность, именование, коллекции и т.д.), которые расширяютJava.
CORBA расширяет объектную модельJava для распределенной среды и позволяетJava-ai iплетам вызывать широкий спектр определенных наIDL операций на сервере. В противоположность этому, клиентыHTTP ограничены небольшим набором операций. Приложения серверной части - это обычные объектыCORBA. Следовательно, они доступны в любой момент времени. Нет необходимости проходить через издержки обращения кCGI-сценариям для каждого вызова.
CORBA предоставляет средства для создания трехзвенной архитектуры клиент/сервер. Кроме того, технологияCORBA разгружает кодJava-an- плетов, определенные компоненты могут быть распределены в среде клиент/сервер. Клиентская часть апплета может оставаться маленькой, что сокращает время загрузки апплета.
Кроме технологии CORBA, для расширения возможностей примененияWeb могут использоваться следующие конкурирующие технологии: сокеты,DCOM сActiveX иRMI (Remote Method Invocation — механизм вызова уда ленных методов) цругие технологии. Тем не менее, технологияCORBA остается лидером среди всех интерфейсов распределенных объектов благодаря хорошим архитектурным и функциональным возможностям, устойчивости в работе и легкости в настройке.
В частности, технология CORBA по сравнению с ближайшим ее конкурентом — технологиейDCOM обеспечивает следующие преимущества:
•полная и корректная реализация поддержки различны* ОС;
CORBA реализована целиком наJava, в связи с этим она хорошо интегрируется сJava;
легкость конфигурирования и настройки серверов и клиентов CORBA;
корректная реализация вызовов распределенных методов;
полнота функциональной реализации динамического наследования и поддержки метаданных;
более высокая (более чем на 20%) производительность приложений;
корректная реализация механизма транзакций;
корректная реа-шзация долговременных, или сохраняемых объектных ссылок;
поддержка CORBA-интерфейсомURL-имен;
открытый стандарт CORBA-интерфейса.
Таким образом, CORBA обеспечивает инфраструктуру распределенных объектов, что позволяет приложениям распространяться через сети, языки, границы компонентов и операционные системы.Java обеспечивает инфраструктуру переносимых объектов, которые работают на всех основных операционных системах.CORBA дает независимость от сетей,a Java — независимость от реализации.
Для организации связи программных расширений Web-cepeepa с БД используются современные интерфейсы доступа к даннымOLE DB, ADO иODBC. Эти интерфейсы являются промежуточным уровнем между источником данных и приложением, в качестве которого выступают программные расширенияWeb-cepeepa. Рассмотрим особенности архитектурыWeb-приложений, использующих интерфейсы доступа к даннымOLE DB, ADO иODBC.
Характеристика интерфейсов OLE DB, ADO и ODBC
Современные интерфейсы доступа к источникам данным OLE DB, ADO иODBC, внедряемые фирмойMicrosoft, позволяют осуществлять доступ к источникам различных данных однообразным способом. В основе новой технологии доступа к данным лежит интерфейсOLE DB, позволяющий связывать и встраивать объекты из любых источников данных. Напомним, что интерфейсOLE DB является универсальной технологией для доступа к любому источникам данных через стандартный интерфейс СОМ. ИнтерфейсOLE DB основан на механизме сервис-провайдеров (поставщики данных), находящихся на высоком уровне абстракции над физическим форматом данных.
OLE DB-провайдер реализует интерфейс доступаOLE DB поверх конк ретного сервис-провайдера данных. Интерфейс доступаOLE DB позволяет вводить масштабируемость, заключающуюся в возможности поддерживать многоуровневую системуOLE DB-провайдеров, когдаOLE DB-провайдер может находиться поверх группыOLE DB провайдеров или сервис-провайдеров. ИнтерфейсOLE DB позволяет стандартизовать программный код, использующийся для доступа к различным источникам данных.
Архитектура Web-приложений, использующих интерфейсыOLE DB, ADO иODBC, приведена на рис. 15.10.
Интерфейс ADO находится на более высоком уровне абстракции, чем интерфейсOLE DB. Он реализован в виде иерархической модели объектов для доступа к различнымOLE DB-провайдерам данных. В модельADO входит набор объектов, которые обеспечивают соединение с провайдером данных, созданиеSQL-запроса к данным, создание набора записей на основе запроса и др.
Особенность функционирования Web-приложений, использующих интерфейсADO, заключаются в том, что обозреватель может извлекать информацию из любого источника данных, находящегося в сети Интернет, заранее не имея представления о логической структуре, типе и физическом формате источника данных. То есть появляется возможность публиковать требуемую информацию в Интернете, не показывая внутреннюю структуру данных.
Рис.
15.10. Архитектура Web-приложений,
использующих интерфейсы OLE
DB, ADO и
ODBC
Таким образом, интерфейс ADO позволяет стандартизовать все существующие интерфейсы для доступа к любым данным в интранет/Интернет сетях. Он объединяет все существующие интерфейсы и предоставляет однообразный способ для доступа к любому источнику данных через любой интерфейс.