КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Использование специализированных библиотек и встраиваемого SQL
№16 «Применение программных средств создания клиентских программ» Приложения, функционирующие на стороне клиента, могут создаваться для каждого уровня трехуровневой модели MAPI Разработка на уровне поставщиков услуг позволяет обеспечить унифицированный доступ клиентских приложений к дополнительным ресурсам, таким как адресные книги, хранящиеся, например, в базах данных; агентам передачи сообщений, позволяющим принимать и отправлять сообщения в почтовые системы, отличные от Exchange Server, например, систему РЕМАРТ, и хранилищам, позволяющим использовать для хранения и извлечения почтовых сообщений расширенные форматы файлов данных и специализированные системы хранения информации. При разработке приложений такого уровня должны применяться Win32 Software Development Kit (SDK) и компиляторы C/C++. В частности, все необходимые компоненты входят в состав пакета разработки Visual C/C++ 4.x Professional. При использовании компиляторов других производителей необходимо приобретение Win32 SDK. Разработка под Windows 3.1x требует наличия соответствующего компилятора и 16-битной версии MAPI SDK. При создании приложений на уровне программных интерфейсов выбор средств разработки зависит от требуемого уровня функциональности приложения. Наличие высокоуровневых интерфейсов OLE Messaging и OLE Scheduling позволяет использовать при создании приложений, способных использовать услуги электронной почты, как офисные пакеты, такие как Excel, Word, Access, так и средства разработки, поддерживающие стандарт OLE, например Visual Basic, Delphi или Visual J++. Набор вызовов Simple MAPI может быть использован при создании прикладных программ, которым достаточно минимального набора функций электронной почты, на любых языках программирования, поддерживающих подключение динамических библиотек (DLL) или включение статических библиотек на этапе сборки (linking) исполняемого кода. В качестве примера таких средств разработки можно привести Visual Basic, Power Builder, Delphi, компиляторы C/C++ и FORTRAN различных производителей. Интерфейс Common Messaging Calls (CMC) может применяться при разработке программ, которые будут переноситься на отличные от Windows платформы. По функциональности CMC соответствует уровню Simple MAPI и требует использования таких же систем разработки приложений. Для написания прикладных программ, использующих все функциональные возможности MAPI, такие как асинхронная обработка событий, манипулирование почтовыми профилями, работа с электронными досками объявлений, поиск в каталоге, маршрутизация, расширенные свойства сообщений и т.д., должны применяться компиляторы C/C++ и Win32 SDK для платформ Windows 95 и NT или 16-битная версия MAPI SDK для Windows 3.1x. Хотя отдельные фрагменты полного набора интерфейсов могут вызываться и из приложений на Visual Basic или Delphi. Разработка прикладных программ, расширяющих базовую функциональность, может выполняться с применением следующих средств:
Примеры программ, функционирующих на клиенте, включая их исходные тексты, могут быть получены из следующих источников:
Для создания расширений сервера и дополнительных шлюзов должен использоваться комплект разработчика BackOffice SDK, Win32 SDK и компиляторы C/C++, позволяющие создавать приложения для Windows NT. Дополнительно, может потребоваться комплект разработчика драйверов Windows NT, если программа расширения или шлюз должны обращаться к нестандартному оборудованию для приема или передачи данных. В качестве примеров использования средств разработки сервера, могут служить следующие программы, входящие в состав Exchange Server 5.0 Resource Kit или BackOffice SDK:
Особое положение среди средств разработки занимают активные серверные страницы (Active Server Pages или ASP). Они предназначены для организации доступа к серверу Exchange, клиентов, располагающих только броузером. ASP представляют собой набор интерпретируемых сервером IIS 3.0 сценариев, содержащих разметку HTML и программный код на языках VBScript и Javascript, который по желанию разработчика, может исполняться либо на сервере, либо на клиенте. Это позволяет в одном ASP-файле сочетать серверную и клиентскую логику. Та часть кода, которая исполняется на сервере, может использовать "родные" интерфейсы для общения с сервером Exchange и реализации как базовых, так и расширенных функций MAPI. При этом общение клиентской и серверной частей ASP-приложения происходит исключительно средствами протокола HTTP. За поддержание сессии между клиентской и серверной частями отвечает Internet Information Server. Поскольку ASP-файлы имеют текстовый формат, они легко могут быть модифицированы для придания клиентской и серверной частям необходимой функциональности. Для разработчиков, планирующих использовать активные серверные страницы, будут полезны следующие источники информации:
Каждая СУБД помимо интерактивной SQL-утилиты обязательно имеет библиотеку доступа и набор драйверов для различных операционных систем. Схема взаимодействия клиентского приложения с сервером базы данных в этом случае выглядит так:
Библиотека доступа - это, как правило, объектный файл, исходный код которого создан на универсальном языке типа C. Эта библиотека содержит набор функций, позволяющих пользовательскому приложению соединятся с базой данных, передавать запросы серверу и получать ответные данные. Типичный набор функций такой библиотеки (имена функций зависят от используемой библиотеки):
Разумеется это минимальный набор функций для работы с базой данных. Обычно в библиотеке присутствуют также функции, позволяющие определить характеристики структуры result (число, порядок и имена столбцов, число строк, номер текущей строки), передвигаться по этой структуре не только вперед, но и назад (DB_next, DB_prev) и т.д. На сервере происходит обратный процесс преобразования: сетевые пакеты -> функции библиотеки -> SQL-запросы, запросы обрабатываются, их результаты передаются клиенту. Как видим, такой способ создания приложений чрезвычайно гибок, позволяет реализовать практически любое приложение, но в то же время имеет явные недостатки:
В результате получаем приложение, которое привязано как к сетевой среде, так и к программно-аппаратной платформе и используемой базе данных. Некоторой модификацией данного способа является использование "встроенного" языка SQL. В этом случае в текст программы на языке третьего поколения включаются не вызовы библиотек, а непосредственно предложения SQL, которые предваряются ключевым выражением "EXEC SQL". Перед компиляцией в машинный код такая программа обрабатывается препроцессором, который транслирует смесь операторов "собственного" языка СУБД и операторов SQL в "чистый" исходный код. Затем коды SQL замещаются вызовами соответствующих процедур из библиотек исполняемых модулей, служащих для поддержки конкретного варианта СУБД. Такой подход позволил несколько снизить степень привязанности к СУБД, например, при переключении прикладной программы на работу с другим сервером базы данных достаточно было заново обработать ее исходный текст новым препроцессором и перекомпилировать.
Дата добавления: 2013-12-12; Просмотров: 492; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |