
- •Инфокоммуникационные системы и сети
- •Технология разработки и защиты бд
- •Информация и данные предметных областей.
- •Организация систем бд. Средства поддержки бд.
- •Свойства реляционных таблиц. Назначение первичных и вторичных ключей реляционных таблиц.
- •Функциональные и многозначные зависимости. Операторы реляционной алгебры.
- •Нормальные формы
- •Поддержка целостности данных
- •Функции и состав универсальной субд.
- •Лингвистическое обеспечение субд.
- •Независимость прикладных программ от данных.
- •Селекция данных. Обработка данных.
- •Общая характеристика субд ms Access.
- •Основные этапы разработки базы данных в среде ms Access.
- •Создание таблиц и схем данных в среде ms Access.
- •Создание схемы данных в среде ms Access.
- •Разработка запросов к базе данных в среде ms Access.
- •Конструирование экранных форм для работы с данными в среде ms Access.
- •Конструирование отчетов в среде ms Access.
- •Построение инфологической модели базы данных.
- •Построение семантических сетей базы данных.
- •Построение сетевой модели базы данных.
- •Построение иерархической модели базы данных.
- •Технология odbc.
- •Доступ из ms Access к источникам данных в формате других программных приложений.
- •Технологические решения по организации доступа к данным.
- •Организация многопользовательского доступа к данным.
- •Особенности и понятие автоматизированных информационных системах.
- •Проблема многопользовательского доступа в втоматизированных информационных системах.
- •Основные направления развития технологии клиент-сервер.
- •Организация защиты данных в субд ms Access
- •Реализация клиент-сервер.
- •Реализация файл-сервер.
- •Репликация данных
- •Структура и принципы работы экспертной системы.
- •Структура и принципы работы системы поддержки принятия решений
- •Представление знаний в системах искусственного интеллекта
- •Методы статистической обработки данных
- •Средства и методы защиты информации в информационных системах
Реализация клиент-сервер.
Основные правила архитектуры клиент-сервер. Модели распределений. Модели архитектуры клиент-сервер: RDA-модель, DBS-модель, AS-модель. Преимущества и недостатки. Технологии COM\DCOM, CORBA, MIDAS, EJB
Архитектура системы — представление о совокупности функциональных компонентов системы и их взаимосвязях.
Практически все модели организации взаимодействия пользователя с базой данных, построены на основе архитектуры клиент-сервер.
Наиболее популярна в настоящее время архитектура клиент-сервер, когда множество машин-клиентов осуществляют доступ к одному серверу баз данных. В таких системах, которые можно определить как системы типа много-клиентов/один-сервер, проблемы управления базой данных решаются относительно просто, поскольку вся она хранится на одном сервере.
Более распределенной и более гибкой является архитектура типа много-кпиентов/много-серверов, когда база данных размещена на нескольких серверах, которым, для того чтобы вычислить результат пользовательского запроса или выполнить транзакцию, необходимо взаимодействовать друг с другом.
В истинно распределенной СУБД клиентские и серверные машины не различаются. В идеале каждый узел может выступать и как клиент, и как сервер. Такие архитектуры, тип которых определяют как равный-к-равному (peer-to-peer), требуют сложных протоколов управления данными, распределенными по нескольким узлам.
Архитектура клиент-сервер основана на распределении функций между двумя типами независимых и автономных процессов: серверами и клиентами. Сеть связывает воедино серверы и клиенты, предоставляя средства связи.
Если вся обработка данных происходит на стороне сервера, а клиент выполняет только функции интерфейса с пользователем, то клиентское приложение называют «тонким» клиентом. Если часть обработки данных происходит на стороне клиента — то «толстым» клиентом.
Архитектура клиент-сервер включает в себя три основных компонента:
1. Клиенты. Клиент представляет собой любой процесс компьютера, который запрашивает сервис от сервера. Клиент также называется интерфейсным приложением. Клиентский процесс, базируется на графическом интерфейсе пользователя.
2. Серверы. Сервер — это компьютерный процесс, предоставляющий сервис клиентам. Сервер также называют серверным приложением. Серверный процесс характеризуется независимостью от местоположения, оптимизацией использования ресурсов, масштабируемостью и способностью к взаимодействию с другими системами.
3. Коммуникационное промежуточное программное обеспечение передачи данных (ППО). Представляет собой любой компьютерный процесс, посредством которого клиенты и серверы взаимодействуют друг с другом. Это ПО называют еще уровнем коммуникаций. ППО обычно привязано к сети. Все клиентские запросы и ответы сервера передаются по сети в форме сообщений, в которых содержатся управляющая информация и данные.
Клиентский процесс, базирующийся на графическом интерфейсе пользователя, запрашивает сервисы у серверного приложения. Клиентский процесс и серверный процесс взаимодействуют при помощи промежуточного программного обеспечения (ППО).
Клиентский процесс посылает SQL-запрос через коммуникационное ППО. Коммуникационное ППО направляет SQL-запрос процессу сервера БД. Процесс сервера БД получает запрос, проверяет его и выполняет.
ППО гарантирует, что сообщения между клиентами и серверами будут правильно маршрутизоваться и доставляться по нужному адресу.
Правила архитектуры клиент-сервер
Для корректного взаимодействия компонентов клиент-серверной архитектуры между собой требуется их соответствие некоторым основным правилам. Эти правила должны в равной степени выполнять и клиенты, и серверы, и ППО.
Основные правила архитектуры клиент-сервер:
■ независимость от оборудования. Требует, чтобы процессы клиента, сервера и ППО могли выполняться на различных аппаратных платформах (IBM, DEC, Apple и др.) без какого-либо изменения функциональных возможностей;
* независимость от программного обеспечения:
> операционной системы,
> сетевой системы,
> приложений
Требует, чтобы процессы клиента, сервера и ППО поддерживали несколько операционных системи (Windows, OS/2, Linux, Unix), различные сетевые протоколы (TCP/IP, IPX) и различные приложения (таблицы, базы данных, электронную почту и т.д.).
■ открытый доступ к сервисам. Все клиенты в системе должны иметь неограниченный доступ ко всем сервисам, предоставляемым внутри сети. И эти сервисы не должны зависеть от расположения клиента или сервера;
■ распределение процессов:
> автономность процессов,
> максимальное использование локальных ресурсов,
> масштабируемость и гибкость,
> способность к взаимодействию и интегрируемость
Обработка информации распределяется между клиентами и серверами. Распределение нагрузки по обработке данных должно соответствовать следующим правилам.
1. Процессы клиента и сервера должны быть автономными с четко определенными границами и функциями. Это способствует усилению модульности и гибкости системы.
2. Локальное использование ресурсов должно быть максимальным (со стороны клиента и сервера).
3. Масштабируемость и гибкость требуют, чтобы процессы клиента и сервера можно было легко обновить для выполнения на более мощной аппаратной и программной платформе.
4. Способность к взаимодействию и интегрируемость требуют, чтобы процессы клиента и сервера легко интегрировались между собой при формировании системы.
■ стандартизация. Все правила клиент-серверной архитектуры должны быть основаны на стандартах.
Прикладные программы, реализованные в рамках технологии клиент-сервер, как правило, имеют распределенный характер. Иными словами, часть функций прикладной программы (или, проще, приложения) будет реализована в программе-клиенте, другая — в программе-сервере, причем для их взаимодействия будет определен некоторый протокол.
Основной принцип технологии клиент-сервер заключается в разделении функций стандартного интерактивного приложения на 4 группы, имеющих различную природу:
1. Функции ввода и отображения данных (Presentation Logic) — презентационная логика.
2. Прикладные функции, определяющие основные алгоритмы решения задач приложения и характерные для данной предметной области (например, для банковской системы — открытие счета, перевод денег с одного счета на другой и т.д.) (Business Logic) — бизнес-логика.
3. Фундаментальные функции хранения и управления информационными ресурсами (базами данных, файловыми системами и т.д.) (Database Logic and Manager System). Это функции обработки данных внутри приложения — Логика обработки данных и Процессор управления данными.
4. Служебные функции, играющие роль связок между функциями первых трех групп.
В соответствии с этим в любом приложении выделяются следующие логические компоненты:
■ компонент представления, реализующий функции первой группы;
■ прикладной компонент, поддерживающий функции второй группы;
■ компонент доступа к информационным ресурсам, поддерживающий функции третьей групп, а также вводятся и уточняются соглашения о способах их взаимодействия (протокол взаимодействия).