Введение
Многозвенная архитектура приложений баз данных вызвана к жизни необходимостью обрабатывать на стороне сервера запросы от большого числа удаленных клиентов. Казалось бы, с этой задачей вполне могут справиться и приложения клиент/сервер, основные элементы которых представлены в части III.
Однако в этом случае при большом числе клиентов вся вычислительная нагрузка ложится на сервер БД, который обладает довольно скудным набором средств для реализации сложной бизнес-логики (хранимые процедуры, триггеры, просмотры и т. д.). И разработчики вынуждены существенно усложнять программный код клиентского ПО, а это крайне нежелательно при наличии большого Числа удаленных клиентских компьютеров. Ведь с усложнением клиентского ПО возрастает вероятность ошибок и усложняется его обслуживание.
Многозвенная архитектура приложений БД призвана исправить перечисленные недостатки.
Итак, в рамках этой архитектуры \"тонкие\" клиенты представляют собой простейшие приложения, обеспечивающие лишь передачу данных, их локальное кэширование, представление средствами пользовательского интерфейса, редактирование и простейшую обработку.
Клиентские приложения обращаются не к серверу БД напрямую, а к специализированному ПО промежуточного слоя. Это может быть и одно звено (простейшая трехзвенная модель) и более сложная структура.
ПО промежуточного слоя называется сервером приложений, принимает запросы клиентов, обрабатывает их в соответствии с запрограммированными правилами бизнес-логики, при необходимости преобразует в форму, удобную для сервера БД и отправляет серверу.
Сервер БД выполняет полученные запросы и отправляет результаты серверу приложений, который адресует данные клиентам.
Таким образом, многозвенное приложение БД состоит из:
\"тонких\" клиентских приложений, обеспечивающих лишь передачу, представление, редактирование и простейшую обработку данных;
одного или нескольких звеньев ПО промежуточного слоя (сервер приложений), которые могут функционировать как на одном компьютере, так и распределенно — в локальной сети;
сервера БД (Oralce, Sybase, MS SQL, InterBase и т. д.), поддерживающего функционирование базы данных и обрабатывающего запросы.
Более простая трехзвенная модель содержит следующие элементы:
- \"тонкие\" клиенты;
- сервер приложений;
- сервер БД.
Далее мы будем рассматривать именно трехзвенную модель. В среде разработки Delphi имеется набор инструментов и компонентов для создания клиентского ПО и ПО промежуточного слоя. Сервер приложений взаимодействует с сервером БД, используя одну из технологий доступа к данным, реализованным в Delphi. Это технологии ADO, BDE, InterBase Express и dbExpress. Разработчик может выбрать наиболее подходящую, исходя из поставленной задачи и параметров сервера БД.
Удаленные клиентские приложения создаются с использованием специального набора компонентов, объединенных общим названием DataSnap. Эти компоненты инкапсулируют стандартные транспорты (DCOM, HTTP, сокеты) и обеспечивают соединение удаленного клиентского приложения с сервером приложения. Также компоненты DataSnap обеспечивают доступ клиента к функциям сервера приложений за счет использования интерфейса AppServer.
Важную роль при разработке клиентских приложений играет компонент, инкапсулирующий клиентский набор данных. Его реализации также зависят от технологий доступа к данным.
Наряду с перечисленными выше преимуществами, наличие дополнительного звена — сервера приложений — дает некоторые дополнительные бонусы, которые могут быть весьма существенным подспорьем с точки зрения повышения надежности и эффективности системы.
Так как зачастую клиентские компьютеры — это достаточно слабые машины, реализация сложной бизнес-логики на сторону сервера позволяет существенно повысить быстродействие системы в целом. И не только за счет более мощной техники, но и за счет оптимизации выполнения однородных запросов пользователей.
Например, при чрезмерной загрузке сервера, сервер приложений может самостоятельно обрабатывать запросы пользователей (ставить их в очередь или отменять) без дополнительной загрузки сервера БД.
Наличие сервера приложений повышает безопасность системы, т. к. вы можете организовать здесь авторизацию пользователей, да и любые другие функции безопасности без прямого доступа к данным.
Кроме того, вы легко сможете использовать защищенные каналы передачи данных, например HTTPS.
Введение 1. Расчетная часть 2.1. Формирование базы данных. 2.1.1. Выбор Базы данных. 2.1.2. Проектировка структуры базы данных. 2.1.3. Реализация базы данных. 2.2. Разработка основного модуля. 2.2.1. Разработка интерфейса основного модуля. 2.2.2. Разработка алгоритмов основного модуля. 2.2.3. Разработка программного кода основного модуля. 2.3. Разработка блока определения статуса основного модуля. 2.3.1. Разработка интерфейса блока определения статуса. 2.3.2. Разработка алгоритмов блока определения статуса. 2.3.3. Разработка программного кода блока определения статуса. 2.4. Разработка клиентского модуля. 2.4.1. Разработка интерфейса клиентского модуля. 2.4.2. Разработка алгоритмов клиентского модуля. 2.4.3. Разработка программного кода клиентского модуля 2. Экономическая часть 3. Безопасность жизнедеятельности и экология Заключение
1. Архангельский А. Я. Программирование в Delphi 7. – М.: ООО «Бином-Пресс», 2003г. – 1152с.: ил.
2. Безопасность жизнидеятельности: Учебное пособие. Часть II/Под. ред. проф. Э. А. Арустамова. – М.: Информационно внедренческий центр «Мар
3. Василенко О. Н Теоретико-числовые алгоритмы в криптографии. - М.: МЦНМО. 2003. – 328с.
4. Карацуба А.А., Офман Ю.П. Умножение многозначных чисел на автоматах // ДАН СССР. 1961. Т. 145 (2). С. 293—294.
5. Кнут Д. Искусство программирования. Т. 2. Получисленные алгоритмы. Вильямс: М.—СПб.—Киев, 2000. 3-е издание.
6. Тартаковский Д. Ф., Ястребов А. С. Метрология, стандартизация и технические средства измерений: Учеб. Для вузов. – М.: высш. шк., 2001. – 205с.: ил.
7. Тоом А.Л. О сложности схемы из функциональных элементов, реализующей умножение целых чисел. - ДАН СССР. 1963. Т. 150 (3). С. 496—498.
8. Фаронов В. В. Программирование баз данных в Delphi 7. Учебный курс. – СПб.: Питер, 2004. – 459с.: ил.