![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Архитектура клиент-сервер, сервера БД и инструментальные средства
Архитектура клиент-сервер спроектирована, чтобы разрешить проблемы файл-серверных приложений путем разделения компонент приложения и размещение их там, где они будут функционировать более эффективно. Существует несколько возможных схем построения такой архитектуры. Особенностью архитектуры клиент-сервер является использование выделенных серверов баз данных, понимающих запросы на языке структурированных запросов SQL и выполняющих поиск, сортировку и агрегирование информации на месте без излишней перекачки данных на рабочие станции. Клиенты серверов БД получают последовательно и порциями только результаты запросов. Другая отличительная черта серверов БД - наличие справочника данных, в котором записаны структура БД, ограничения целостности данных, форматы вывода и даже серверные процедуры обработки данных по вызову или по событиям в программе. Для реализации серверов БД используются системное ПО реляционных СУБД, понимающих язык запросов SQL, например: Oracle, Informix, Sybase, MSSQLServer. Многие из этих СУБД работают на различных аппаратных платформах и в средах разных ОС. Объектами разработки в приложениях клиент-сервер, помимо диалога и логики обработки, являются, прежде всего, реляционная модель данных и связанный с ней набор SQL-операторов для типовых запросов для этой БД. Большинство конфигураций клиент-сервер используют двухзвенную модель, состоящую из сервера и клиента, который обращается к услугам сервера. Для эффективной реализации такой схемы часто используют неоднородную сеть. В классической схеме клиент-сервер значительная часть приложения располагается на клиенте, а СУБД - на сервере. Поскольку эта схема предъявляет наименьшие требования к серверу, она обладает наилучшей масштабируемостью. Однако сложные приложения, вызывающие большое взаимодействие с БД, могут жестко загрузить как клиента, так и сеть. Результаты SQL-запроса должны вернуться к клиенту для обработки, потому что там находится логика принятия решения. Такая схема возлагает дополнительное бремя администрирования приложений, разбросанных по различным клиентским узлам. Можно сократить нагрузку на клиента и сеть, переместив целиком прикладную обработку на сервер, при этом вся логика обработки, оформленная в виде триггеров и хранимых процедур, выполняется на сервере БД. Триггер является обработчиком событий изменения (обновлений, добавлений и удалений) данных. Хранимая процедура - процедура с операторами SQL для доступа к БД, вызываемая по имени с передачей требуемых параметров и выполняемая на сервере БД. Компиляция повышает скорость выполнения хранимых процедур и сокращает нагрузку на сервер. Но, перегрузив хранимые процедуры прикладной логикой, можно потерять преимущества по производительности. Хранимые процедуры улучшают целостность приложений и БД, гарантируют актуальность коллективно используемых операций и вычислений. Улучшается сопровождение таких процедур, а также безопасность (нет прямого доступа к данным). Группу инструментальных средств для создания информационных приложений с архитектурой клиент-сервер можно разделить на следующие подгруппы:
· средства поддержки распределенных информационных приложений. Среды разработки приложений для серверов БД представляют собой системы программирования четвертого поколения 4GL или инструментальные средства быстрой разработки приложений RAD (RapidApplicationDevelopment). Особенностями этой подгруппы средств являются:
В качестве примера можно назвать инструменты Informix/4GL, Oracle*Forms и др. Независимые инструментальные средства, ориентированные на многие платформы СУБД, представлены в виде средств быстрой разработки приложений RAD. Для таких средств создания приложений клиент-сервер характерны:
Известными примерами независимых инструментальных средств разработки являются: PowerBuilder, JAM, Uniface и др. Общим недостатком всех средств разработки приложений первого поколения является невозможность создания с их помощью больших и сложных приложений масштаба предприятия. Другая проблема - минимальные программные возможности: макроязыки и языки сценариев, которые хороши для решения только простых задач. Как увидим в дальнейшем, многие проблемы сняты в новых версиях инструментальных средств. Средства поддержки распределенных приложений относятся к категории промежуточного программного обеспечения middleware для организации серверов приложений. Сюда входят разнообразные библиотеки и наборы инструментальных средств: · интерфейсы доступа к базам данных ODBC и IDAPI;
· средства коммуникационного ввода-вывода BSDSockets и WinSock. Самостоятельную группу инструментальных средств составляют объектно-ориенти-рованные базы данных, которые используют для хранения объектов реляционные БД или применяют специальные хранилища объектов.
|