Программирование >>  Проектирование баз данных 

1 ... 155 156 157 [ 158 ] 159 160 161 ... 184


Oracle?, - то следует в качестве стандарта разработки применять ODBC без режима ретрансляции. Однако в этом случае вам пригодится лишь очень малая часть нашей книги (не считая раздела о псевдокоде).

Иногда режим ретрансляции включают из-за того, что предполагают, будто наличие промежуточного ПО (ODBC-драйвера, интерпретируюшегоу SQL) влечет очень высокие затраты и сильно замедляет работу приложения Однако это зависит от конкретного ODBC-драйвера. Ведь ODBC - эт просто стандарт, и на рынке есть множество драйверов. Некоторые из ни! обеспечивают высокую скорость работы вне зависимости от режима. Опять-* таки, ценным подспорьем здесь могут быть оценка по результатам макетирования и эталонные тесты драйверов. Следует помнить одно: если ODBC-драйвер интерпретирует и переписывает SQL, он может удалить встроенные комментарии, в том числе и те, которые являются подсказками оптимизатору Oracle?. Это серьезно ограничит возможность воздействия на сервер при оптимизации производительности некоторых SQL-запросов.

В заключение скажем, что в первом стандарте на ODBC (ODBC 1) программа может вызывать хранимую процедуру или функцию базы данных и передавать ей параметры. Однако такая процедура не может возвращать значения в вызывающую программу. Это существенно ограничивало возможности проектирования интерфейса клиент/сервер, так как хранимые процедуры обычно играют здесь важную роль. В стандарте ODBC 2.0 это упущение исправлено.

Если рассматривается возможность использования Microsoft Visual Basic или Visual С++ в качестве внешней системы, существует альтернатива ODBC (или встроенному SQL) - Oracle Objects for OLE (0040). По стилю программирования этот продукт очень похож на ODBC, но написан специально для сервера Oracle? и, следовательно, оптимизирован под Oracle.

Некоторые средства разработки для клиентов имеют встроенную СУБД. Это может быть полезно для разработки на базе ПК, поскольку в противном случае нам потребуется доступ к серверу Oracle? (или к Personal Oracle?, если на ПК достаточно оперативной памяти). Вот некоторые примеры:

Blaze в Oracle Power Objects версии 1.x;

Oracle Lite в Oracle Power Objects версии 2.x;

Jet в Microsoft Visual Basic;

Interbase в Borland Delphi;

Watcom SQL в Powersoft Powerbuilder.

Эти СУБД не обладают всеми функционалыщши возможностями Oracle?. В частности, они не поддерживают ограничения целостности и компонегггы кода, такие как триггеры и хранимые процедуры. Эти ограничения диктуют уровень, до которого может успешно продолжаться разработка в автономной конфигурации, что делает Personal Oracle? гораздо более приемлемым вариантом. Недавно Oracle представила продукт Oracle Lite, который способен работать в одном мегабайте оперативной памяти, но это, опять-таки, весьма ограниченная СУБД, нацеленная, скорее, на рынок встроенных систем, нежели на рынок приложений.



Мы можем описать предыдущую категорию как клиентское инструментальное средство разработки со встроенной СУБД, которое может также обращаться к удаленной БД на сервере, обычно посредством ODBC. Есть еще один тип комбинации инструментального средства разработки с базой данных - эту категорию продуктов можно назвать клиентской СУБД со встроенными средствами разработки. Примеры средств этой категории - Microsoft Access и Borland Paradox.

При проектировании систем клиент/сервер с помощью таких средств следует помнить об одной ловущке. Мы можем (сознательно) решить использовать локальную базу данных для хранения определенных неизменчивых данных, например справочных. Присоединяя локальные таблицы к серверным таблицам, мы, по сути дела, оказываемся в сумеречной зоне распределенной базы данных. Мы хотим, чтобы серверная БД оставалась под нашим контролем, поскольку именно там расположена основная масса наших данных и средств обработки. Однако иногда клиентская база данных начинает борьбу за власть и пытается взять все в свои руки. Из серверной базы данных в клиентскую загружаются большие таблицы (часто целиком) для последующего соединения с локальной таблицей на клиенте (см. рис. 19.1). Очевидно, что такие стратегии катастрофически ухудшают производительность.

Сервер

Сернсрная база данных

Локальная база дан ,


Запрос разрешен здесь

Рис. 19.1. Проблемы, возникающие при попытках диспетчера клиентской базы данных взять все под свой контроль

Некоторые клиентские средства разработки систем генерируют код, который не может использовать ни общедоступные, ни частные синонимы, определенные в базе данных. Некоторые средства могут работать только для пользователя, владеющего данной таблицей, поскольку они не поддерживают табличные ссылки, в которых в качестве префикса используется имя схемы {schema.table). Если в оцениваемом средстве разработки это имеет место, необходимо рассмотреть возможные последствия для безопасности - например, в случае, если всем нужно подключаться к базе данных под одним и тем же пользовательским идентификатором.



Проектирование для World Wide Web

Многие новые приложения будут разрабатываться в расчете на развертывание через Web-броузеры. В организациях, где у будущих пользователей уже есть какой-нибудь Web-броузер, трудно увидеть причину, по которой новое приложение вдруг может захотеть пользоваться другим интерфейсным инструментом. Говоря так, мы не предлагаем открывать все новые приложения всему всемирному Web-сообществу. Мы просто отмечаем, что броузер-ная технология создает очень удобный способ развертывания нового приложения по интранет, а не по Интернет. Для того чтобы разделить эти сети, нужно либо вообще не подключать внутреннюю сеть к Интернет, либо поставить надежный брандмауэр.

Однако следует отметить, что если вы предполагаете двинуться по этому пути, то мы настоятельно рекомендуем обратиться к трехуровневым архитектурам и удалить из кода пользовательского интерфейса все прямые ссылки на базу данных. Эти ссылки следует поместить на сервер (серверы) приложений. На рис. 19 2 мы показали только один сервер приложений и две базы данных, которые некоторые приложения могут сопровождать отдельно, а некоторые - вместе.

Поставщики

Покупатели



Заказы

Сервер Сервер Запасы Внутренние пользователи приложений

Рис 19 2 Использование World Wide Web



1 ... 155 156 157 [ 158 ] 159 160 161 ... 184

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика