Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Доц. Морозова В.И. дисц. «Информационные технологии»
ТЕМА 4. Основы сетевых информационных технологий
4.1. Модель взаимосвязи открытых систем
4.1.1. Сетевой режим обработки информации
4.1.1.1. Классификация сетевых технологий
4.2. Технология клиент-сервер
4.2.1. Модель файлового сервера. (FS)
4.2.2. Модель доступа к удаленным данным (RDA)
4.2.3. Модель сервера баз данных (DBS)
4.2.4. Модель сервера приложений (AS)
4.3. Многоуровневые системы клиент-сервер
4.4. Системы технологической почты
4.5.Технология работы в среде распределенной обработки данных
4.6.Базовые технологии обработки запросов в архитектурах
файл-сервера и клиент-сервера
4.7. Корпоративные технологии
4.7.1. СППР
Развитие средств вычислительной техники, а особенно появление персональных компьютеров привело к созданию нового типа информационно-вычислительных систем под названием локальная вычислительная сеть (ЛВС).
ЛВС нашли широкое применение в системах автоматизированного проектирования и технологической подготовки производства, системах управления производством и технологическими комплексами, в конторских системах, бортовых системах управления и т.д. ЛВС является эффективным способом построения сложных систем управления различными производственными подразделениями. ЛВС интенсивно внедряются в медицину, сельское хозяйство, образование, науку и др.
Локальная сеть - (LAN - Local Area Network), данное название соответствует объединению компьютеров, расположенных на сравнительно небольшой территории (одного предприятия, офиса, одной комнаты). Существующие стандарты для ЛВС обеспечивают связь между компьютерами на расстоянии от 2,5 км до 6 км (Ethernet и ARCNET, соответственно).
ЛВС - набор аппаратных средств и алгоритмов, обеспечивающих соединение компьютеров, других периферийных устройств (принтеров, дисковых контроллеров и т.п.) и позволяющих им совместно использовать общую дисковую память, периферийные устройства, обмениваться данными.
В настоящее время информационно-вычислительные системы принято делить на 3 основных типа:
- LAN (Lokal Area Network) - локальная сеть в пределах предприятия, учреждения, одной организации;
- MAN (Metropolitan Area Network) - городская или региональная сеть, т.е. сеть в пределах города, области и т.п.;
- WAN (Wide Area Network) - глобальная сеть, соединяющая абонентов страны, континента, всего мира.
Информационные системы, в которых средства передачи данных принадлежат одной компании и используются только для нужд этой компании, принято называть Сеть Масштаба Предприятия или Корпоративная Сеть (Enterprise Network). Для автоматизации работы производственных предприятий часто используются системы на базе протоколов MAP/TOP:
MAP (Manufacturing Automation Protocol) - сеть для производственных предприятий, заводов (выполняется автоматизация работы конструкторских отделов и производственных, технологических цехов). МАР позволяет создать единую технологическую цепочку от конструктора, разработавшего деталь, до оборудования, на котором изготавливают эту деталь.
TOP (Technical and Office Protocol) - протокол автоматизации технического и административного учреждения.
МАР/ТОР системы, полностью автоматизирующие работу производственного предприятия.
Основное назначение ЛВС - в распределении ресурсов ЭВМ: программ, совместимости периферийных устройств, терминалов, памяти. Следовательно, ЛВС должна иметь надежную и быструю систему передачи данных, стоимость которой должна быть меньше по сравнению со стоимостью подключаемых рабочих станций. Иными словами, стоимость передаваемой единицы информации должна быть значительно ниже стоимости обработки информации в рабочих станциях. Исходя из этого ЛВС, как система распределенных ресурсов, должна основываться на следующих принципах:
- единой передающей среды;
- единого метода управления;
- единых протоколов;
- гибкой модульной организации;
- информационной и программной совместимости.
Международная организация по стандартизации (ISO), основываясь на опыте многомашинных систем, который был накоплен в разных странах, выдвинула концепцию архитектуры открытых систем - эталонную модель, используемую при разработке международных стандартов.
На основе этой модели вычислительная сеть предстает как распределенная вычислительная среда, включающая в себя большое число разнообразных аппаратных и программных средств. По вертикали данная среда представляется рядом логических уровней, на каждый из которых возложена одна из задач сети. По горизонтали информационно-вычислительная среда делится на локальные части (открытые системы), отвечающие требованиям и стандартам структуры открытых систем.
Часть открытой системы, выполняющая некоторую функцию и входящая в состав того или иного уровня, называется объектом.
Правила, по которым осуществляется взаимодействие объектов одного и того же уровня, называются протоколом (методика связи).
Протоколы определяют порядок обмена информацией между сетевыми объектами. Они позволяют взаимодействующим рабочим станциям посылать друг другу вызовы, интерпретировать данные, обрабатывать ошибочные ситуации и выполнять множество других различных функций. Суть протоколов заключается в регламентированных обменах точно специфицированными командами и ответами на них (например, назначение физического уровня связи - передача блоков данных между двумя устройствами, подключенными к одной физической среде).
Каждый уровень подразделяется на две части:
- спецификацию услуг;
- спецификацию протокола.
Спецификация услуг определяет, что делает уровень, а спецификация протокола - как он это делает.
Причем, каждый конкретный уровень может иметь более одного протокола.
Большое число уровней, используемых в модели, обеспечивает декомпозицию информационно-вычислительного процесса на простые составляющие. В свою очередь, увеличение числа уровней вызывает необходимость включения дополнительных связей в соответствии с дополнительными протоколами и интерфейсами. Интерфейсы (макрокоманды, программы) зависят от возможностей используемой ОС.
Международная организация по стандартизации предложила семиуровневую модель, которой соответствует и программная структура (рис.4.1.).
Рассмотрим функции, выполняемые каждым уровнем программного обеспечения:
1.Физический - осуществляет как соединения с физическим каналом, так и расторжение, управление каналом, а также определяется скорость передачи данных и топология сети.
2.Канальный - осуществляет обрамление передаваемых массивов информации вспомогательными символами и контроль передаваемых данных. В ЛВС передаваемая информация разбивается на несколько пакетов или кадров. Каждый пакет содержит адреса источника и места назначения, а также средства обнаружения ошибок.
3.Сетевой - определяет маршрут передачи информации между сетями (ПЭВМ), обеспечивает обработку ошибок, а так же управление потоками данных.
Основная задача сетевого уровня - маршрутизация данных (передача данных между сетями). Специальные устройства - Маршрутизаторы (Router) определяют для какой сети предназначено то или другое сообщение, и направляет эту посылку в заданную сеть. Для определения абонента внутри сети используется Адрес Узла (Node Address). Для определения пути передачи данных между сетями на маршрутизаторах строятся Таблицы Маршрутов (Routing Tables), содержащие последовательность передачи данных через маршрутизаторы. Каждый маршрут содержит адрес конечной сети, адрес следующего маршрутизатора и стоимость передачи данных по этому маршруту. При оценке стоимости могут учитываться количество промежуточных маршрутизаторов, время, необходимое на передачу данных, просто денежная стоимость передачи данных по линии связи. Для построения таблиц маршрутов наиболее часто используют либо Метод Векторов либо Статический Метод. При выборе оптимального маршрута применяют динамические или статические методы. На сетевом уровне возможно применение одной из двух процедур передачи пакетов:
- датаграмм - т.е., когда часть сообщения или пакет независимо доставляется адресату по различным маршрутам, определяемым сложившейся динамикой в сети. При этом каждый пакет включает в себя полный заголовок с адресом получателя. Процедуры управления передачей таких пакетов по сети называются датаграммной службой;
- виртуальных соединений - когда установление маршрута передачи всего сообщения от отправителя до получателя осуществляется с помощью специального служебного пакета - запроса на соединение. В таком случае для этого пакета выбирается маршрут и, при положительном ответе получателя на соединение закрепляется для всего последующего трафика (потока сообщений в сети передачи данных) и получает номер соответствующего виртуального канала (соединения) для дальнейшего использования его другими пакетами того же сообщения. Пакеты, которые передаются по одному виртуальному каналу, не являются независимыми и поэтому включают сокращенный заголовок, включающий порядковый номер пакета, принадлежащему одному сообщению.
Недостатки: значительная по сравнению с датаграммой сложность в реализации, увеличение накладных расходов, вызванных установлением и разъединением сообщений.
ВЫВОД. Датаграммный режим предпочтительнее использовать для сетей сложной конфигурации, где значительное число ЭВМ в сети, иерархическая структура сети, надежность, достоверность передачи данных по каналам связи, длина пакета более 512 байт.
4.Транспортный - связывает нижние уровни (физический, канальный, сетевой) с верхними уровнями, которые реализуются программными средствами. Этот уровень как бы разделяет средства формирования данных в сети от средств их передачи. Здесь осуществляется разделение информации по определенной длине и уточняется адрес назначения. Транспортный уровень позволяет мультиплексировать передаваемые сообщения или соединения. Мультиплексирование сообщений позволяет передавать сообщения одновременно по нескольким линиям связи, а мультиплексирование соединений - передает в одной посылке несколько сообщений для различных соединений.
Мультиплексирование - технология разделения средств передачи данных между группой использующих их объектов.
5.Сеансовый - на данном уровне осуществляется управление сеансами связи между двумя взаимодействующими пользователями (определяет начало и окончание сеанса связи: нормальное или аварийное; определяет время, длительность и режим сеанса связи; определяет точки синхронизации для промежуточного контроля и восстановления при передаче данных; восстанавливает соединение после ошибок во время сеанса связи без потери данных).
6.Представительский - управляет представлением данных в необходимой для программы пользователя форме, генерацию и интерпретацию взаимодействия процессов, кодирование/декодирование данных, в том числе компрессию и декомпрессию данных. На рабочих станциях могут использоваться различные операционные системы: DOS, UNIX, OS/2,. Каждая из них имеет свою файловую систему, свои форматы хранения и обработки данных. Задачей данного уровня является преобразование данных при передаче информации в формат, который используется в информационной системе. При приеме данных данный уровень представления данных выполняет обратное преобразование. Таким образом, появляется возможность организовать обмен данными между станциями, на которых используются различные операционные системы.
Форматы представления данных могут различаться по следующим признакам:
- порядок следования битов и размерность символа в битах;
- порядок следования байтов;
- представление и кодировка символов;
- структура и синтаксис файлов.
Компрессия или упаковка данных сокращает время передачи данных. Кодирование передаваемой информации обеспечивает защиту ее от перехвата.
7.Прикладной - в его ведении находятся прикладные сетевые программы, обслуживающие файлы, а также выполняет вычислительные, информационно-поисковые работы, логические преобразования информации, передачу почтовых сообщений и т.п. Главная задача этого уровня - обеспечить удобный интерфейс для пользователя.
На разных уровнях обмен происходит различными единицами информации: биты, кадры, пакеты, сеансовые сообщения, пользовательские сообщения.
Сетевой режим автоматизированной обработки информации
Сеть это совокупность программных, технических и коммуникационных средств, обеспечивающих эффективное распределение вычислительных ресурсов.
Сеть, являясь одновременно продуктом и мощным стимулом развития человека, позволяет:
Архитектура сетей обладает следующими характеристиками:
Открытость обеспечение возможности подключения к сети любых типов ПК.
Ресурсы. Ценность и значимость сети должны определяться набором хранимых в ней знаний, данных и способностью технических средств оперативно представлять их или обрабатывать.
Надежность обеспечение высокого показателя «наработки на отказ» за счет оперативных сообщений об аварийном режиме, тестирования, программно-логического контроля и дублирования техники.
Динамичность минимизация времени отклика сети на запрос пользователя.
Интерфейс обеспечение сетью широкого набора сервисных функций по обслуживанию пользователя и предоставлению запрашиваемой информации.
Автономность возможность независимой работы сетей различных уровней.
Коммуникации обеспечение по любой принятой пользователем конфигурации сети четкого взаимодействия ПК, защиты данных от НСД, автоматического восстановления работоспособности при аварийных сбоях, высокой достоверности передаваемой информации.
Для взаимодействия компонентов в сети используются протоколы и интерфейсы.
Протокол документ, определяющий правила взаимодействия одноименных уровней работающих друг с другом абонентов. Наиболее важными функциями протоколов на всех уровнях сети являются: защита от ошибок, управление потоками данных в сети, защита ее от перегрузок, выполнение операций по маршрутизации сообщений и оптимизации использования ресурсов в сети, обеспечивающее большую степень доступности услуг сети путем образования нескольких маршрутов между двумя абонентами.
Интерфейс свод правил по взаимодействию (стыковке) между функциональными компонентами, расположенными в смежных уровнях и входящими в одну и ту же систему.
Многообразие сетевых технологий вызывает необходимость их классификации по каким-либо ключевым признакам (табл. 1).
Таблица 1
Классификация сетевых технологий
Признаки классификации |
||||
Специализация |
Способ организации |
Способ связи |
Состав ПК |
Охват территории |
Универсальные Специализиро- ванные |
Одноранговые (одноуровневые) Двухуровневые |
Проводные Беспроводные Спутниковые |
Однородные Неоднородные |
Локальные Территориальные (региональные) Федеральные Глобальные |
По признаку специализации сетевые технологии подразделяются на универсальные, предназначенные для решения всех задач пользователей (например, Академсеть РФ - для решения разнообразных информационных задач), и специализированные для решения небольшого количества специальных задач (например, технология резервирования мест на авиационные рейсы).
Одноранговая технология (одноуровневая) функции рабочей станции и сервера совмещены, т.е. ПК может быть одновременно и сервером и рабочей станцией. Запрос информации осуществляется друг к другу.
Двухуровневые технологии связь осуществляется между ПК (рабочими станциями) и серверами (специальные компьютеры). Задачей сервера обслуживание рабочих станций с предоставлением им своих ресурсов, которые существенно выше, чем ресурсы рабочей станции.
Беспроводные сетевые технологии частотные каналы передачи данных (средой является эфир). Преимущество беспроводных технологий работа с портативными компьютерами.
Однако скорость передачи данных не может сравниться с пропускной способностью кабеля, хотя в последнее время заметен ее рост.
Спутниковые технологии - физической средой передачи данных также является эфир. Использование спутников оправдано в случае значительного удаления абонентов друг от друга при чрезмерном ослаблении посылаемых электромагнитных сигналов с большими посторонними шумами. Чтобы сигналы, направленные отправителем, не смешивались с аналогичными к получателю, при работе со спутником прокладываются два частотных канала один для отправителя, другой для получателя. Это позволяет избежать ошибки при передаче информации.
Протоколы в ЛВС
Организация ЛВС базируется на принципе многоуровневого управления процессами, включающими в себя иерархию протоколов и интерфейсов.
Протокол УФК определяет форму представления и порядок передачи данных через физический канал связи, фиксирует начало и конец кадра, который несет в себе данные, формирует и принимает сигнал со скоростью, присущей пропускной способности канала.
Второй уровень (канальный) можно разделить на два подуровня: управление доступом к каналу (УДК) и управление информационным каналом (УИК).
Протокол УДК устанавливает порядок передачи данных через канал, выборку данных.
Протокол УИК обеспечивает достоверность данных, т.е. формируются проверочные коды при передаче данных.
Во многих ЛВС отпадает необходимость в сетевом уровне. К нему прибегают при комплексировании нескольких ЛВС, содержащих моноканалы.
Протокол УП обеспечивает транспортный интерфейс, ликвидирующий различия между потребностями процессов в обмене данными и ограничениями информационного канала, организуемого нижними уровнями управления. Протоколы высоких уровней - УС, УПД, УПП - по своим функциям аналогичны соответствующим протоколам глобальных сетей, т.е. реализуется доступ терминалов к процессам, программ к удаленным файлам, передача файлов, удаленный ввод заданий, обмен графической информацией и др.
Сетевой протокол. Он предписывает правила работы компьютерам, которые подключены к сети. Стандартные протоколы заставляют разные компьютеры говорить на одном языке. Таким образом, осуществляется возможность подключения к Интернет разнотипных компьютеров, работающих под управлением различных операционных систем.
На нижних (2-м и 3-м) уровнях используются два основных протокола: IP -протокол Интернет и ТСР - протокол управления передачей.
Так как ЭТИ два протокола тесно взаимосвязаны, то часто их объединяют и говорят, что в Интернет базовым протоколом является TCP/IP: все остальные протоколы строятся на их основе.
Конечными пользователями глобальной сети являются host-компьютеры (или устройства), имеющие 32-битный адрес, разбитый на 4 байта и представленный в десятичном формате (256.256.256.256), так как в двоичном виде он плохо воспринимается людьми.
Именно на их основе и функционирует Интернет. Протокол ТСР разбивает информацию на порции, нумерует все порции, чтобы при получении можно было правильно собрать информацию. Каждый пакет получает заголовок ТСР, где, кроме адреса получателя, содержится информация об исправлении ошибок и о последовательности передачи пакетов. Затем пакеты ТСР разделяются на еще более мелкие пакеты IP .
Пакеты состоят из трех различных уровней, каждый из которых содержит: данные приложения, информацию ТСР, информацию IP .
Перед отправкой пакета протокол ТСР вычисляет контрольную сумму. При поступлении снова рассчитывается контрольная сумма, если пакет поврежден, то запрашивается повторная передача.
Затем принимающая программа объединяет пакеты IP в пакеты ТСР, из которых реконструируются исходные данные. Протоколы TCP/IP обеспечивают передачу информации между компьютерами. Все остальные протоколы с их помощью реализуют самые разные услуги Интернет.
Стандартная модель сетевого взаимодействия ISO/OSI
Номер |
Название уровня |
Примеры |
7 |
Приложения |
MS Word, Netscape Communicator |
6 |
Представления |
ASCII, EBCDIC |
5 |
Сеансовый |
NCP, РТР, НТТР, NetBEUI |
4 |
Транспортный |
TCP, SPX |
3 |
Сетевой |
IP, IPX, Apple Talk |
2 |
Канальный |
Х.25, РРР, CSMA/CD, Frame Relay, ISDN, АТМ |
1 |
Физический |
RS-232, 10BaseT |
Протоколы Х.25, Frame Relay в определенных условиях могут рассматриваться как |
||
протоколы третьего уровня модели ISO/OSI, но на практике они обычно используются для |
||
образования каналов при построении сетей IP или IPX . |
Наиболее перспективным в настоящее время является протокол АТМ. Он чрезвычайно гибко масштабируется от локальных до глобальных сетей, предполагает высокие скорости передачи данных (до 655 Мбит/сек), включает в себя средства управления качеством обслуживания (QoS), что особенно актуально при передаче мультимедийного трафика. Однако высокая стоимость оборудования АТМ пока ограничивает его применение.
ТСР - (транспортный протокол), протокол высокого уровня имеет собственные средства контроля (целостность кадра, ошибки), средства оповещения о перегрузке сети (для контроля потока);
IP- межсетевой протокол;
ТСР/IР - основной протокол связи по INTERNET;
НТТР - транспортный протокол передачи гипертекста (в основе лежит система обработки запросов и ответов).
Модели клиент-сервер - это технология взаимодействия компьютеров в сети. Каждый из компьютеров имеет свое назначение и выполняет свою определенную роль. Одни компьютеры в сети владеют и распоряжаются информационно-вычислительными ресурсами (процессоры, файловая система, почтовая служба, служба печати, база данных), другие имеют возможность обращаться к этим службам, пользуясь их услугами.
Компьютер, управляющий тем или иным ресурсом называют сервером этого ресурса, а компьютер, пользующийся им - клиентом.
Каждый конкретный сервер определяется видом того ресурса, которым он владеет. Например, назначением сервера баз данных является обслуживание запросов клиентов, связанных с обработкой данных; файловый сервер, или файл-сервер, распоряжается файловой системой и т.д.
Этот принцип распространяется и на взаимодействие программ. Программа, выполняющая предоставление соответствующего набора услуг, рассматривается в качестве сервера, а программы пользующиеся этими услугами, принято называть клиентами. Программы имеют распределенный характер, т.е. одна часть функций прикладной программы реализуется в программе-клиенте, а другая - в программе-сервере, а для их взаимодействия определяется некоторый протокол.
Рассмотрим эти функции. Один из основных принципов технологии клиент-сервер заключается в разделении функций стандартного интерактивного приложения на четыре группы, имеющие различную природу.
Первая группа. Это функции ввода и отображения данных.
Вторая группа - объединяет чисто прикладные функции, характерные для данной предметной области (для банковской системы - открытие счета, перевод денег с одного счета на другой и т.д.).
Третья группа - фундаментальные функции хранения и управления информационно-вычислительными ресурсами (базами данных, файловыми системами и т.д.).
Четвертая группа - служебные функции, осуществляющие связь между функциями первых трех групп.
В соответствии с этим в любом приложении выделяются следующие логические компоненты:
Различия в реализации технологии клиент-сервер определяются следующими факторами:
Выделяются четыре подхода, реализованные в следующих моделях:
1. модель файлового сервера (File Server - FS);
2. модель доступа к удаленным данным (Remote Data Access - RDA);
3. модель сервера баз данных (Data Base Server - DBS);
4. модель сервера приложений (Application Server - AS).
является базовой для локальных сетей ПК. До недавнего времени была популярна среди отечественных разработчиков, использовавших такие системы, как FoxPro, Clipper, Clarion, Paradox и т.д.
Одним из компьютеров в сети считается файловым сервером и предоставляет другим компьютерам услуги по обработке файлов. Файловый сервер работает под управлением сетевой операционной системы (Novell NetWare) и играет роль компонента доступа к информационным ресурсам (т.е. к файлам). На других ПК в сети функционирует приложение, в кодах которого совмещены компонент представления и прикладной компонент (рис.4.7.).
Клиент Сервер
Запросы
Компонент Прикладной Компонент доступа к
представления компонент ресурсам
файлы
Рис.4.7. Модель файлового сервера
Протокол обмена представляет собой набор вызовов, обеспечивающих приложению доступ к файловой системе на файл-сервере.
К недостаткам технологии данной модели относят низкий сетевой трафик (передача множества файлов, необходимых приложению), небольшое количество операций манипуляции с данными (файлами), отсутствие адекватных средств безопасности доступа к данным (защита только на уровне файловой системы) и т.д.
4.2.2. Модель доступа к удаленным данным (RDA)
существенно отличается от FS-модели методом доступа к информационным ресурсам. В RDA-модели коды компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте. Доступ к информационным ресурсам обеспечивается операторами специального языка (SQL, если речь идет о базах данных) или вызовами функций специальной библиотеки (если имеется специальный интерфейс прикладного программирования - API).
Запросы к информационным ресурсам направляются по сети удаленному компьютеру, который обрабатывает и выполняет их, возвращая клиенту блоки данных (рис.4.8).
Клиент Сервер
SQL
Компонент Прикладной Компонент доступа к
представления компонент ресурсам
данные
Рис.4.8. Модель доступа к удаленным данным
Говоря об архитектуре клиент-сервер, подразумевают данную модель. Основное достоинство RDA-модели заключается в унификации интерфейса клиент-сервер в виде языка SQL и широком выборе средств разработки приложений. К недостаткам можно отнести существенную загрузку сети при взаимодействии клиента и сервера посредством SQL-запросов; невозможность администрирования приложений в RDA, т.к. в одной программе совмещаются различные по своей природе функции (представления и прикладные).
реализована в некоторых реляционных СУБД (Informix, Ingres, Sybase, Oracle), (рис.4.9).
Ее основу составляет механизм хранимых процедур - средство программирования SQL-сервера. Процедуры хранятся в словаре баз данных, разделяются между несколькими клиентами и выполняются на том же компьютере, где функционирует SQL-сервер. В DBS-модели компонент представления выполняется на компьютере-клиенте, в то время как, прикладной компонент оформлен как набор хранимых процедур и функционирует на компьютере-сервере БД. Там же выполняется компонент доступа к данным, т.е. ядро СУБД.
Клиент Вызов Сервер
Компонент Прикладной Компонент доступа к
представления компонент SQL ресурсам
Рис.4.9. Модель сервера баз данных
Понятие информационного ресурса сужено до баз данных, поскольку механизм хранимых процедур - отличительная характеристика DBS-модели - имеется пока только в СУБД.
Достоинства DBS-модели:
К недостаткам относится:
- ограниченность средств написания хранимых процедур, представляющих собой разнообразные процедурные расширения SQL, которые уступают по изобразительным средствам и функциональным возможностям в сравнении с языками С или Pascal. Сфера их использования ограничена конкретной СУБД из-за отсутствия возможности отладки и тестирования разнообразных хранимых процедур.
На практике чаще используются смешанные модели, когда целостность базы данных и некоторые простейшие прикладные функции обеспечиваются хранимыми процедурами (DBS-модель), а более сложные функции реализуются непосредственно в прикладной программе, которая выполняется на компьютере-клиенте (RDA-модель).
представляет собой процесс, выполняемый на компьютере-клиенте, отвечающий за интерфейс с пользователем (т.е. реализует функции первой группы). (рис.4.10).
Клиент Сервер Сервер
Компонент API Прикладной SQL Компонент доступа
представления компонент к ресурсам
Рис.4.10. Модель сервера приложений
Прикладной компонент реализован как группа процессов, выполняющих прикладные функции, и называется сервером приложения (Application Server - AS).
API - специальный интерфейс прикладного программирования
Доступ к информационным ресурсам осуществляет менеджер ресурсов (например, SQL-сервер). Из прикладных компонентов доступны такие ресурсы как, базы данных, очереди, почтовые службы и др. AS, размещенная на компьютере, где функционирует менеджер ресурсов, избавляет от необходимости направления SQL-запросов по сети, что повышает производительность системы.
Модели RDA и DBS опираются на двухзвенную схему разделения функций:
- в RDA-модели прикладные функции отданы программе-клиенту (прикладной компонент сливается с компонентом представления);
- в DBS-модели ответственность за их выполнение берет на себя ядро СУБД (прикладной компонент интегрируется в компонент доступа к информационным ресурсам).
В AS-модели реализована трехзвенная схема разделения функций. Здесь прикладной компонент выделен как важнейший изолированный элемент приложения. Сравнивая модели, AS обладает наибольшей гибкостью и имеет универсальный характер.
Принципы перехода к новой информационной системе.
При переходе к новой информационной системе (ИС) необходимо решить такие вопросы как выбор одной из четырех моделей, компоненты архитектуры ИС и инструментарий перехода.
Наиболее распространенной ИС является FS-модель (примем ее за исходную), а в качестве целевой - RDA-модель (наиболее распространена и относительно проста). На практике наблюдаются и другие схемы перехода ( FS-->DBS, RDA--->DBS, RDA-->AS, FS-->AS). Наиболее типичный случай это FS-->RDA, это переход от локальных сетей ПК к архитектуре систем с сервером баз данных.
Следующий шаг - определение компонентов архитектуры системы, имеющей в своей основе RDA-модель - компьютер-клиент и сервер баз данных. Проблема заключается в выборе аппаратного и базового программного обеспечения этих компонентов.
На сегодняшний день используются ПК на базе процессоров Pentium под управлением ОС/2 MS Windows (распространенность, популярность, большое число приложений, широкий набор активно используемых русифицированных продуктов). Самое важное достоинство MS Windows - множество средств быстрой разработки приложений, работающих с SQL-ориентированными СУБД, и доступность этих средств для отечественных пользователей.
Говоря о сервере БД, необходимо упомянуть, что это должен быть мощный компьютер, снабженный высокоскоростными надежными механизмами дисковой памяти большой емкости и системой архивирования на магнитных лентах. Его работа должна осуществляться под управлением многозадачной многопользовательской ОС, поддерживающей промышленные стандарты.
Сервер процесс, обслуживающий информационную потребность клиента: поиск или обновление БД, в этом случае сервер носит название сервер БД, обработку данных сервер приложения.
Клиент приложение, посылающее запрос на обслуживание сервера. Задача сервера инициирование связи с сервером, определение вида запроса на обслуживание, получение от сервера результата обслуживания, подтверждение окончания обслуживания.
Клиент-серверная архитектура реализует многопользовательский режим работы и является распределенной, когда клиенты и серверы располагаются на разных узлах локальной или глобальной сети.
Схема клиент-серверной архитектуры включает три уровня представления:
Согласно схемы пользователь (клиент) в одном случае вводит данные, которые после контроля и преобразования некоторым приложением попадают в БД, а в другом случае запрашивает обработку данных приложением, которое обращается за необходимыми данными к БД. Получив необходимые данные, сервер их обрабатывает, а результаты помещает либо в БД, либо выдает пользователю в удобной для него форме (текстовый док-т, электронная таблица, график), или делает то и другое вместе.
Выбор конкретной схемы определяется различными вариантами территориального распределения удаленных подразделений предприятия, требованиями эксплуатационной надежности, быстродействием, простотой обслуживания. На рис.2. представлены различные схемы клиент-серверной архитектуры.
Файл-серверная архитектура самый простой вариант распределенной обработки данных, когда на сервере располагаются только файлы данных, а на клиентской части находятся приложения пользователей вместе с СУБД. Использование файл-серверов предполагает, что вся обработка данных выполняется на рабочей станции, а файл-сервер лишь выполняет функции накопителя данных и средств доступа.
Двухуровневая клиент-серверная архитектура основана на использовании только сервера базы-данных (DB-сервера), когда клиентская часть содержит уровень представления данных, а на сервере находится БД вместе с СУБД и прикладными программами.
DB-сервер отличается от файл-сервера тем, что в его оперативной памяти, помимо сетевой ОС, функционирует централизованная СУБД, которая обеспечивает совместное использование рабочими станциями базы данных, размещенной во внешней памяти этого
DB-сервера. DB-сервер дает возможность отказаться от пересылки по сети файлов данных целиком и передавать только ту выборку из БД, которая удовлетворяет запросу пользователя. При этом возможно разделение пользовательского приложения на две части:
одна выполняется на сервере и связана с выборкой и агрегированием данных из БД, а вторая часть по представлению данных для анализа и принятия решения выполняется на клиентской машине. Таким образом, увеличивается общая производительность информационной системы в результате объединения выч.ресурсов сервера и клиентской рабочей станции.
Обращение к БД осуществляется на языке SQL, который стал стандартом для реляционных БД. Поэтому сервер БД называют SQL-сервером, который поддерживается всеми реляционными СУБД: Oracle, Informix, MS SQL, ADABAS D, InterBase, SyBase и др.
Клиентское приложение может быть реализовано на языке настольных СУБД (MS Access, FoxPro, Paradox, Clipper и др.). При этом взаимодействие клиентского приложения с SQL-сервером осуществляется через ODBC-драйвер (Open Data Base Connectivity), который обеспечивает возможность пересылки и преобразования данных из глобальной БД в структуру БД клиентского приложения.
Представление
данных пользователя Приложение База данных
Централизованная
Система
Архитектура
«Файл-сервер»
Двухуровневая
архитектура
«клиент-сервер»
Трехуровневая
Архитектура
«клиент-сервер»
Многоуровневая
Архитектура
«клиент-сервер»
Рис.2. Варианты клиент-серверной архитектуры КЭИС
Трехуровневая клиент-серверная архитектура позволяет помещать прикладные программы на отдельные серверы приложений, с которыми через API-интерфейс (Application Program Interface) устанавливается связь клиентских рабочих станций. Клиентская часть приложения вызывает необходимые функции сервера приложения, называемые «сервисами». Прикладные программы в свою очередь обращаются к серверу БД с помощью SQL запросов. Такая организация позволяет повысить производительность и эффективность КЭИС за счет:
Многоуровневая архитектура «клиент-сервер» создается для территориально-распределенных предприятий. Здесь наблюдаются отношения «многие ко многим» между клиентскими рабочими станциями и серверами приложений, между серверами приложений и серверами БД. Такая организация позволяет более рационально организовать информационные потоки между структурными подразделениями. Каждый сервер приложений обслуживает потребности какой-либо одной функциональной подсистемы и сосредоточивается в головном для подсистемы структурном подразделении (сервер приложения по управлению сбытом в отделе сбыта, сервер приложения по управлению снабжением в отделе закупок и т.д.). Интегрированная БД находится на отдельном сервере, на котором обеспечиваются централизованное ведение и администрирование общих данных для всех приложений.
Ведение нескольких серверов БД особенно актуально для предприятий с филиальной структурой, когда в центральном офисе используется общая БД, содержащая общую нормативно-справочную (НС), планово-бюджетную информацию и консолидированную отчетность, а в территориальноудаленных филиалах поддерживается оперативная информация о деловых процессах. При обработке данных в филиалах для контроля используется плановая и НС информация из центральной БД, а в центральном офисе получение консолидированной отчетности сопряжено с оперативной информацией филиалов.
4.3. Многоуровневые системы клиент-сервер
Технология клиент-сервер считается одним из "китов" современного мира компьютерных сетей. Но задачи, для решения которых она была разработана, уходят в прошлое. Новые задачи и технологии требуют переосмысления принципов клиент-серверных систем. Одна из таких технологий World Wide Web. Web-технология является развитием архитектуры клиент-сервера, т.е. с помощью одного клиента можно подключиться ко многим серверам. Информационная система, кроме интерфейса, должна иметь уровни обработки данных и их хранения. Проблема разработчиков интерсетей в согласовании работы Web с другими элементами системы, например базами данных. Одним из перспективных способов решения этой проблемы - многоуровневые системы клиент-сервер.
Классическая система клиент-сервер работает по схеме "запрос-ответ" (двухуровневая архитектура). Клиент выполняет активную функцию (запросы), сервер пассивно на них отвечает.
Любая информационная система должна иметь минимум три функциональные части - модули хранения данных, их обработки и интерфейса с пользователем.
Каждая из этих частей может быть реализована независимо от двух других.
Например. Не изменяя программ, используемых для хранения и обработки данных, можно изменить интерфейс с пользователем таким образом, что одни и те же данные будут отображаться в виде таблиц, графиков или гистограмм. Не меняя программ представления данных и их хранения, можно изменить программы обработки, изменив алгоритм полнотекстового поиска. Не меняя программ представления и обработки данных, можно изменить программное обеспечение для хранения данных, перейдя на другую файловую систему.
В классической архитектуре клиент-сервер три основные части приложения распределяются по двум физическим модулям. Обычно ПО хранения данных располагается на сервере (/: сервере базы данных), интерфейс с пользователем - на стороне клиента, а вот обработку данных приходится распределять между клиентской и серверной частями. В этом основной недостаток данной архитектуры. Разбиение алгоритмов обработки данных требует синхронизации действий обеих частей системы. Чтобы избежать несогласованности различных элементов архитектуры, пытаются выполнять обработку данных на одной из двух частей - либо на стороне клиента ("толстый" клиент), либо на сервере ("тонкий" клиент, или "2,5-уровневый клиент-сервер"). Каждый подход имеет свой недостаток: в первом случае неоправданно перегружается сеть, т.к. по ней передаются необработанные (избыточные) данные, усложняется поддержка и изменение системы, так как замена алгоритма вычислений или исправление ошибки требует одновременной полной замены всех интерфейсных программ, иначе последует несогласованность данных; во втором случае, когда вся обработка информации выполняется на сервере, возникает проблема описания встроенных процедур и их отладки (описание является декларативным и не допускает пошаговой отладки). Кроме того, систему с обработкой информации на сервере абсолютно невозможно перенести на другую платформу.
Большинство современных средств быстрой разработки приложений (RAD), которые работают с различными БД, реализует первую модель ("толстый" клиент), обеспечивающую интерфейс с сервером БД через язык SQL.. Этот вариант, кроме выше перечисленных недостатков, имеет низкий уровень безопасности.
Например. В банковских системах все операционисты имеют права на запись в основную таблицу учетной системы. Кроме того, данную систему почти невозможно перевести на Web-технологии, так как для доступа к серверу БД используется специализированное клиентское ПО.
Недостатки рассмотренных выше моделей:
Для решения перечисленных проблем используются многоуровневые (три и более) модели клиент-сервер.
Многоуровневые архитектуры клиент-сервер - более разумно распределяют модули обработки данных, которые выполняются на одном или нескольких отдельных серверах.
Эти программные модули выполняют функции сервера для интерфейсов с пользователями и клиента - для серверов БД. Кроме того, различные серверы приложений могут взаимодействовать между собой для более точного разделения системы на функциональные блоки, выполняющие определенные роли.
Например. Можно выделить сервер управления персоналом, который будет выполнять все необходимые для управления персоналом функции. Связав с ним отдельную БД, можно скрыть от пользователей все детали реализации этого сервера, разрешив обращаться только к его общедоступным функциям. Такая система проще адаптируется к Web, т.к. легче разработать html-формы для доступа пользователей к определенным функциям БД, чем ко всем данным.
В трехуровневой модели "тонкий" клиент не перегружен функциями обработки данных, а выполняет основную роль системы представления информации, поступающей с сервера приложений. (Такой интерфейс реализуется с помощью стандартных средств Web-технологии - браузера, CGI и Java). Это уменьшает объем данных, передаваемых между клиентом и сервером приложений, позволяя подключать клиентов с медленными телефонными каналами.
Трехуровневая модель клиент-сервер позволяет более точно назначать полномочия пользователей, так как они получают права не к самой БД, а к определенным функциям сервера приложений, что повышает защищенность системы.
Многоуровневые клиент-серверные системы легко можно перевести на Web-технологию - для этого достаточно заменить клиентскую часть универсальным браузером, а сервер приложений дополнить Web-сервером и небольшими программами вызова процедур сервера. В трехуровневой системе по каналу связи между сервером приложений и БД передается много информации, при этом не замедляются вычисления, так как для связи указанных элементов используются более скоростные линии. Это требует меньших затрат, так как оба сервера находятся в одном помещении. Но при этом встает проблема согласованности совместных вычислений, которую призваны решать менеджеры транзакций - новые элементы многоуровневых систем.
Менеджеры транзакций
МТ - позволяют одному серверу приложений одновременно обмениваться данными с несколькими серверами БД. Хотя серверы Oracle имеют механизм выполнения распределенных транзакций, но если пользователь хранит часть информации в БД Oracle, часть в БД Informix, а часть в текстовых файлах, то без МТ не обойтись. МТ используется для управления распределенными разнородными операциями и согласования действий различных компонентов информационной системы. Любое сложное ПО требует использования МТ.
Например. Банковские системы должны осуществлять различные преобразования представлений документов, т.е. работать одновременно с данными, хранящимися как в БД, так и в обычных файлах, - именно эти функции и помогает выполнять МТ.
МТ - это программа или комплекс программ, с помощью которых можно согласовать работу различных компонентов инф-ой системы.
Логически МТ делится на несколько частей:
Обычно М-коммуникационный объединен с М-авторизации, а М-транзакций с М-блокировок и системных записей. Причем такой М редко входит в комплект поставки, поскольку его функции (ведение записей, распределение ресурсов и контроль операций), как правило, выполняет сама БД (например, Oracle).
Наибольшие изменения произошли в М-коммуникации, так как в этой области появились новые объектно-ориентированные технологии (CORBA, DCOM и т.д.). Многоуровневая модель клиент-сервер позволяет существенно упростить распределенные вычисления, делая их не только более надежными, но и более доступными.
4.4. Системы технологической почты -
это гарантированная доставка информации и средство для интеграции приложений
Проектирование информационных систем ставит перед системными аналитиками решения следующих проблем:
Современные ВС в основном являются распределенными, поэтому встает задача выбора способа взаимодействия между отдельными частями таких систем. Слияние нескольких информационных систем требует решения интеграции большого количества разнородных приложений. Такая (интегрированная) система должна обладать всей функциональностью объединяемых подсистем и сохранить простоту и удобство использования. Решение данной проблемы возможно осуществить с помощью систем технологической почты (СТП).
Термин «технологическая почта» используется для обозначения взаимодействия между приложениями ("электронная почта" - взаимодействие между людьми), передаваемая информация является технологической ее формирование и передача могут осуществляться без/или с минимальным участием человека.
Система технологической почты включает в себя два различных способа взаимодействия, используемых в современных распределенных системах.
Один из них основывается на концепции соединения (рис.1), а другой - на идее обмена сообщениями.
1
2
3
Рис.1. Механизм взаимодействия с установлением соединения
Процесс взаимодействия приложений и использованием установления соединения можно разделить на три фазы:
1. установление соединения;
2. передача информации;
3. закрытие соединения.
Такое взаимодействие требует наличие соединения всех трех фаз и одновременной работы приложений, что не всегда возможно.
Системы, построенные на принципе обмена сообщениями, используют при взаимодействии технологию очередей сообщений (рис.2).
Рис.2. Взаимодействие приложений с использованием технологии очередей сообщений
Приложения, которые обмениваются информацией, адресуют ее не напрямую друг другу, а в ассоциированные с приложениями очереди сообщений. Соединение между приложением и очередью происходит, как правило, в режиме on-line, что позволяет избежать затраты времени на установление соединения. Управляющее ПО может находиться как на одной машине с приложениями, так и на выделенном сервере. Системы, использующие технологию очередей сообщений, в Отличие от систем установления соединений, не требуют ни постоянного соединения в процессе взаимодействия, ни одновременной работы взаимодействующих приложений. Эти свойства обеспечивают им гибкость и приемлемость в различных областях применения.
Универсальность систем технологической почты позволяет им работать на гетерогенных (многообразие программно-аппаратных платформ, на которых работают отдельные компоненты СТП, а также многообразие способов соединения и протоколов взаимодействия, применяемых в системе) структурах. Гетерогенность достигается за счет разделения серверной и клиентских частей СТП. Клиентские части обладают небольшой функциональностью и могут быть перенесены на различные платформы. Т.о., для функционирования СТП не нужны затраты на дополнительное оборудование - система адаптируется к существующим средствам (как аппаратным и программным, так и к существующим каналам передачи данных) и не требует их замены.
Преимvшecтвa использования СТП:
сами определяют, каким образом обеспечить гарантированность доставки при отказе отдельных частей системы: произвести повторную пересылку, найти альтернативный маршрут или применить другие способы. Так как СТП обеспечивают обмен информацией между приложениями, то факт недоставки сообщения должен быть отслежен и обработан (в отличие о электронной почты, где в случае недоставки сообщения, пользователь должен сам выполнить какие-либо корректирующие действия);
Одной из важнейших сетевых технологий является распределенная обработка данных, позволяющая повысить эффективность удовлетворения информационной потребности пользователя и, обеспечить гибкость и оперативность принимаемых им решений.
Достоинствами распределенной обработки информации является:
- большое число взаимодействующих между собой пользователей;
- устранение пиковых нагрузок с централизованной базы данных за счет распределения обработки и хранения локальных баз данных на разных ЭВМ;
- возможность доступа пользователя к вычислительным ресурсам сети ЭВМ;
- обеспечение обмена данными между удаленными пользователями.
При распределенной обработке производится работа с базой, т.е. представление данных, их обработка, работа с базой на логическом уровне осуществляется на компьютере клиента, а поддержание базы в актуальном состоянии - на сервере. При наличии распределенной базы данных база размещается на нескольких серверах. В настоящее время созданы базы данных по всем направлениям человеческой деятельности: экономической, финансовой, кредитной, статистической, научно-технической, маркетинга, патентной информации, электронной документации и т.д.
Создание распределенных баз данных (РБД) было вызвано двумя тенденциями обработки данных, с одной стороны - интеграцией, а с другой - децентрализацией.
Интеграция подразумевает централизованное управление и ведение баз данных. Децентрализация обеспечивает хранение данных в местах их возникновения или обработки, при этом скорость обработки повышается, стоимость снижается, увеличивается степень надежности системы.
Распределенная база данных - база данных, части которой размещены на отдельных ЭВМ, входящих в сеть. При этом некоторые данные могут дублироваться.
При проектировании РБД осуществляется разбиение объекта на несколько частей (фрагментов) и размещение каждого фрагмента на один или несколько компьютеров. Размещение фрагментов может быть избыточным или безизбыточным.
При избыточном размещении необходимо определить степень дублирования фрагментов. Выгоды, получаемые от дублирования, пропорциональны соотношению объемов выборки данных и их обновления. Для поддержания целостности базы данных требуется корректировка всех копий. Преимущества дублирования уменьшаются с увеличением стоимости хранения фрагментов и, увеличиваются, так как повышается устойчивость системы против отказов. Эффективность работы пользователей с РБД зависит от обеспеченности их информацией о содержащихся в РБД данных, их структуре и размещении. Эту задачу решает сетевой словарь-справочник данных, находящийся в одной ЭВМ сети или дублирующийся на нескольких ЭВМ. При этом словарь-справочник может иметь распределенную структуру, т.е. когда его отдельные фрагменты распределены по рабочим станциям сети.
К организации баз данных предъявляются такие общие требования как, обеспечение высокой скоростью обработки запросов, секретности, независимости (физической и логической) данных, безопасности и т.д. Кроме перечисленных требований, к РБД выдвигаются требования "прозрачности": распределенной структуры БД; совместного доступа к данным; распределенной обработки.
Распределенная структура БД предполагает независимость конечных пользователей и программ от способа размещения информации на рабочих станциях сети, т.е. формулирование запросов к РБД производится аналогично запросам к централизованной БД.
Совместный доступ к данным подразумевает модификацию одних и тех же данных несколькими пользователями не нарушая целостности РБД.
"Прозрачность" распределенной обработки означает независимость пользователей и программ от типа локальной вычислительной сети и применяемого сетевого программного обеспечения. Обработка запроса пользователя может производиться на нескольких ЭВМ.
Доступ пользователей к РБД и администрирование осуществляется с помощью системы управления распределенной базой данных (СУРБД), которая обеспечивает выполнение следующих функций:
Прикладные программы управления данными представляют собой необходимый инструмент для распределенной обработки.
Архитектура клиент-сервера сети позволяет различным прикладным программам одновременно использовать общую базу данных. Совершенно очевидно, что перенос программ управления данными с рабочих станций на сервер способствует высвобождению ресурсов рабочих станций, предоставляет возможность увеличить число частных, локально решаемых задач. Данная архитектура позволяет также централизовать ряд самых важных функций управления данными, такие, как защита информации баз данных, обеспечение целостности данных, управление совместным использованием ресурсов.
Одним из важных преимуществ архитектуры клиент-сервера в сетевой обработке данных является возможность сокращения времени реализации запроса. В подтверждение этому рассмотрим две базовые технологии обработки информации в архитектуре клиент-сервера сети и технологии использования традиционного файлового сервера.
Допустим, что прикладная программа базы данных загружена на рабочую станцию и пользователю необходимо получить все записи, удовлетворяющие некоторым поисковым условиям. В среде традиционного файлового сервера программа управления данными, которая выполняется на рабочей станции, должна осуществить запрос к серверу каждой записи базы данных (рис.4.11,а). Программа управления данными на рабочей станции может определить, удовлетворяет ли запись поисковым условиям, лишь после того, как она будет передана на рабочую станцию.
Очевидно, что данный технологический вариант обработки информации имеет наибольшее суммарное время передачи данных по каналам сети.
В среде клиент-сервера, напротив, рабочая станция посылает запрос высокого уровня серверу базы данных. Сервер базы данных осуществляет поиск записей на диске и анализирует их. Записи, удовлетворяющие условиям, могут быть накоплены на сервере. После того, как запрос целиком обработан, пользователю на рабочую станцию передаются все записи, которые удовлетворяют поисковым условиям (рис. 4.11,б).
Данная технология позволяет снизить сетевой трафик и повысить пропускную способность сети. Более того, за счет выполнения операции доступа к диску и обработки данных в одной системе сервер может осуществить поиск и обрабатывать запросы быстрее, чем если бы эти запросы обрабатывались на рабочей станции.
Прикладные программы баз данных клиент-сервера поддерживаются программными продуктами:
- NetWare Btrieve- программой управления записями с индексацией по ключу (выполняется на сервере);
- NetWare SQL - ядром реляционных баз данных, предназначенным для обеспечения системы защиты и целостности данных.
Службы баз данных NetWare Btrieve и NetWare SQL фирмы Novell позволяют разработчикам создавать надежные прикладные программы баз данных без необходимости написания собственных программ управления записями, что обеспечивает удобный перенос прикладных программ в среду клиент-сервера.
В настоящее время разработаны десятки тысяч прикладных автономных и многозадачных программ, ориентированных на клиента версий NetWare Btrieve, NetWare SQL, которые могут быть использованы организациями, создающими или имеющими сеть ЭВМ. Более того, версии NetWare Btrieve и NetWare SQL фирмы Novell для клиентов имеют согласованные API, что упрощает перенос программ из среды одного клиента в среду другого.
Файл-сервер |
Рабочая станция |
б) Распределенная среда обработки запросов в сетях ЭВМ.
Рис. 4.11. (а,б).Технологии обработки запросов по базовым вариантам
По степени изменчивости все базы данных (БД) можно разделить на два класса:
А - условно-постоянные (в основном для справочных систем);
Б - сильно динамичные (для банковских, биржевых систем и т.п.).
Для ведения баз данных первого и второго классов используются системы управления базами данных (СУБД), которые в значительной степени отличаются друг от друга как по функциональным возможностям, так и по эксплуатационным характеристикам.
Например,
- для условно-постоянных БД наиболее важными показателями являются показатели скорости отработки запросов и скорости формирования выходных отчетов по БД, а такие показатели, как скорость отработки транзакций и контроль целостности БД при отработке транзакций не столь критичны;
- для сильно-динамичных БД, на первый план выходят такие показатели, как скорость отработки транзакций, возможность контроля целостности, скорость формирования отчетов, согласованность по чтению и транзакциям. Менее критичны здесь скорости отработки запросов.
Поэтому любая СУБД не может одинаково успешно применяться при работе с БД разных классов. Такие системы, как CLIPPER, FOXPRO ориентированы на первый класс БД-(А), и здесь имеются неплохие результаты, а такие СУБД ,как Informix, Ingres, SyBase создавались для второго класса-(Б).
Исходя из вышесказанного напрашивается вывод: найти "золотую середину", которая удовлетворяла бы требованиям обоих классов (А) и (Б). Решением этой противоречивой задачи является использование дифференциальной организации файлов базы данных, или дифференциальных файлов (ДФ).
В последнее время разработчики СУБД ведущих фирм подошли к использованию идеи ДФ. Причинами явились следующие факты:
- значительно расширился класс решаемых на IBM PC задач, так, что термин "персональный компьютер" уже не соответствует действительности;
- широкое распространение локальных вычислительных систем (ЛВС);
- разработка многопользовательских и многозадачных систем;
- стремительное развитие технической базы ЭВМ (в большей степени дисковой памяти).
Остановимся на сути ДФ применительно к БД в ЛВС. Реализация идеи ЛВС в различных СУБД значительно отличается.
Идея ДФ включает три положения:
- основной файл БД остается неизменным при любых обновлениях базы данных, т.е.,
- любые изменения БД последовательно накапливаются в специальном файле изменений (не путать с журналом транзакций) - ДФ;
- никакие индексы для него не создаются и не поддерживаются.
Когда ДФ достигнет значительных размеров (примерно 25-40% от размеров БД), администратор вносит все изменения в основной файл БД в удобный момент времени в пакетном режиме.
В качестве примера возьмем сравнение книги, где наблюдаются опечатки в страницах и, базы данных с ДФ. Нет необходимости переиздания книги из-за нескольких опечаток или незначительных изменений. Если это количество имеет тенденцию к значительному росту и достигло предельного значения, то становятся оправданными затраты на переиздание книги, куда должны быть включены все накопленные изменения.
Достоинства ДФ относятся к обеспечению высокой надежности, целостности БД и скорости отработки транзакций.
Вопрос, какие скорости отработки транзакций можно обеспечить при использовании ДФ, является довольно важным. Очевидно, что скорость отработки транзакций при такой организации БД возрастет в десятки раз. При этом сервер базы данных практически напоминает обычный файл-сервер.
Что касается индексов, то проблемы их поддержания не существует (скорости добавления, удаления и модификации записей БД находятся на самом высоком уровне). Внесение добавлений в БД не отличается от добавлений в обычный последовательный файл. Время обновления записей БД не зависит ни от размеров БД, ни от длины ключей, ни от их числа. Временные затраты на блокировку (как одно из узких мест для БД и ЛВС) сведены к минимуму.
Для того чтобы обеспечить согласованность данных по чтению нет необходимости блокировать целиком таблицу, что имеет место в ряде СУБД, т.е., когда запрос (или формируемый отчет) начинает выполняться, СУБД "запоминает" старший адрес в ДФ (моментальный снимок). При этом пользователь, инициализирующий свой запрос, не обязан ждать "своего момента". Он "не видит" никого из пользователей и получает снимок БД именно в этот момент времени. Далее, по мере выполнения запроса (даже очень быстрого) часть записей-целей могла быть или изменена или удалена. Это отразится только на старших адресах ДФ, а поэтому СУБД просто проигнорирует любые изменения данных, случившиеся после начала выполнения запроса. Гарантируется корректировка сложных и длительных запросов к БД, т.е. обеспечение согласованности по чтению и транзакциям.
Использование ДФ обеспечивает:
- возможность администратору восстанавливать случайно удаленные записи;
- возможность (при необходимости) хранить индексные файлы на самих рабочих станциях;
- возможность создания распределенных БД;
- одновременное выполнение транзакций.
4.7. Корпоративные технологии
Корпоративная система (система управления) - это автоматизированная система управления достаточно крупным предприятием, имеющим сложную организационно-производственную структуру. К предприятиям или организациям такого типа можно отнести, например, промышленные предприятия с разветвленной цеховой структурой производства, предприятия энергоснабжения и связи, торговые оптово-закупочные предприятия, базы, администрации округов.
Корпоративные системы должны работать в сети и включать в себя все функциональные комплексы задач, обеспечивать автоматизированное управление предприятиями, организациями, ведомствами.
Корпоративные системы (системы автоматизации и управления корпорацией, компанией, финансовой группой и т.п.) включают в себя значительно больше функций, чем просто управление предприятием. Корпорация может объединять различные управленческие, производственные, финансовые и другие структуры, иметь несколько территориально удаленных филиалов, предприятий, торговых фирм, занимающихся самыми разнообразными видами деятельности (производственной, строительной, добывающей, банковской, страховой и пр.). Здесь на первый план выходят скорее проблемы правильной организации информационного обеспечения: уровней иерархии, агрегирования информации, ее оперативности и достоверности, консолидации данных и отчетов в центральном офисе, организации доступа к данным и их защиты, технологии согласованного обновления единой информации общего доступа. В качестве компонентов системы присутствуют: функционально полная подсистема бухгалтерского учета с возможностью использования различных международных стандартов; подсистемы оперативного, производственного учета, учета кадров, различные подсистемы управления, делопроизводства и планирования, анализа и поддержки принятия решений и пр. Причем, бухгалтерская составляющая в такой системе не является главенствующей, т.к. подобные разработки ориентированы больше на руководителей компаний и управляющих разных уровней. В такой системе важнее взаимосвязь и согласованность всех составных частей, непротиворечивость их данных, а также активность применения системы для управления компанией в целом.
В настоящее время весьма актуален переход от небольших локальных сетей персональных компьютеров к промышленным корпоративным информационным системам. Большинство средних и крупных государственных и коммерческих организаций постепенно отказываются от использования только ПК, задачей сегодняшнего дня - создание открытых и распределенных информационных систем.
На сегодняшний день развитие информационных технологий - создание единых сетей предприятий и корпораций, объединяющих удаленные компьютеры и локальные сети, часто использующие разные платформы, в единую информационную систему.
Т.е. необходимо объединить пользователей компьютеров в единое информационное пространство и предоставить им совместный доступ к ресурсам. Однако здесь возникает множество трудностей, связанных с решением задачи по организации каналов связи (кабель Ethernet не протянешь по городу, а тем более до другого конца планеты). При построении корпоративных сетей иногда используются телефонные каналы, но связь по таким коммутируемым линиям ненадежна, аренда выделенных линий связи дорога, а эффективность такого канала невысокая. Проблема возникает и при интегрировании в корпоративную сеть разнородных ЛВС, а также в подключении больших компьютеров, например, IBM mainframe или VAX. Сложности возникают и при объединении в одну локальную сеть компьютеров с разными ОС. Поэтому построение корпоративной сети задача не из легких.
Проблема первая - это каналы связи. Самым оптимальным вариантом является использование уже существующих глобальных сетей передачи данных общего пользования, чтобы коммуникационный протокол в корпоративной сети совпадал с принятым в существующих глобальных сетях. Наиболее рациональным выбором здесь следует считать протокол Х.25. Данный протокол позволяет работать даже на низкокачественных линиях связи, так как разрабатывался он для подключения удаленных терминалов к большим ЭВМ и соответственно включает в себя мощные средства коррекции ошибок, освобождая от этой работы пользователя.
Дальнейшее развитие Х.25 - Frame Relay, а также новые протоколы типа АТМ, хотя и обещают значительно большие скорости, требуют практически идеальных линий связи и, возможно, не скоро будут широко применяться в ближайшем будущем. Существующие в нашей стране глобальные сети общего доступа - SprintNet, Infotel, Pochet и прочие - построены на базе Х.25
Протокол Х.25 позволяет организовать в одной линии до 4096 виртуальных каналов связи. Если протянуть к офису одну выделенную линию, то ее можно использовать для объединения нескольких удаленных офисов, подключения корпоративных информационных ресурсов, доступа к системам электронной почты, базам данным - одновременно.
Выделенная линия - это обычная телефонная линия, с которой можно работать на скоростях 9600-28800 бит/с. Более скоростные линии (64 Кбит/с и >) стоят значительно дороже.
Обычно сети Х.25 строятся на двух типах оборудования - Switch или центр коммутации пакетов (ЦКП) и PAD (packet assembler/disassembler - сборщик/разработчик пакетов), называемый также пакетным адаптером данных (ПАД), или терминальным концентратором. ПАД служит для подключения к сети Х.25 оконечных устройств через порты. Примером использования ПАД в корпоративной сети - подключение банкоматов к центральному компьютеру банка.
ЦКП (центр коммутации пакетов) - его задача состоит в определении маршрута, т.е. в выборе физических линий и виртуальных каналов в них, по которым будет пересылаться информация.
Информационные технологии служат основной цели построению информационных систем, которые могут существенно различаться как по масштабам, так и по классу решаемых задач. В стандартный набор при создании информационных технологий входят стоимость, производительность и надежность. Но при этом необходимо заметить, что это характеристики не самих технологий, а продукции, полученной на их основе. Сюда же следует включить стоимость сопровождения, стоимость подготовки обслуживающего персонала, удобство использования и т.д. Естественно, требования, выдвигаемые к стоимости, производительности и надежности вытекают из задач, для решения которых и создаются эти продукции.
Сложно дать точное определение корпоративным или некорпоративным (персональным) технологиям. Рассматривая такой атрибут как надежность, можно сказать, что здесь кроется основное отличие систем коллективного пользования от систем персональных. При выходе из строя персональной системы страдает один пользователь, а при отказе системы, обслуживающей сотни и тысячи человек, последствия несоизмеримо тяжелее. Проблема обеспечения максимальной надежности очень строго стоит на всех уровнях корпоративных технологий, будь то аппаратные, программные или организационные уровни.
Что касается производительности или «пропускной способности», то для пользователя она (производительность) неинтересна, если его запросы выполняются в пределах ограничений на время отклика. Иначе обстоит дело для системы коллективного пользования. Пропускная способность является одной из основных задач администратора системы, так как именно он отвечает за то, чтобы система обслуживала бы заданное количество пользователей, обеспечивая при этом приемлемые характеристики для каждого конкретного пользователя. Иначе говоря, корпоративные системы предназначены для коллективного обслуживания и любой корпоративный сервер мощнее персонального компьютера.
Перед корпоративными и персональными технологиями стоят задачи увеличения производительности систем, и только принципы определения этой производительности могут различаться. Для одних это выходная мощность, для других пропускная способность. Рассматривая последний фактор, приходим к выводу, что он является общим понятием, так как для обеспечения пропускной способности системы в целом, необходимо чтобы некоторые ее подсистемы имели высокую выходную мощность.
Следствием надежности и производительности является стоимость. Она также распространяется и на количество построенных на определенной технологии систем. В пересчете на количество операций в секунду стоимость мэйнфрейма или корпоративного сервера выше, чем персонального компьютера. Это разные устройства и предназначены они для решения разных, хотя и в чем-то схожих задач. При производстве таких устройств необходимы дополнительные затраты, идущие на исследовательские работы, двойное (тройное) резервирование всех критических подсистем, на тестирование и доводку и т.д. Не маловажное значение для сложных систем имеет стоимость их эксплуатации и сопровождения, модернизации и обучения персонала.
При минимизации стоимости системы, подход, применяемый в корпоративных технологиях, существенно отличается от подхода персональных технологий. Корпоративные технологии на всех уровнях системы предназначены для уменьшения стоимости эксплуатации системы за определенный период времени. Из этого следует, что при построении разных классов систем необходимо применение различных технологий, или, иначе говоря, корпоративным системам корпоративные технологии.
В ближайшем будущем Internet станет основной платформой, на которой будут поставляться системы поддержки и принятия решений (СППР) для внутри- и межкорпоративных приложений. Прикладные коммерческие СППР, использующие Web, должны обладать следующими свойствами:
(Ориентированные на работу через Web клиенты должны поддерживать автоматическую загрузку из сети и обеспечивать отказ от выполняемой в обход браузера инсталляции какого-либо программного обеспечения);
Полноценный доступ пользователей к неструктурированным данным, как и к тому, которым они располагают по отношению к структурированным или реляционным базам.
Создание систем поддержки принятия решений (СППР)
на основе хранилищ данных
В любой информационной системе в той или иной степени присутствуют СППР. Поэтому, сразу после приобретения техники и установки программного обеспечения, перед организацией встает задача создания системы поддержки принятия решений. По мере развития бизнеса, упорядочения структуры организации и налаживания межкорпоративных связей, проблема разработки и внедрения СППР становится особенно актуальной. Одним из подходов таких систем стало использование хранилищ данных.
В зависимости от данных, с которыми работают СППР, их можно разделить на оперативные, предназначенные для немедленного реагирования на текущую ситуацию, и стратегические основанные на анализе большого количества информации из разных источников с привлечением сведений, содержащихся в системах, аккумулирующих опыт решения проблем.
Оперативные СППР получили название Информационных Систем Руководства (ИСР). Они представляют собой наборы отчетов, построенные на основании данных из транзакционной информационной системы предприятия или системы, отражающей в режиме реального времени все аспекты производственного цикла предприятия. Для ИСР характерны следующие основные черты:
Примером СППР может служить разработанная корпорацией ORACLE программа Discoverer. Это простое в использовании средство для создания нерегламентированных запросов, анализа информации, генерации отчетов и их публикации на Web, которое дает бизнес-пользователям всех уровней возможность получать непосредственный доступ к информации, содержащейся в реляционных Хранилищах Данных, Витринах Данных и системах оперативной обработки транзакций (OLTP), поддерживающих бизнес-процессы в их организациях. Discoverer позволяет производить исследование данных посредством их детализации, «вращения» отчетов и создания диаграмм и графиков.
В Хранилищах Данных для улучшения производительности обычно производится предварительное агрегирование огромные количества хранящихся данных суммируются в тех разрезах, которые могут представлять интерес для конечных пользователей. При запросе информации из детальной таблицы очень большого объема, Discoverer автоматически (прозрачно для пользователя) переадресовывает запросы к таблицам, в которых хранятся предварительно просуммированные итоги.
При работе с Discoverer не требуется точного совпадения запроса пользователя с имеющимися суммарными таблицами. Программа выбирает итоговые таблицы, наиболее близкие к требующимся, и (прозрачно для пользователя) производит все необходимые операции агрегирования по иерархии.
Открытый доступ. Чтобы обеспечить возможность интеграции данных из отчетов пользователя с другими приложениями для настольных систем, можно экспортировать отчеты в большое число форматов файлов, например, HTML, XLS, TXT. Доступ к другим базам данных (Informix, MS SQL Server, Sybase, DB2 и др.) можно осуществить с помощью ODBC. Можно посылать отчеты другим пользователям, используя для этого электронную почту с соответствующим MAPI.
Для обеспечения доступа к корпоративным данным максимальному числу пользователей и минимизации при этом затрат на администрирование организации используют Discoverer Viewer. Это Javaверсия пользовательского варианта Discoverer, который позволяет анализировать данные, имея на компьютере только стандартный браузер Web. Вся логика Discoverer выполняется на сервере приложений, что позволяет добиться масштабируемости и простоты администрирования.
Стратегические СППР предполагают достаточно глубокую проработку данных, специально преобразованных так, чтобы их было удобно использовать в ходе процесса принятия решений. Неотъемлемым компонентом СППР этого уровня являются правила принятия решений, которые на основе агрегированных данных подсказывают менеджерскому составу выводы и придают системе черты искусственного интеллекта. Такие системы создаются только в том случае, если структура бизнеса уже достаточно определена и имеются основания для обобщения и анализа не только данных, но и процессов их обработки. Если ИСР (информац.системы руководства) - системы оперативного управления производственными процессами, то СППР это механизм развития бизнеса, который включает в себя некоторую часть управляющей информационной системы, обширную систему внешних связей предприятия, а также технологические и маркетинговые процессы развития производства.
Хранилища данных представляют собой предметно ориентированные, интегрированные, неизменные, поддерживающие хронологию данных системы, организованные для целей поддержки управления.
В основе технологии Хранилищ данных лежат две идеи:
Чем больше информации вовлечено в процесс принятия решений, тем более обоснованное решение может быть принято. Информация, на основе которой принимается то или иное решение, должна обладать такими качествами, как достоверность, полнота, непротиворечивость и адекватность. Поэтому при проектировании СППР возникает вопрос, на каких данных эти системы будут работать. В ИСР качество оперативных решений обеспечивается тем, что данные выбираются непосредственно из информационной системы управления предприятием (или из БД предприятия), которая адекватно отражает состояние бизнеса на данный момент времени. Ранние версии стратегических СППР в качестве исходных использовали относительно небольшой объем агрегированных