|
Программирование >> Программный интерфейс приложений
(CPAN или Comprehensive Perl Archive Netvvork - полная сеть архивов языка Perl). С помощью модулей Perl можно получить доступ к любому типу функций, не написав при этом ни строчки кода. Хотите написать сценарий, который генерирует отчет по данным из базы данных, а потом отослать по почте как вставку? Достаточно взять один из модулей MIME, и у вас в распоряжении появится возможность быстро генерировать вставки в электронную почту. Язык РНР не имеет внешней поддержки в таком большом объеме (это и не удивительно, так как это новый язык.) Вероятно, самым популярным дополнением является РНР Base Library (PHPLIB). Предположим, что вы создаете Web-приложение, которое предназначено дггя офа-ничения доступа к определенной Web-сфанице только лицами, имеющими на это право. Эту поддержку можно написать на любом языке, но воспользовавшись PHPL1B, не понадобится тратить время на изобретение велосипеда. Библиотека PHPLIB позволяет осуществлять аутентификацию и отслеживать сеансы работы аутентифицированных пользователей. Появляется возможность назначать допуски для пользователей, что позволит выполнять такие операции, как определение админисфирую-щих пользователей, имеющих больше привилегий. Переносимость Проблема переносимости заключается в том, насколько просто профамма, написанная для работы с одним механизмом СУБД MySQL, может быть изменена для использования с другим механизмом. Это может и не интересовать разработчика приложения, но высказывание о том, что эта профамма никогда не будет использоваться ни с какой другой базой данных, кроме СУБД MySQL, может не отражать объективной реальности. Предположим, что вы поменяли работу и хотите использовать свои старые наработки, но новый начальник использует другую СУБД. Если одним из главных приоритетов является переносимость, то необходимо четко понимать различия между API. Интерфейс DBI обеспечивает максимальную переносимость потому, что при его разработке четко ставилась именно такая задача. ш Интерфейс языка РНР менее переносимый потому, что он не обеспечивает такой же унифицированный интерфейс для различных механизмов баз данных, как это делает интерфейс DBI. Вызов функции языка РНР для каждой поддерживаемой базы данных имеет тенденцию повторять аналогичную в интерфейсе нижнего уровня С API. Имеет место некоторое сглаживание различий, но, как минимум, вам пофебуется изменить названия функций, осуществляющих связь с базами данных. Возможно, понадобится немного изменить логику вашего приложения, так как не всегда интерфейсы различных баз данных работают аналогичным образом. Интерфейс С API обеспечивает самую низкую переносимость между базами данных. Изначально он был разработан непосредственно для работы с СУБД MySQL. Переносимость в форме независимости от типа баз данных имеет особенно большое значение для получения доступа к нескольким базам данных из одного приложения Это могут быть простые задачи переноса данных из одной СУБД в другую или более сложнь;е проекты, рассчитанные на создание отчета на основании данных из различных баз данных. Одновременное использование интерфейсов DBI и РНР позволяет осушествлять доступ к различным механизмам баз данных так, что пользователь может получить одновременный доступ сразу к серверам нескольких баз данных или к нескольким узлам. Однако эти интерфейсы не одинаково подходят для решения задач выборки и обработки данных из распределенных СУБД. В этом случае интерфейс DB1 будет более предпочтительным, потому что с ним используется один набор вызовов, независимо от того, какая база данных используется. Предположим, что стоит задача передачи данных между СУБД MySQL, СУБД mSQL и СУБД Postgres. В интерфейсе DBI все различие заключается в использовании вызова DBl->connect () для подключения к любому серверу. Интерфейс РНР требует написания довольно сложного сценария, включающего три запроса на чтение и три запроса на запись. Программный интерфейс MySQL С API СУБД MySQL имеет клиентскую библиотеку, созданную на языке программирования С Ее можно использовать для создания клиентских программ, работающих с базами данных СУБД MySQL Библиотека обеспечивает интерфейс, обладающий следующими возможностями. Функциями управления подключением для начала и завершения сеанса связи с сервером. ш Функциями конструирования запросов, отсылки их на сервер и обработки полученных результатов. ш Функциями диагностики состояния и ошибок для определения точной причины возникновения ошибки. В этой главе продемонстрировано использование клиентской библиотеки в процессе написания программ. Одной из преследуемых здесь целей будет полное соответствие с уже существующими программами из дистрибуции СУБД MySQL, модульность и возможность повторного использования создаваемого кода. При этом предполагается, что чита-
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |