|
Программирование >> Программный интерфейс приложений
Интерфейсы API для СУБД MySQL Для облегчения разработки программных приложений СУБД MySQL имеет библиотеку, написанную на языке программирования С, позволяющую производить доступ к базам данных из любой программы, написанной на языке С. Клиентская библиотека предоставляет программный интерфейс для приложений (application programming interface - API), который обеспечивает соединение и обмен данными между клиентом и сервером. Однако разработчик в качестве средства разработки программного обеспечения не ограничен одним только языком С. Многие языковые процессоры или сами написаны на языке С или имеют возможность подключения библиотек С. Таким образом клиентская библиотека СУБД MySQL предоставляет вышеупомянутое соединение и для таких языков. Это дает большое поле деятельности для написания приложений, способных работать с сервером MySQL. Существуют клиентские API для таких языков, как Perl, РНР, Java, Python, C+-I-, Tel и др. Время от времени создаются новые API, поэтому действительный на данный момент перечень интерфейсов можно найти на страницах справочного руководства по СУБД MySQL или на Web-узле MySQL. Подключение каждого языка характеризуется своим собственным интерфейсом, определяющим правила доступа к базам данных СУБД MySQL. Объем данного издания не позволяет детально рассмотреть все имеющиеся интерфейсы, таким образом мы остановимся на трех из них, которые являются самыми популярными. Библиотека для клиента С. Это самый первый и основной интерфейс СУБД MySQL. DBI (Database Interface - интерфейс базы данных) API для универсального языка написания сценариев Perl. DBI реализован как модуль Perl, который осуществляет интерфейс с другими модулями на уровне DBD (драйвера баз данных), каждый из которых обеспечивает доступ к специфическому механизму базы данных. (Остановимся, в частности, на модуле DBD, который обеспечивает поддержку доступа к СУБД MySQL.) Наиболее традиционным использованием DBI с СУБД MySQL является создание автономных клиентов, активизируемых командной строкой, и для сценариев, которые запускаются Web-сервером для того, чтобы обеспечить доступ к СУБД MySQL из Web. РНР API. РНР представляет собой язык написания сценариев, который является удобным способом включения программ в тело Web-страницы. Такая страница обрабатывается РНР до отсьшки клиенту, что позволяет этим сценариям создавать динамические Web-страницы, включающие результат SQL-запроса к базе данных, в страницу. Термин РНР изначально означает Personal Home Page (Персональная домашняя страница), но функционально РНР уже давно перерос свое первоначально назначение. Web-узел типа РНР сейчас можно назвать РНР: гипертекстовый препроцессор , который ссылается сам на себя, как это делает GNU. f- Построение новых программ на основе уже созданных I Совсем не обязательно создавать свою собственную программу, если f стандартная программа-клиент СУБД MySQL уже не удовлетворяет вашим !задачам. Многие пишут программы, которые уже существуют и доСтупны совершенно бесплатно. Некоторые примеры таких утилит можно найти в приложении И, Утилиты независимых разработчиков . Каждый из этих API детально описан в соответствующих главах. Настоящая глава дает сравнительный обзор этих интерфейсов, описывая их общие характеристики, чтобы дать общее представление о них. Конечно, совсем необязательно замыкаться на каком-то одном API. Изучив плюсы и минусы каждого API, мы вооружаем себя знанием, которое позволит делать осознанный выбор. Более того, при разработке большого проекта, содержащего несколько компонентов, можно воспользоваться несколькими API и создавать разные части своего проекта на различных языках программирования в зависимости от того, какой подходит больше всего на данном этапе. Если у разработчика есть время, с точки зрения приобретения опыта, может оказаться полезным реализовать приложение несколькими способами одновременно. Таким образом можно приобрести бесценный опыт работы с различными API. В приложении А, Получение и инсталляция профаммного обеспечения , вы узнаете, где можно получить профаммное обеспечение, необходимое для проверки на практике любого API. Интерфейс API для языка С Интерфейс API для языка С используется в контексте компилированных С-профамм. Это клиентская библиотека обеспечивает интерфейс самого низкого из имеющихся уровней обмена данных с сервером СУБД MySQL, предоставляющий все возможности для соединения и обмена данными с сервером. Предшественники DBI и РНР Предшественником интерфейса DBI для языка Perl является модуль интерфейса между СУБД MySQL и языком Perl, Mysql.pm. Этот модуль больше не поддерживается, и в новых разработках на базе СУБД MySQL им пользоваться не следует. По одной простой причине: Mysql.pm рассчитан на работу с Mysql, а DBI - нет. Если разработчик решает использовать Perl-приложения, созданные для СУБД MySQL, в работе с другими СУБД, значительно проще перенести сценарии DBI, чем сценарии Mysqiperl, потому что они менее зависимы от конкретного механизма базы данных. DBI можно пользоваться даже в том случае, если у разработчика в распоряжении имеется сценарий Perl, разработанный для доступа к базам данных СУБД MySQL, и оказывается, что он разработан для Mysql .pm, а не для DBI DBI может быть настроен таким образом, чтобы включать поддержку эмуляции Mysql. pm Поэтому нет необходимости устанавливать оба пакета Предшественником РНР является PHP/FI 2 О (FI происходит от термина интерпретатор форм ) Как и Mysql.pm, интерфейс PHP/FI уже является достоянием прошлого и я не хочу возвращаться больше к его обсуждению Происхождение интерфейса С API СУБД Mysql Если у вас имеется опыт написания профэмм для СУБД mSQL, вы обязательно обратите внимание, что интерфейс API С для СУБД MySQL во многом аналогичен интерфейсу API С для СУБД mSQL Разработчики приложения для СУБД MySQL могут воспользоваться массой бесплатных утилит для СУБД mSQL, имеющихся в наличии Для того чтобы перенести эти утилиты с минимальными затратами, интерфейс API для СУБД MySQL был преднамеренно разработан подобным интерфейсу API С для СУБД mSQL (СУБД MySQL даже поставляется со сценарием msql2mysql, который производит простейшие текстовые преобразования имен функций интерфейса API mSQL в соответствующие имена функций интерфейса API MySQL Эта операция относительно тривиальная, но очень помогает в процессе преобразования профэмм, созданных для работы с СУБД mSQL, для продления их жизни на платформе СУБД MySQL) Все программы С, поставляемые в дистрибуции СУБД MySQL, основаны на этом интерфейсе. Клиентская библиотека для языка С служит основой для подключения СУБД MySQL к другим языкам профаммиро-вания, за исключением интерфейса для языка Java. Например, драйвер СУБД MySQL для модуля Perl DBI и РНР-кода знает о подключении к СУБД MySQL, если к коду подключена клиентская С-библиотека для СУБД MySQL. (Этот процесс показан в инсфукциях по инсталляции DBI и Perl в приложении А, Получение и инсталляция профаммного обеспечения .) Интерфейс Perl DBI API Интерфейс DBI API используется в контексте приложений, написанных на языке написания сценариев Perl Этот интерфейс является наиболее универсальным интерфейсом изо всех фех, рассмафиваемых нами. Это произошло потому, что он может работать со многими базами данных и в то же время скрывает столько деталей, характерных для конкретных баз данных, сколько это возможно для инсфумента написания сценариев. DBI реализован с помошью модулей Perl, в которых используется двухуровневая архитектура (рис. 5 1). Уровень DBI (интерфейса баз данных). Обеспечивает интерфейс для сценариев клиента. Этот уровень абстрагирован от конкретного механизма базы данных.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |