Фуфаев - Разработка и эксплуатация удалённых БД (1084483), страница 18
Текст из файла (страница 18)
6.6. Технологии АОО .НЕТ Технология доступа к удаленным базам данных А1)О .Ь(ЕТ была разработана также для архитектуры клиент — сервер. Однако все возрастающая сложность систем обработки информации потребовала качественного изменения этой архитектуры. Кроме двух уровней удаленных баз данных — клиентского и серверного — появляются дополнительные уровни — серверы бизнес-логики, реализующие бизнес-логику приложений (см.
рис. 1.7). Технология АВО .Ь)ЕТ устанавливает следующую схему работы клиента с сервером баз данных: * установка соединения с сервером; ° получение необходимых данных; ° закрытие соединения; ° обработка данных; База даннх Рис. 6.3. Структура технологии АРО .ХЕТ ° установка соединения для передачи измененных данных обратно на сервер. Реализация данной схемы работы клиента определяется структурой АРО ЛЕТ, показанной на рис.
6.3. Основу АРО ЛЕТ составляют два основных модуля: Провайдер данных (Рата Ргоук)ег .НЕТ Ггагпе%ог)г) и Резидентная реляционная база данных (РагаЕег). Провайдер данных, как это следует из его названия, отвечает за связь приложения с источником данных и за манипуляцию данными. Провайдер данных включает в себя следующие объекты манипулирования данными: Соппесгюп, Сопппапг), РагаАс1аргег, РагаКеабег.
Рассмотрим кратко назначение этих объектов. Солнесйол используется для установления соединения с источником данных, а также для управления транзакциями. Саттона позволяет манипулировать данными источника, а также выполнять хранимые процедуры. При этом могут использоваться параметры для передачи данных в обоих направлениях. ВагаАЫаргег служит связующим звеном между резидентной БД Рагабег и источником данных и использует обычно объект Сопипапд для выполнения команд БЯЬ как при заполнении Рагабег данными, так и при обратной передаче измененных клиентом данных к источнику. Для выполнения этих функций в нем имеются четыре метода: Яе1есгСогпгпапс), 1пзегсСопзгпапг), 1)рдагеСопппапг) и Ре1егеСогпптапд.
РагаЯеааЬ обеспечивает получение данных от источника только для считывания. Если приложение клиента не модифицирует дан- ные и не требуется произвольная выборка данных, а достаточно их однократнбго просмотра, то использование ОагаКеадег вместо ОагаЯег позволит сохранить ресурсы компьютера, а также повысить быстродействие приложения.
Резидентиая веляииониая база данных представляет собой полученную клиентом реляционную БД, которая сохраняется в его резидентной оперативной памяти. Далее клиент в автономном режиме производит обработку данных и при необходимости модифицирует их, после чего снова устанавливается соединение с сервером и модифицированная информация из резидентной базы данных передается обратно.
Такая схема взаимодействия в некоторой степени походит на работу архитектуры файл — сервер н, как показала практика, довольно часто применяется предприятиями при работе с удаленными базами данных через глобальную сеть Интернет, где поддержание постоянного соединения требует значительных материальных затрат. Для обеспечения доступа к объектам через глобальную сеть И нтернет, которые, как правило, разрабатываются в форматах НТМЬ и ХМЬ, в составе АОО .НЕТ и был предусмотрен модуль .НЕТ Егагпе%огк, обеспечивающий взаимодействие между различными форматами представления данных, в том числе НТМЬ и ХМЬ. Из указанных характеристик видно, что технология АВЭО .'о1ЕТ обеспечивает: ° возможность взаимодействия между данными различных форматов, в том числе НТМЬ и ХМЬ; ° значительное снижение затрат при работе с удаленными базами данных через глобальную сеть Интернет.
6.Т. Технологии .НЕТ Егате1вгогх Технология .ХЕТ ГгагпеЪогк, или провайдер ланных .НЕТ Ггапте%огк, как она была названа при описании АОО.НЕТ, обеспечивает согласование объектно-ориентированной среды программирования для выполнения кода программы как в рамках ЛВС предприятия, так и в среде Интернет.
На рис. 6.4 показана структура провайдера данных . ХЕТ Ргате%ог1с, которая включает в себя: среду выполнения (АКР.НЕТ); библиотеку классов; библиотеки настраиваемых объектов; управляемые приложения, в том числе веб-приложения; неуправляемые приложения. Среда выполнения. Основным свойством среды выполнения является возможность управления кодом программы, сформированной различными языками программирования, поэтому ее также называют общеязыковой средой выполнения. вляемыс иложеяия Рис.
6.4. Структура провайдера данных .1ЧЕТ ггащеЖогк Общеязыковая среда выполнения обеспечивает управление памятью ЭВМ, обеспечение безопасности кода, компиляцию кода программы, управление системными службами. Эти средства являются внутренними для управляемого кода в общеязыковой среде выполнения. Управление памятью ЗВт. Среда выполнения предназначена для повышения производительности процессов обработки информации при работе с удаленными базами данных. Повышение производительности осуществляется оптимизацией работы с памятью ЭВМ так называемым диспетчером памяти, который при необходимости увеличивает объем адресуемой памяти.
В этом случае среда выполнения освобождает память за счет удаления ссылок на объекты, которые не используются программой. Обеспечение безопасности кода программы. Для обеспечения защиты от несанкционированного доступа к базам данных управляемым компонентам приложений присваивают разные условия безопасности, т.е. задают условия, при которых управляемый компонент может или не может выполнять операции доступа к файлам, или другие функции, связанные с обработкой и управлением информацией. Например, пользователи могуг доверять исполняемой программе, внедренной в веб-страницу, воспроизведение анимации на экране или звукозаписи, не допуская при этом доступ к личным данным, файловой системе или сети.
Компиляция кода программы. Среда выполнения обеспечивает надежность выполнения кода программы, написанной различными языковыми компиляторами благодаря наличию системы унификации и типизации кода, называемой системой общих типов (СТ$). Это позволяет любому компилятору создавать управляемый код, удовлетворяющий системе общих типов, а любая откомпилированная программа будет успешно выполняться в среде .)ЧЕТ Рта гпе%ог1г.
Код программы (приложения) может быть управляемым и неуправляемым. Примером неуправляемого приложения может служить 1пгегпег Ехр!огег, а управляемого — элементы АсбуеХ. Взаимодействие управляемых и неуправляемых кодов позволяет разработчикам использовать необходимые компоненты системы СОМ и библиотеки ЫЬЬ. Управление системными службами. Среда выполнения размещается на серверных частях удаленных баз данных, таких как М(сгозой Я)Ь Бегуег или 1пгегпе1 1п(оппагюп Яегчсез (ПЯ), что обеспечивает возможность эффективного управления базами данных.
Библиотека классов. Библиотека классов.НЕТ Ргагпе%ог1г представляет собой коллекцию многократно используемых типов, которые надежно интегрируются с общеязыковой средой выполнения. Библиотека классов является объектно-ориентированной. Классы . НЕТ Ггаше%ог)г позволяют выполнять ряд следующих общих задач программирования: управление строками, сбор данных, подключение к базам данных и доступ к файлам. В дополнение к этим задачам библиотека классов включает в себя типы, позволяющие использовать .НЕТ Ргаше%ог(г для разработки текстовых приложений, графических пользовательских интерфейсов (О(Л) %1пг)овз (%1пг)ож Гогпгз), приложений АЯР .)ч'ЕТ, веб-служб ХМЬ и служб %1пг)ож, Например, классы %1пг)о~из Еогшз представляют собой набор многократно используемых типов, существенно упрощающих разработку графических интерфейсов пользователя %1пг)ов з.
Разработка управляемых и неуправляемых приложений. Среда выполнения .)ч'ЕТ Ргаше%огк позволяет эффективно разрабатывать клиентские и серверные приложения управления удаленными базами данных. Клиентские приложения по стилю ближе всего к обычным приложениям в программировании для %1пдоягз. Такие приложения открывают на рабочем столе окна или формы пользовательского интерфейса, например при работе с базами данных. В число клиентских входят также стандартные приложения М(сгозой Ой(се (текстовые редакторы, электронные таблицы и др.).
92 | Среда АЗР .ЫЕТ (размещает приложения Ь- у 0 — ХМЕ) Клиент Среда АЯР .ЫЕТ (размещает Интер ~ет- прилгакения — УУеь Раппа) Уг! пдогтз Яегуег 2003, Епгегрпзе ЫШоп (размегдает среду выполнения и управляемый код) Рнс. 6.5. Базовая схема сети с управляемым кодом 93 Клиентскими приложениями являются элементы Асг(уеХ и элементы управляемых %1пг(озуа Гоппа, развертываемых через Интернет как веб-страницы. Такие приложения можно разрабатывать с помон(ью универсальных языков программирования, однако система .НЕТ Ега(пе%ог)г объединяет возможности языковых средств в единую согласованную среду, существенно упрощающую разработку клиентских приложений. Одним из достоинств системы .НЕТ Ргап(е%огк является разработка серверных приложений для работы с базами данных, находящимися в глобальной сети Интернет.
На рис. 6.5 показана базовая схема сети с управляемым кодом, который выполняется в среде разных серверов. Например, на Интернет-серверах %еЬ Гоппз и ХМ1. выполняются стандартные операции по работе с объектами базы данных, тогда как бизнес- логика приложения реализуется через управляемый код на сервере бизнес-логики %1пдоууа $егзгег 2003. Таким образом, завершая ознакомление с технологией .Ь(ЕТ Егапте%огк, еще раз обратим внимание на то, что ее провайдер данных является промежуточным уровнем между клиентской н серверной частями систем управления удаленными базами данных. В зависимости от типов серверов управления базами данных разработаны соответствующие версии .НЕТ Ргатпе%ог1с. В табл. 6.1 приведены некоторые особенности провайдеров данных ЛЧЕТ Егагпе%огк, используемые в разных серверных программах.