Транзакции. Пример оформления отчета по РГЗ. "Проектирование системы распределенной обработки данных"
Скачать 2.46 Mb.
|
1 Теоретические основы1.1 Основные понятия распределенной системы обработки данныхОсновными компонентами распределенной системы обработки данных являются сервер базы данных, база данных, клиентское приложение и пользователи. В качестве сервера базы данных используется СУБД, например Microsoft SQL Server, средствами которой разрабатывается база данных. База данных содержит информацию по заданной предметной области и размещается на сервере вычислительной сети. Клиентское приложение позволяет соединиться с базой данных через вычислительную сеть для работы с данными базы данных. В частности с помощью интерфейса программного средства возможно добавление, удаление и редактирование информации. Клиентское приложение разрабатывается на языке высокого уровня с помощью инструментальной среды, например MS Visual Studio. Пользователями системы могут являться: администратор базы данных, программист и оператор: - администратор базы данных имеет права на просмотр, редактирование, удаление и добавление всех данных из таблиц базы данных; - программист осуществляет установку, настройку клиентского приложения в многопользовательском режиме; - оператор может просматривать, добавлять и редактировать данные о кредитах, а также выполнять запросы на выборку информации. 1.2 Архитектура “клиент-сервер”. Особенности работы протокола TCP/IPАрхитектура “клиент-сервер” связана с появлением в 1990-х гг. открытых систем. Термин “клиент-сервер” применялся к архитектуре программного обеспечения, которое состояло из двух процессов обработки информации: клиентской и серверной. Клиентский процесс запрашивал некоторые услуги, а серверный процесс обеспечивал их выполнение. При этом предполагалось, что один серверный процесс может обслужить множество клиентских процессов. Учитывая, что аппаратная реализация этой модели управления базами данных связана с созданием локальных вычислительных сетей предприятия, такую организацию процесса обработки информации называют архитектурой “клиент – сервер” [1]. Стек протоколов TCP/IP работает на основе архитектуры “клиент-сервер” и основан на модели сетевого взаимодействия ISO/OSI. Данный стек включает в себя протоколы четырёх уровней: прикладного, транспортного, сетевого, канального. П рикладной уровень (application). Эти программы имеют свои собственные протоколы обмена информацией, например, HTTP для WWW, FTP (передача файлов), SMTP (электронная почта), SSH (безопасное соединение с удалённой машиной), DNS (преобразование символьных имён в IP-адреса) и многие другие. Транспортный уровень (transport). Протоколы транспортного уровня могут решать проблему негарантированной доставки сообщений, а также гарантировать правильную последовательность прихода данных. В стеке TCP/IP транспортные протоколы определяют, для какого именно приложения предназначены эти данные [2]. Сетевой уровень (network). Сетевой уровень изначально разработан для передачи данных из одной сети в другую. Примером протокола сетевого уровня является протокол IP. С развитием концепции глобальной сети в уровень были внесены дополнительные возможности по передаче из любой сети в любую сеть, независимо от протоколов нижнего уровня, а также возможность запрашивать данные от удалённой стороны, например в протоколе ICMP (используется для передачи диагностической информации IP-соединения) и IGMP (используется для управления multicast-потоками). Канальный уровень (datalink). Канальный уровень описывает, каким образом передаются пакеты данных через физический уровень, включая кодирование (то есть специальные последовательности бит, определяющих начало и конец пакета данных). Ethernet, например, в полях заголовка пакета содержит указание того, какой машине или машинам в сети предназначен этот пакет [3]. 1.3 Возможности межсетевого взаимодействия сетевых компонентов распределённой системы обработки данных на основе архитектуры “клиент-сервер”В модели “клиент-сервер” бизнес-логика разделена между клиентом и сервером. На сервере бизнес-логика реализована в виде хранимых процедур – специальных программных модулей, которые хранятся в базе данных и управляются непосредственно СУБД. Клиентское приложение обращается к серверу с командой запуска хранимой процедуры, а сервер выполняет эту процедуру и регистрирует все изменения в базе данных, которые в ней предусмотрены. Сервер возвращает клиенту данные выполненного запроса, которые требуются клиенту либо для вывода на экран, либо для выполнения части бизнес-логики. При этом трафик обмена информацией между клиентом и сервером резко уменьшается. Централизованный контроль в модели сервера баз данных выполняется с использованием механизма триггеров. Триггеры также являются частью базы данных [4]. В заимодействие между компонентами распределенной системы обработки данных осуществляется посредством взаимодействия клиентской и серверной части разработанного программного средства. В архитектуре “клиент-сервер” обычно выделяют четыре уровня: уровни приложения, программное обеспечение промежуточного слоя, а также транспортный/коммуникационный и сетевой. Сетевой уровень можно рассматривать как уровень физической передачи данных: здесь выполняются все операции по пересылке данных между клиентом и сервером. Транспортный/коммуникационный уровень обеспечивает надежную передачу информации между разнородными машинами и прозрачные коммуникации между ними. Для этого используются различные стандартные протоколы (например, TCP/IP, SPX/IPX). Уровень программного обеспечения промежуточного слоя служит для поддержки таких средств операционной системы, как передача данных, служба каталогов и защита. Коммуникации являются основой для взаимодействия процессов. Коммуникации между процессами обычно реализуются через удаленные вызовы процедур. На уровне приложения осуществляются доступ к файлам, базам данных и обработка транзакций. Обмен данными между сервером и клиентом происходит посредством ADO.NET универсальной среды передачи данных. Посредством ADO.NET генерируются транзакты на выборку и запрос данных при использовании классической модели “клиент-сервер”. Клиент подает запрос, генерируется транзакт, который поступает на сервер. Сервер обрабатывает его и выдает положительный результат (если данные существуют и они доступны в данный момент), либо отрицательный (если данные редактируются другим пользователем) [4]. Доступ к базе данных из приложения осуществляется путем подключения к базе данных на сервере и генерации запросов к базе. Все управление запросами и выборкой осуществляется кнопками на форме. Данные из базы выводятся в виде таблиц на форме. Главной особенностью разработки сетевого приложения с общей базой данных является обработка исключительных ситуаций обращения к полям базы. К таким ситуациям относятся: Запрос на просмотр данных пользователем во время того, как администратор меняет эти данные. Запрос на одновременное редактирование одного и того же поля в базе данных. Запрос на чтение из базы информации, которая была только что удалена из базы. Обработка таких исключительных ситуаций реализуется в клиентской части приложения путем проверки значений из базы и требуемых значений. В случае, если они не совпадают, генерируется исключение и пользователю сообщается об ошибке. 2 Разработка распределенной системы обработки данных |