Менеджер доступа к данным


Data Access Manager (DAM) — API доступа к базе данных для классической Mac OS , представленный в 1991 году как расширение System 7 . Подобно концепции ODBC , DAM мало использовался, и в конце 1990-х от него отказались. Только несколько продуктов когда-либо использовали его, хотя в начале 1990-х он использовался для некоторых чрезвычайно впечатляющих демонстрационных программ. Более современные версии классической Mac OS и macOS вместо этого используют ODBC для этой роли.

DAM и ODBC во многом похожи. Основная цель обеих систем заключалась в том, чтобы отправить «строки запроса» поставщику данных, который мог бы ответить (потенциально) «результирующим набором», состоящим из строк данных. Ожидалось, что обе системы будут преобразовывать данные в и из соответствующих форматов системы, например, целые числа и строки. Кроме того, оба предоставляли коммуникационную подсистему, которая скрывала детали отправки запросов и данных между клиентом и сервером.

Как и большинство программного обеспечения Apple, DAM пытался максимально упростить процесс запросов для пользователей, как пользователей приложений, так и программистов, пишущих эти приложения. Одной из особенно примечательных особенностей была концепция «запроса документов». Документы запросов содержали любое количество предопределенных запросов (или других серверных команд), а также необязательный код для их изменения перед отправкой на сервер. Например, типичный документ запроса может содержать строку запроса, которая будет входить на сервер базы данных, и в случае успеха искать текущую дату на локальном клиентском компьютере с помощью вызова Mac OS, а затем использовать эту дату в запросе. который возвращает запасы на складе на заданную дату. Документы запроса могут также включать компьютерный код и ресурсы, необходимые для поддержки этого процесса, например,

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

DAM также включает еще два прямых API: интерфейс высокого уровня и интерфейс низкого уровня. Высокий уровень был очень похож на использование документов запросов, хотя ожидалось, что приложение будет создавать запросы в коде, а не в ресурсах. Интерфейс высокого уровня во многом похож на общедоступный интерфейс ODBC. Низкий уровень позволял программисту вмешиваться в любой момент процесса запроса, например, извлекать данные построчно.

Одно существенное различие между DAM и ODBC возникло во многом случайно. До разработки DAM Apple приобрела промежуточный программный продукт базы данных, который они продавали как язык доступа к данным или DAL. DAL был по сути стандартизированным SQL с трансляторами для различных баз данных, которые работали на стороне сервера. Стандарты для SQL в то время были чрезвычайно простыми и относительно плохо поддерживались, DAL решил эту проблему, имея единый язык и конвертируя его в другие системы и из них. Клиентское программное обеспечение, включая DAM, могло отправлять запросы на стандартном языке DAL, которые затем переводились и выполнялись независимо от серверной базы данных.