Оборудование        07.07.2019   

Основы архитектуры com серверы и клиенты. Клиент-серверная архитектура

Архитектура терминал – главный компьютер

Архитектура терминал – главный компьютер (terminal – host computer architecture) – это концепция информационной сети, в которой вся обработка данных осуществляется одним или группой главных компьютеров.

Рис. 7.1. Архитектура терминал – главный компьютер

Рассматриваемая архитектура предполагает два типа оборудования: главный компьютер, где осуществляется управление сетью, хранение и обработка данных и терминалы, предназначенные для передачи главному компьютеру команд на организацию сеансов и выполнения заданий, ввода данных для выполнения заданий и получения результатов.

Одноранговая архитектура

Одноранговая архитектура (peer-to-peer architecture) – это концепция информационной сети, в которой ее ресурсы рассредоточены по всем системам. Данная архитектура характеризуется тем, что в ней все системы равноправны.

К одноранговым сетям относятся малые сети, где любая рабочая станция может выполнять одновременно функции файлового сервера и рабочей станции. В одноранговых ЛВС дисковое пространство и файлы на любом компьютере могут быть общими. Чтобы ресурс стал общим, его необходимо отдать в общее пользование, используя службы удаленного доступа сетевых одноранговых операционных систем. В зависимости от того, как будет установлена защита данных, другие пользователи смогут пользоваться файлами сразу же после их создания. Одноранговые ЛВС достаточно хороши только для небольших рабочих групп.

Рис. 7.2. Одноранговая архитектура

Одноранговые ЛВС являются наиболее легким и дешевым типом сетей для установки. Однако увеличение количества компьютеров в сети и рост объема пересылаемых данных приводит к тому, что пропускная способность сети становится узким местом.

Архитектура клиент – сервер

Архитектура клиент – сервер (client-server architecture) – это концепция информационной сети, в которой основная часть ее ресурсов сосредоточена в серверах, обслуживающих своих клиентов (рис. 7.3.). Рассматриваемая архитектура определяет два типа компонентов: серверы и клиенты.

Сервер - это объект, предоставляющий сервис другим объектам сети по их запросам. Сервис – это процесс обслуживания клиентов.

Рис. 7.3. Архитектура клиент – сервер

Сервер работает по заданиям клиентов и управляет выполнением их заданий. После выполнения каждого задания сервер посылает полученные результаты клиенту, пославшему это задание.

Сервисная функция в архитектуре клиент – сервер описывается комплексом прикладных программ, в соответствии с которым выполняются разнообразные прикладные процессы.

Процесс, который вызывает сервисную функцию с помощью определенных операций, называется клиентом. Им может быть программа или пользователь.

Топология (конфигурация) – это способ соединения компьютеров в сеть. Тип топологии определяет стоимость, защищенность, производительность и надежность эксплуатации рабочих станций, для которых имеет значение время обращения к файловому серверу.

Существуют три основных топологии: общая шина (Bus); кольцо (Ring) и звезда (Star).

Топология Общая шина (рис. 7.4.) предполагает использование одного кабеля, к которому подключаются все компьютеры сети.

Рис. 7.4. Топология Общая шина

В случае топологии Общая шина кабель используется всеми станциями по очереди. Принимаются специальные меры для того, чтобы при работе с общим кабелем компьютеры не мешали друг другу передавать и принимать данные. Все сообщения, посылаемые отдельными компьютерами, принимаются и прослушиваются всеми остальными компьютерами, подключенными к сети. Рабочая станция отбирает адресованные ей сообщения, пользуясь адресной информацией. Надежность здесь выше, так как выход из строя отдельных компьютеров не нарушит работоспособность сети в целом. Поиск неисправности в сети затруднен. Кроме того, так как используется только один кабель, в случае обрыва нарушается работа всей сети. Шинная топология – это наиболее простая и наиболее распространенная топология сети.

Кольцо – это топология ЛВС, в которой каждая станция соединена с двумя другими станциями, образуя кольцо (рис. 7.5.). Данные передаются от одной рабочей станции к другой в одном направлении (по кольцу). Каждый ПК работает как повторитель, ретранслируя сообщения к следующему ПК, т.е. данные, передаются от одного компьютера к другому как бы по эстафете. Если компьютер получает данные, предназначенные для другого компьютера, он передает их дальше по кольцу, в ином случае они дальше не передаются. Очень просто делается запрос на все станции одновременно. Основная проблема при кольцевой топологии заключается в том, что каждая рабочая станция должна активно участвовать в пересылке информации, и в случае выхода из строя хотя бы одной из них, вся сеть парализуется.

Рис. 7.5. Топология Кольцо

Звезда – это топология ЛВС (рис. 7.6.), в которой все рабочие станции присоединены к центральному узлу (например, к концентратору), который устанавливает, поддерживает и разрывает связи между рабочими станциями.

Рис. 7.6. Топология Звезда

Преимуществом такой топологии является возможность простого исключения неисправного узла. Однако, если неисправен центральный узел, вся сеть выходит из строя.

Звездообразная топология обеспечивает защиту от разрыва кабеля. Если кабель рабочей станции будет поврежден, это не приведет к выходу из строя всего сегмента сети. Она позволяет также легко диагностировать проблемы подключения, так как каждая рабочая станция имеет свой собственный кабельный сегмент, подключенный к концентратору. Для диагностики достаточно найти разрыв кабеля, который ведет к неработающей станции. Остальная часть сети продолжает нормально работать.

Благодаря использованию мостов, специальных устройств, объединяющих локальные сети с разной структурой, из вышеперечисленных типов структур могут быть построены сети со сложной иерархической структурой.

Протоколы. Адресация

Для обеспечения согласованной работы в сетях передачи данных используются различные коммуникационные протоколы передачи данных – наборы правил, которых должны придерживаться передающая и принимающая стороны для согласованного обмена данными.

Передача данных по сети, с технической точки зрения, должна состоять из последовательных шагов, каждому из которых соответствуют свои процедуры или протокол. Таким образом, сохраняется строгая очередность в выполнении определенных действий. Кроме того, все эти действия должны быть выполнены в одной и той же последовательности на каждом сетевом компьютере. На компьютере-отправителе действия выполняются в направлении сверху вниз, а на компьютере-получателе снизу вверх.

Компьютер-отправитель в соответствии с протоколом выполняет следующие действия: Разбивает данные на небольшие блоки, называемыми пакетами, с которыми может работать протокол, добавляет к пакетам адресную информацию, чтобы компьютер-получатель мог определить, что эти данные предназначены именно ему, подготавливает данные к передаче через плату сетевого адаптера и далее – по сетевому кабелю.

Компьютер-получатель в соответствии с протоколом выполняет те же действия, но только в обратном порядке: принимает пакеты данных из сетевого кабеля; через плату сетевого адаптера передает данные в компьютер; удаляет из пакета всю служебную информацию, добавленную компьютером-отправителем, копирует данные из пакета в буфер – для их объединения в исходный блок, передает приложению этот блок данных в формате, который оно использует.

И компьютеру-отправителю, и компьютеру-получателю необходимо выполнить каждое действие одинаковым способом, с тем чтобы пришедшие по сети данные совпадали с отправленными.

Если, например, два протокола будут по-разному разбивать данные на пакеты и добавлять информацию (о последовательности пакетов, синхронизации и для проверки ошибок), тогда компьютер, использующий один из этих протоколов, не сможет успешно связаться с компьютером, на котором работает другой протокол.

Согласованный набор протоколов разных уровней, достаточный для организации межсетевого взаимодействия, называется стеком протоколов. Существует достаточно много стеков протоколов, широко применяемых в сетях. Это и стеки, являющиеся международными и национальными стандартами, и фирменные стеки, получившие распространение благодаря распространенности оборудования той или иной фирмы. Примерами популярных стеков протоколов могут служить стек IPX/SPX фирмы Novell, стек TCP/IP, используемый в сети Internet и во многих сетях на основе операционной системы UNIX, стек OSI международной организации по стандартизации, стек DECnet корпорации Digital Equipment и некоторые другие.

Стеки протоколов разбиваются на три уровня:

– сетевые;

– транспортные;

– прикладные.

Сетевые протоколы предоставляют следующие услуги: адресацию и маршрутизацию информации, проверку на наличие ошибок, запрос повторной передачи и установление правил взаимодействия в конкретной сетевой среде. Ниже приведены наиболее популярные сетевые протоколы.

DDP (Datagram Delivery Protocol – Протокол доставки дейтаграмм). Протокол передачи данных Apple, используемый в Apple Talk.

IP (InternetProtocol – ПротоколInternet). Протокол стека TCP/IP, обеспечивающий адресную информацию и информацию о маршрутизации.

IPX (Internetwork Packet eXchange – Межсетевой обмен пакетами) в NWLink. Протокол Novel NetWare, используемый для маршрутизации и направления пакетов.

NetBEUI (NetBIOS Extended User Interface – расширенный пользовательский интерфейс базовой сетевой системы ввода вывода). Разработанный совместно IBM и Microsoft, этот протокол обеспечивает транспортные услуги для NetBIOS .

Транспортные протоколы предоставляют услуги надежной транспортировки данных между компьютерами. Ниже приведены наиболее популярные транспортные протоколы.

ATP (Apple Talk Protocol – Транзакционный протокол Apple Talk) и NBP (Name Binding Protocol – Протокол связывания имен). Сеансовый и транспортный протоколы Apple Talk.

NetBIOS (Базовая сетевая система ввода вывода). NetBIOS Устанавливает соединение между компьютерами, а NetBEUI предоставляет услуги передачи данных для этого соединения.

SPX (Sequenced Packet eXchange – Последовательный обмен пакетами) в NWLink. Протокол Novel NetWare, используемый для обеспечения доставки данных.

TCP (Transmission Control Protocol – Протокол управления передачей). Протокол стека TCP/IP, отвечающий за надежную доставку данных.

Прикладные протоколы отвечают за взаимодействие приложений. Ниже приведены наиболее популярные прикладные протоколы.

AFP (Apple Talk File Protocol – Файловыйпротокол Apple Talk). ПротоколудаленногоуправленияфайламиMacintosh.

FTP (FileTransferProtocol – Протоколпередачифайлов). Протокол стека TCP/IP, используемый для обеспечения услуг по передачи файлов.

NCP (NetWare Core Protocol – Базовыйпротокол NetWare). Оболочка и редиректоры клиента Novel NetWare.

SNMP (Simple Network Management Protocol – Простой протокол управления сетью). Протокол стека TCP/IP, используемый для управления и наблюдения за сетевыми устройствами.

HTTP (Hyper Text Transfer Protocol) – протокол передачи гипертекста.

Наиболее распространенным стеком протоколов в операционных системах семейства Windows является TCP/IP.

Рассмотрим подробнее принципы адресации компьютеров, работающих через протокол TCP/IP.

Каждый компьютер в сетях TCP/IP имеет адреса трех уровней: физический (MAC-адрес), сетевой (IP-адрес) и символьный (DNS-имя).

Физический , или локальный адрес узла, определяется технологией, с помощью которой построена сеть, в которую входит узел. Для узлов, входящих в локальные сети - это МАС–адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС – адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем.

Сетевой , или IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Internet (Network Information Center, NIC), если сеть должна работать как составная часть Internet. Обычно провайдеры услуг Internet получают диапазоны адресов у подразделений NIC, а затем распределяют их между своими абонентами. Номер узла в протоколе IP назначается независимо от локального адреса узла. Деление IP-адреса на поле номера сети и номера узла - гибкое, и граница между этими полями может устанавливаться произвольно. Узел может входить в несколько IP-сетей. В этом случае узел должен иметь несколько IP-адресов, по числу сетевых связей. IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

Символьный адрес, или DNS-имя , например, SERV1.IBM.COM. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена. Такой адрес используется на прикладном уровне, например, в протоколах FTP или telnet.

Компоненты ЛВС. Сетевое оборудование и среды передачи данных

Компьютерная сеть состоит из трех основных аппаратных компонент и двух программных, которые должны работать согласованно. Для корректной работы устройств в сети их нужно правильно инсталлировать и установить рабочие параметры.

Основными аппаратными компонентами сети являются следующие:

1. Абонентские системы:

Компьютеры (рабочие станции или клиенты и серверы);

Принтеры;

Сканеры и др.

2. Сетевое оборудование:

Сетевые адаптеры;

Концентраторы (хабы);

Маршрутизаторы и др.

3. Коммуникационные каналы:

Разъемы;

Устройства передачи и приема данных в беспроводных технологиях.

Сетевые адаптеры. Для подключения ПК к сети требуется устройство сопряжения, которое называют сетевым адаптером, интерфейсом, модулем, или картой (рис. 7.7.). В сетевом адаптере имеется один разъем для подключения сетевого кабеля.

Сетевой адаптер вставляется в свободное гнездо (слот) материнской платы. В большинстве современных ПК сетевые адаптеры интегрированы в материнскую плату, в этом случае разъем для подключения сетевого кабеля находится на блоке разъемов материнской платы.

Рис. 7.7. Сетевой адаптер

К адаптеру подключается сетевой кабель – провод, по которому осуществляется передача информации по локальной сети. В качестве среды передачи данных в ЛВС используются различные виды кабелей: коаксиальный кабель, кабель на основе экранированной и неэкранированной витой пары и оптоволоконный кабель. Наиболее популярным видом среды передачи данных на небольшие расстояния (до 100 м) становится неэкранированная витая пара (рис. 7.8.), которая включена практически во все современные стандарты и технологии локальных сетей и обеспечивает пропускную способность до 100 Мб/с (на кабелях категории 5). Оптоволоконный кабель широко применяется как для построения локальных связей, так и для образования магистралей глобальных сетей. Оптоволоконный кабель может обеспечить очень высокую пропускную способность канала (до нескольких Гб/с) и передачу на значительные расстояния (до нескольких десятков километров без промежуточного усиления сигнала).

Рис. 7.8. Сетевой кабель типа «Витая пара»

Кабель типа «витая пара» соединяется с сетевым адаптером и другими сетевыми устройствами посредством разъема RJ-45 (рис. 7.9.)

Рис. 7.9. Разъем RJ-45

Следует отметить, что в настоящее время широкое развитие получила технология беспроводной передачи данных в пределах локальной сети. Она имеет ряд преимуществ, в особенности применительно к мобильным устройствам, однако основным недостатком такой технологии является скорость передачи данных.

В основе качестве сетевого оборудования ЛВС используется 3 типа устройств для связи компьютеров - концентраторы , коммутаторы и маршрутизаторы . Каждый из них важен и исполняет различные роли в упрощении коммуникации между сетевыми компьютерами. Снаружи эти устройства могут выглядеть одинаковыми: маленькие, металлические коробочки с множеством соединителей или портов, куда подсоединяются кабели ethernet (рис. 7.10.). Термины «концентратор», «коммутатор» и «маршрутизатор» часто используются взаимозаменяемо, но неправильно – на самом деле, устройства отличаются друг от друга.

Рис. 7.10. Сетевой коммутатор

Сетевой концентратор. По сравнению с коммутаторами и маршрутизаторами, концентраторы – самые дешёвые, самые простые устройства в сети. Все данные, которые поступают в один порт концентратора, отсылаются на все другие порты. Следовательно, все компьютеры, подсоединённые к одному концентратору, «видят» в сети друг друга. Концентратор не обращает никакого внимания на передаваемые данные, он просто посылает их на другие порты. Значение концентратора в том, что он довольно дешёвый и предлагает быстрый и простой способ объединить компьютеры в маленькую сеть.

Сетевой коммутатор. Работа коммутатора во многом схожа с предназначением концентратора, но он делает это более эффективно. Каждый пакет данных, передаваемый в сети, имеет источник и адрес MAC адресата. Коммутатор имеет способность «запоминать» адрес каждого компьютера, подключённого к его портам и действовать как регулировщик - только передавать данные на компьютер адресата и ни на какие другие. Это может оказать существенный положительный эффект на производительность всей сети, потому устраняются ненужные передачи и освобождается сетевая пропускная способность. Коммутатор можно представить как центральный компонент одной сети. Коммутатор отличается от концентратора тем, что он не передаёт повторно рамки на все другие устройства - он создаёт прямое соединение между передающими и принимающими устройствами.

Сетевой маршрутизатор. По сравнению с коммутаторами, маршрутизаторы медленны и относительно дорогостоящи. Маршрутизатор – это интеллектуальное устройство, связывающее две или более сети, а также соединяющее локальную сеть с глобальной. Поскольку может быть множество возможных путей доставки пакетов в рамках глобальной сети, маршрутизатор принимает во внимание множество критериев при определении пути посылки пакета данных.

Порядок выполнения работы

Настройка сетевого подключения в ОС Windows XP

В случае, если. Входящие в состав компьютера сетевой адаптер и драйвера установлены корректно, то подключение по локальной сети появится в системе автоматически. Задача состоит в настройке этого подключения. Для отображения полного списка сетевых подключений выберите раздел:Пуск Настройка Панель управления (рис. 7.11.)

Рис. 7.11. Диалоговое окно «Панель управления»

В раскрывшемся списке отображены все сетевые подключения данного компьютера (рис. 7.12.). Выберите пункт меню Подключения по локальной сети , обозначеное значком .

Рис. 7.12. Диалоговое окно «Сетевые подключения»

Нажав правой кнопкой мыши, выберите в контекстном меню пункт Свойства .Воткрывшемся диалоговом окне (рис. 13), по умолчанию, установлены следующие компоненты:

– Клиент для сетей Microsoft;

– Служба доступа к файлам и принтерам сетей Microsoft;

– Планировщик пакетов QoS;

– Протокол Интернета TCP/IP.

Рис. 7.13. Диалоговое окно «Подключение по локальной сети - свойства»

Выберите компонент Протокол Интернета TCP/IP и нажмите на кнопку Свойства в диалоговом окне. В новом открывшемся диалоговом окне (рисунок 14) настройте IP-адрес компьютера, маску подсети, шлюз и сервера DNS.

Рис. 7.14. Диалоговое окно «Свойства: протокол Интернета (TCP/IP)»

В случае, если ваш компьютер подключен к многоранговой сети, в которой функционирует выделенный сервер, на этом сервере может быть настроен протокол DHCP (Dynamic Host Configuration Protocol - протокол динамической конфигурации узла). Это сетевой протокол, позволяющий клиентским компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Если протокол DHCP на сервере вашей сети активирован, то вся настройка сетевого подключения сводится к выбору пункта «Получить IP-адрес автоматически». В противном случае настройку адреса придется проводить вручную.

Для каждого из компьютеров сети необходимо выбрать свой IP-адрес, причем так, чтобы эти адреса находились в одной логической IP-сети. IP-адрес состоит из двух частей: номера сети и номера узла. В случае изолированной сети её адрес может быть выбран администратором из специально зарезервированных для таких сетей блоков адресов (192.168.0.0÷16, 172.16.0.0÷12 или 10.0.0.0÷8). Если же сеть должна работать как составная часть Интернета, то адрес сети выдаётся провайдером. IP-адрес не может начинаться с числа 127, так как адреса в диапазоне 127.х.х.х зарезервированы для обозначения так называемого «локального хоста». Обращение по адресу 127.0.0.1 приводит к активированию так называемой «внутренней петли», образующей сеть из одного компьютера, что используется для самодиагностики сетевых протоколов.

Маска подсети в простых одноранговых сетях, как правило, выражается значением 255.255.255.0. В поле «основной шлюз» необходимо занести IP-адрес компьютера, управляющего доступом из локальной сети в глобальную сеть Интернет.

DNS сервер – компьютер, обрабатывающий DNS-запросы - осуществляющий преобразование IP-адресов (например 192.168.0.4) в адреса доменного имени (например www.google.com). В случае многоранговой сети адрес DNS-сервера либо совпадает с адресом шлюза, либо выдается провайдером Интернет. В случае одноранговой сети адрес DNS-сервера оставляют пустым.

После определения всех необходимых настроек, нажмите кнопку «ОК». В случае, если выбранный вами IP-адрес уже используется в сети, то вскоре после нажатия на кнопку «ОК» операционная система выдаст соответствующее предупреждение.

Для завершения настройки сети выберите сетевое имя компьютера и рабочую группу (домен). Для этого: на рабочем столе (или в меню «Пуск») найдите значок «Мой компьютер», нажмите на нем правой кнопкой мыши, выберите пункт «Свойства», а в открывшемся окне перейдите на вкладку «Имя компьютера» (рис. 7.15). В поле «Описание» внесите произвольный текст для опознания вашего компьютера пользователями сети. Нажатие на кнопку «Изменить» открывает диалоговое окно (рис. 16), позволяющее дать вашему компьютеру сетевое имя и присоединить его к определенной рабочей группе или домену.

Рис. 7.15. Диалоговое окно «Свойства системы: Имя компьютера»

Рис. 7.16. Диалоговое окно «Изменение имени компьютера»

Использование команд командной строк и WindowsXP для проверки работоспособности сети и определения текущих настроек.

Для запуска командной строки нажмите в главном меню Windows на кнопку Пуск → Выполнить , а в открывшемся диалоговом окне наберите “cmd”. Общий вид окна командной строки представлен на рис.7.17.

Рис. 7.17. Окно командной строки Windows

Для получения информации о настройках протокола TCP/IP используется команда «ipconfig» (рис.7.18.). Команда выдает информацию о базовых настройках всех сетевых подключений, настроенных на компьютере. Более полная информация, включающая названия и физические адреса (MAC-адреса) сетевых адаптеров, сетевое имя компьютера и др. может быть получена при использовании команды «ipconfig» с ключом «-all».

Рис. 7.18. Результат выполнения команды ipconfig

Для диагностики работоспособности всей цепочки Операционная система первого компьютера → сетевой адаптер первого компьютера → кабель → концентратор(коммутатор) → кабель → сетевой адаптер второго компьютера → операционная система второго компьютера используется команда «ping». В качестве аргумента команды используется IP-адрес (либо доменный адрес) удаленного компьютера. В случае успешного обмена эхо-пакетами, на экране появится информация о времени отклика удаленного компьютера, количестве потерянных пакетов и др. (рис. 7.19.)

Рис. 7.19. Результат выполнения команды ping

Общее использование ресурсов в Windows XP

Важным преимуществом локальных компьютерных сетей является возможность обмена файлами между разными рабочими станциями без использования сменных носителей, а также совместное использование оборудования (принтеры, сканеры и т.д.). Операционная система Windows XP позволяет легко получать доступ к ресурсам других компьютеров и организовывать общий доступ к ресурсам локального компьютера.

Для обзора компьютеров, находящихся в локальной сети, найдите на рабочем столе или в основном меню значок «Сетевое окружение» и дважды щелкните на нем левой кнопкой мыши. В открывшемся окне выбирайте: Вся сеть → Microsoft Windows Network .

Открывшееся окно (рис. 7.20.) содержит список рабочих групп локальной сети. Выбрав одну из рабочих групп, вы переходите к обзору рабочих станций (компьютеров), входящих в эту рабочую группу (рис. 7.21.). Выбрав одну из рабочих станций, вы получаете доступ к списку общих ресурсов этой рабочей станции (рис. 7.22.). В этом списке будут перечислены как общие папки с данными, так и общее оборудование (принтеры, сканеры и т.д.). Далее, перемещаясь по структуре папок удаленной рабочей станции, вы можете копировать находящиеся там файлы, а при соответствующих настройках – изменять их, удалять или копировать файлы со своего компьютера на удаленный компьютер.

Рис. 7.20. Список рабочих групп локальной сети

Рис. 7.21. Список рабочих станций рабочей группы

Рис. 7.22. Список общих ресурсов рабочей станции

Альтернативным способом получения доступа к папке на удаленном компьютере является подключение сетевого диска . В этом случае папка общего доступа будет добавлена в систему в качестве логического диска (как, например, диски «С», «D»).Для подключения сетевого диска в окне любой открытой папки Windows выберите в главном меню Сервис → Подключить сетевой диск . Откроется диалоговое окно, представленное на рис.7.23.

Рис. 7.23. Подключение сетевого диска

В верхнем поле ввода выберите букву для сетевого диска, а в нижнем поле ввода введите имя сервера и имя сетевой папки в формате «\\server\share» (имя сервера может быть заменено IP-адресом). Поставив отметку в поле «Восстанавливать при входе в систему », вы активируете опцию повторного подключения сетевого диска при последующей загрузке системы.

Рис. 7.24. Диалоговое окно «Мой компьютер» с подключенными сетевыми дисками

Для того, чтобы произвести отключение ранее подключенного сетевого диска, в окне любой открытой папки Windows выберите в главном меню Сервис → Отключить сетевой диск , выберите желаемый диск и нажмите ОК .

Для того чтобы иметь возможность пользоваться периферийным оборудованием, подключенным к удаленному компьютеру (например, принтером), необходимо произвести установку драйверов для этого оборудования в систему.

Процесс установки драйвера для сетевого принтера: нажмите . В открывшемся диалоговом окне выберите пункт Установка принтера , после чего запустится Мастер установки принтеров . В первом диалоговом окне мастера нажмите Далее . Во втором диалоговом окне мастера выберите пункт Сетевой принтер или принтер, подключенный к другому компьютеру и также нажмите Далее . Откроется диалоговое окно, представленное на рис.7.25.

Рис. 7.25. Мастер установки принтеров

Если вы не знаете доменного имени или IP-адреса компьютера, к которому подключен интересующий вас принтер, выберите пункт Обзор принтеров и нажмите Далее , после чего система произведет поиск доступных принтеров в локальной сети. В зависимости от размера локальной сети, этот процесс может быть достаточно долгим. Чтобы ускорить его, выберите пункт «Подключиться к принтеру или выполнить обзор принтеров» и в поле ввода «имя» введите доменное имя или IP-адрес компьютера, к которому подключен сетевой принтер, в следующей форме: «\\host\» («\\ххх.ххх.ххх.ххх\»). В этом случае поиск принтеров будет производиться только на указанном вами компьютере и займет значительно меньше времени. После того, как сетевой принтер будет обнаружен, произведите установку его драйверов в систему нажатием на кнопку Установить .

Созданиепапки открытой для общего доступа .

В диалоговом окне Мой компьютер или Проводник найдите интересующую вас папку, нажмите на ней правой кнопкой мыши и в появившемся контекстном меню выберите пункт Свойства . В открывшемся диалоговом окне (рис. 7.26.) перейдите на вкладку Доступ .

Рис. 7.26. Вкладка «Доступ» диалогового окна «Свойства папки»

Поставьте флажок напротив пункта Открыть общий доступ к этой папке . Для открытой папки можно назначить сетевое имя – имя, под которым эта папка будет отображаться при просмотре ресурсов вашего компьютера с других компьютеров сети. Следует отметить, что если поставить в конце сетевого имени значок доллара ($), то сетевая папка не будет видна при просмотре ресурсов вашего компьютера из сети, однако ее можно будет подключить как сетевой диск.

Открытие общего доступа к папке дает возможность пользователям сети только копировать файлы с вашего компьютера и открывать их в режиме чтения. Для того, чтобы дать им возможность изменять и удалять файлы, находящиеся в папке общего доступа на вашем компьютере, поставьте флажок напротив пункта «Разрешить изменение файлов по сети».

Чтобы разрешить пользователям сети пользоваться принтером, установленным на вашем компьютере, запустите Пуск → Настройка → Принтеры и факсы . Нажмите правой кнопкой мыши на интересующем вас принтере, в контекстном меню выберите пункт Свойства . В открывшемся диалоговом окне перейдите на вкладку Доступ (рис. 7.27.). Доступ к принтеру можно открыть аналогично доступу к папке - установив флажок напротив пункта Общий доступ к данному принтеру и выбрав его сетевое имя.

Рис. 7.27. Вкладка «Доступ» диалогового окна «Свойства принтера»

Контрольные вопросы

1. Что такое компьютерная сеть?

2. Назовите основные сетевые топологии. Какая из них наиболее надежная и почему?

3. В чем заключается функция сервера? Расскажите о технологии клиент-сервер.

4. Перечислите основные аппаратные сетевые компоненты и их назначение.

5. Что такое сетевой протокол? Расскажите о протоколе TCP/IP.

6. Как узнать основные сетевые настройки вашего компьютера?

7. Как получить доступ к папке, открытой для общего доступа на удаленном компьютере?

8. Как установить в системе сетевой принтер?

9. Как предоставить общий доступ к папке, находящейся на вашем компьютере?

Отчет должен содержать: название и цель работы, список используемых программных средств, результаты выполнения заданий и ответ на индивидуальный вопрос соответствующего варианта.

Задания

1. Определите IP-адрес вашего компьютера, его сетевое имя и рабочую группу, в которую он входит.

2. Создайте на локальном компьютере новую папку. Откройте общий доступ к созданной папке.

3. Создайте в папке текстовый файл, в который поместите ответы на задание 1, а также на индивидуальный вопрос вашего варианта.

4. Составьте список папок, открытых для общего доступа на сервере кафедры.

5. Подключите одну из папок, открытых для общего доступа на сервере кафедры, в качестве сетевого диска. Сделайте скриншот, подтверждающий подключение сетевого диска, сохраните его в графический файл, который поместите в папку, созданную в задании 2.

6. Установите в системе сетевой принтер, подключенный к серверу кафедры.

7. Разрешите сетевым пользователям изменение файлов, содержащихся в папке, созданной в задании 2.

8. Скопируйте в папку, созданную в задании 2, текстовый файл, созданный другим студентом вашей группы с ответом на вопросы его варианта. Нужный файл найдите на компьютере этого студента.

9. После демонстрации результатов работы преподавателю удалите созданные вами файлы и папки и сетевой принтер, отключите сетевые диски.

Индивидуальные вопросы

Вариант 1: Определите архитектуру локальной сети кафедры.

Вариант 2: Определите топологию локальной сети кафедры.

Вариант 3: Определите MAC-адрес сетевого адаптера вашего компьютера.

Вариант 4: Определите среднее время отклика сервера кафедры

Вариант 5: Определите, является ли IP-адрес 127.168.0.1 допустимым в локальной сети.

Вариант 6: Определите, является ли IP-адрес 168.127.1.0 допустимым в локальной сети.

Вариант 7: Определите тип сетевого кабеля, использованный для построения локальной сети в вашей аудитории.

Вариант 8: Определите, функционирует ли в сети кафедры DHCP-сервер.

Вариант 9: Определите адрес DNS-сервера локальной сети кафедры.

Вариант 10: Каким способом можно получить доступ к файлу, находящемуся на удаленном компьютере в папке общего доступа с названием «shared$».

©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27

]. Это позволяет разделить функции хранения, обработки и представления данных для более эффективного использования возможностей серверов и клиентов.

Среди многоуровневой архитектуры клиент-сервер наиболее распространена трехуровневая архитектура ( трехзвенная архитектура , three- tier ), предполагающая наличие следующих компонентов приложения: клиентское приложение (обычно говорят "тонкий клиент" или терминал ), подключенное к серверу приложений , который в свою очередь подключен к серверу базы данных [ , ].

рис. 5.4 .


Рис. 5.4. Представление многоуровневой архитектуры "клиент-сервер"

  • Терминал – это интерфейсный (обычно графический) компонент, который представляет первый уровень, собственно приложение для конечного пользователя. Первый уровень не должен иметь прямых связей с базой данных (по требованиям безопасности), быть нагруженным основной бизнес-логикой (по требованиям масштабируемости) и хранить состояние приложения (по требованиям надежности). На первый уровень может быть вынесена и обычно выносится простейшая бизнес-логика: интерфейс авторизации, алгоритмы шифрования, проверка вводимых значений на допустимость и соответствие формату, несложные операции (сортировка, группировка, подсчет значений) с данными, уже загруженными на терминал .
  • Сервер приложений располагается на втором уровне. На втором уровне сосредоточена большая часть бизнес-логики. Вне его остаются фрагменты, экспортируемые на терминалы , а также погруженные в третий уровень хранимые процедуры и триггеры.
  • Сервер базы данных обеспечивает хранение данных и выносится на третий уровень. Обычно это стандартная реляционная или объектно-ориентированная СУБД. Если третий уровень представляет собой базу данных вместе с хранимыми процедурами, триггерами и схемой, описывающей приложение в терминах реляционной модели, то второй уровень строится как программный интерфейс, связывающий клиентские компоненты с прикладной логикой базы данных.

В простейшей конфигурации физически сервер приложений может быть совмещен с сервером базы данных на одном компьютере, к которому по сети подключается один или несколько терминалов .

В "правильной" (с точки зрения безопасности, надежности, масштабирования) конфигурации сервер базы данных находится на выделенном компьютере (или кластере), к которому по сети подключены один или несколько серверов приложений , к которым, в свою очередь, по сети подключаются терминалы .

Плюсами данной архитектуры являются [ , , , ]:

  • клиентское ПО не нуждается в администрировании;
  • масштабируемость;
  • конфигурируемость – изолированность уровней друг от друга позволяет быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней;
  • высокая безопасность;
  • высокая надежность;
  • низкие требования к скорости канала (сети) между терминалами и сервером приложений ;
  • низкие требования к производительности и техническим характеристикам терминалов , как следствие снижение их стоимости.
  • растет сложность серверной части и, как следствие, затраты на администрирование и обслуживание;
  • более высокая сложность создания приложений;
  • сложнее в разворачивании и администрировании;
  • высокие требования к производительности серверов приложений и сервера базы данных , а, значит, и высокая стоимость серверного оборудования;
  • высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений .
  1. Представление;
  2. Уровень представления;
  3. Уровень логики;
  4. Уровень данных;
  5. Данные.


Рис. 5.5. Пять уровней многозвенной архитектуры "клиент-сервер"

К представлению относится вся информация, непосредственно отображаемая пользователю: сгенерированные html-страницы, таблицы стилей, изображения.

Уровень представления охватывает все, что имеет отношение к общению пользователя с системой. К главным функциям слоя представления относятся отображение информации и интерпретация вводимых пользователем команд с преобразованием их в соответствующие операции в контексте логики и данных.

Уровень логики содержит основные функции системы, предназначенные для достижения поставленной перед ним цели. К таким функциям относятся вычисления на основе вводимых и хранимых данных, проверка всех элементов данных и обработка команд, поступающих от слоя представления, а также передача информации уровню данных.

Уровень доступа к данным – это подмножество функций, обеспечивающих взаимодействие со сторонними системами, которые выполняют задания в интересах приложения.

Данные системы обычно хранятся в базе данных.

5.1.6. Архитектура распределенных систем

Такой тип систем является более сложным с точки зрения организации системы. Суть распределенной системы заключается в том, чтобы хранить локальные копии важных данных .

Схематически такую архитектуру можно представить, как показано на рис. 5.6 .


Рис. 5.6.

Более 95 % данных, используемых в управлении предприятием, могут быть размещены на одном персональном компьютере, обеспечив возможность его независимой работы . Поток исправлений и дополнений, создаваемый на этом компьютере, ничтожен по сравнению с объемом данных, используемых при этом. Поэтому если хранить непрерывно используемые данные на самих компьютерах, и организовать обмен между ними исправлениями и дополнениями к хранящимся данным, то суммарный передаваемый трафик резко снизится. Это позволяет понизить требования к каналам связи между компьютерами и чаще использовать асинхронную связь, и благодаря этому создавать надежно функционирующие распределенные информационные системы, использующие для связи отдельных элементов неустойчивую связь типа Интернета, мобильную связь, коммерческие спутниковые каналы. А минимизация трафика между элементами сделает вполне доступной стоимость эксплуатации такой связи. Конечно, реализация такой системы не элементарна, и требует решения ряда проблем, одна из которых своевременная синхронизация данных.

Каждый АРМ независим, содержит только ту информацию, с которой должен работать, а актуальность данных во всей системе обеспечивается благодаря непрерывному обмену сообщениями с другими АРМами. Обмен сообщениями между АРМами может быть реализован различными способами, от отправки данных по электронной почте до передачи данных по сетям.

Технология клиент-сервер предусматривает наличие двух самостоятельных взаимодействующих процессов - сервера и клиента, связь между которыми осуществляется по сети.

Серверами называются процессы, отвечающие за поддержку и файловой системы, а клиентами - процессы, которые посылают запрос и ожидают ответ от сервера.

Модель клиент-сервер используется при построении системы на основе СУБД, а также почтовые системы. Существует еще так называемая файл-серверная архитектура, которая существенно отличается от клиент-серверной.

Данные в файл-серверной системе сохраняются на файловом сервере (Novell NetWare или WindowsNT Server), а обрабатываются они на рабочих станциях посредством функционирования "настольных СУБД", таких как Access, Paradox, FoxPro и т.п.

СУБД располагается на рабочей станции, а манипулирование данными производится несколькими независимыми и несогласованными между собой процессами. Все данные при этом передаются с сервера по сети на рабочую станцию, что замедляет скорость обработки информации.

Технология клиент-сервер реализована функционированием двух (как минимум) приложений - клиентов и сервера, которые делят функции между собой. За хранение и непосредственное манипулирование данных отвечает сервер, примером которого может быть SQLServer, Oracle, Sybase и другие.

Пользовательский интерфейс формирует клиент, в основе построения которого используются специальные инструменты или настольные СУБД. Логическая обработка данных выполняется частично на клиенте, и частично на сервере. Посылка запросов на сервер выполняется клиентом, обычно на языке SQL. Полученные запросы обрабатываются сервером, и клиенту (клиентам) возвращается результат.

При этом данные обрабатываются там же, где они хранятся - на сервере, поэтому большой объем их не передается по сети.

Преимущества архитектуры клиент-сервер

Технология клиент-сервер привносит в информационную систему такие качества:

  • Надежность

Модификация данных осуществляется сервером баз данных при помощи механизма транзакций, придающего совокупности операций такие свойства, как: 1) атомарность, которая обеспечивает целостность данных при любом завершении транзакции; 2) независимость транзакций разных пользователей; 3) устойчивость к сбоям - сохранение результатов завершения транзакции.

  • Масштабируемость, т.е. способность системы не зависеть от количества пользователей и объемов информации без замены используемого программного обеспечения.

Технология клиент-сервер поддерживает тысячи пользователей и гигабайты информации при соответствующей аппаратной платформе.

  • Безопасность, т.е. надежная защита информации от
  • Гибкость. В приложениях, работающих с данными, выделяют логических слои: пользовательский интерфейс; правила логической обработки; управление данными.

Как уже было отмечено, в файл-серверной технологии все три слоя объединяются в одно монолитное приложение, функционирующее на рабочей станции, а все изменения в слоях обязательно приводят к модификации приложения, различаются версии клиента и сервера, и требуется проводить обновление версий на всех рабочих станциях.

Технология клиент-сервер в двухуровневом приложении предусматривает выполнение всех функций по формированию на клиенте, а всех функций по управлению информацией баз данных - на сервере, бизнес-правила возможно реализовывать как на сервере, так и на клиенте.

Трехуровневое приложение допускает промежуточный уровень, который реализует бизнес-правила, являющиеся наиболее изменяемыми компонентами.

Несколько уровней позволяют гибко и с наименьшими затратами адаптировать имеющееся приложение к постоянно модифицируемым требованиям бизнеса.

Системы "клиент-сервер". Часть 2

Архитектура клиент-сервер: определение, предпосылки для применения, плюсы и минусы

Что такое архитектура клиент-сервер? Варианты построения приложений

Итак, поговорим, наконец, о том,

что же все-таки такое клиент-сервер . Строго говоря, следует отличать технологию клиент-сервер в широком смысле, которая может быть использована в любых компьютерных системах от собственно архитектуры клиент-сервер применительно к информационным приложениям вообще и автоматизированным системам управления предприятием особенно.

Согласно онлайновому словарю компьютерных терминов, клиент-сервер - это вид распределенной системы, в которой есть сервер, выполняющий запросы клиента, причем сервер и клиент общаются между собой с использованием того или иного протокола.

Под клиентом понимается программа, использующая ресурсы, а под сервером (по английски - слуга) программа, обслуживающая запросы клиентов на получение ресурсов определенного вида. Столь широкое определение включает в себя практически любую программную технологию, в которой участвуют больше одной программы, функции между которыми распределены асимметрично. Соответственно, говорят о технологии КС применителько к операционным системам, локальным и глобальным сетям и т. д.

Такое широкое определение рождает некоторую путаницу. Так, файл-серверная система тоже использует технологию клиент-сервер, однако с точки зрения архитектуры прикладных программ важным является то, какого рода ресурсы сервер предоставляет клиентам.

Понятие архитектуры клиент-сервер в системах управления предприятием связано с делением любой прикладной программы на три основных компонента или слоя. Этими тремя компонентами являются

:
  • компонент представления (визуализации) данных;
  • компонент прикладной логики;
  • компонент управления базой данных.
  • Действительно, любая программа, компьютеризирующая выполнение той или иной прикладной задачи, должна обмениваться информацией с пользователем, осуществлять собственно обработку этой информации в рамках автоматизации того или иного бизнес-процесса, и, наконец, хранить данные используемые в программе, на том или ином постоянном носителе.

    Для локальных приложений, полностью работающих на ПЭВМ (например, Word или Excel), все эти компоненты собраны вместе и не могут быть распределены между различными компьютеры. Такая программа является монолитной и использует для выполнения ресурсы только того компьютера, на котором выполняется.

    В файл-серверных приложениях часть компоненты хранения переносится на файловый сервер, однако, все манипуляции со структурами данных выполняются на клиентской машине, и код пользовательской программы тоже работает только на ней.

    Критерием, позволяющим отнести прикладную программы к архитектуре клиент-сервер является то, что хотя бы один из трех ее компонентов полностью выполняется на другом компьютере, и взаимодействие между компонентами на разных компьютерах осуществляется через ту или иную сетевую среду посредством передачи запросов на получение того или иного ресурса.

    Поскольку архитектура клиент-сервер является частным случаем технологии клиент-сервер, в ней обязательно есть клиент и сервер. Соответственно, выделяют клиентскую и серверную стороны приложения. Клиентская сторона приложения функционирует на рабочем месте пользователя, в роли которого в подавляющем числе случаев выступает персональный компьютер. Серверная сторона функционирует на специализированном комплексе, включающем в себя мощные аппаратные средства, требуемый набор стандартного программного обеспечения, систему управления базами данных и собственно структуры данных.

    Взаимодействие клиентской и серверной частей приложения осуществляется через сеть - локальную или глобальную. При этом с точки зрения клиента и сервера взаимодействие осуществляется прозрачно, соответственно сетевой компонент здесь включает в себя совокупность необходимого сетевого оборудования, набор программных технологий, обеспечивающих передачу данных между узлами сети, а также собственно протокол или протоколы для обмена запросами и результатами их выполнения.

    Компонент визуализации прикладной задачи осуществляет ввод информации пользователем с помощью тех или иных средств, а также вывод информации на экран и печать. Компонент визуализации для архитектуры клиент-сервер всегда исполняется на рабочем месте пользователя (поскольку должен же он наблюдать какие-либо результаты работы программы).

    Компонент прикладной логики решает собственно ту или иную задачу, связанную с обработкой данных в той или иной предметной области. Этот компонент может быть распределен между клиентской и серверной частью различным образом в зависимости от применяемой модели.

    Компонент хранения базы данных осуществляет физические операции, связанные с хранением данных, чтением информации из БД и записью в нее. В архитектуре клиент-сервер этот компонент всегда выполняется на сервере.

    С точки зрения количества составных частей клиент-серверные системы делятся на двухуровневые и трехуровневые

    . Двухуровневые системы состоят только из клиента и сервера. В трехуровневых же между пользовательским клиентом и сервером, осуществляющим хранение и обработку базы данных появляется третий, промежуточный слой, являющийся для пользователя сервером, а для системы управления базами данных - клиентом. Такая архитектура позволяет более гибко распределять функции системы и нагрузку между компонентами программно-аппаратного комплекса, а также может снизить требования к ресурсам рабочих мест пользователей. Необходимой платой за это является то, что подобные системы намного сложнее в разработке, внедрении и эксплуатации и требуют значительных затрат и высококвалифицированного персонала.

    В третьей части рассмотрен пример трехзвенной структуры Baikonur Server .

    В архитектуре клиент-сервер выделяются несколько различных моделей приложения , в зависимости от распределения компонентов приложения между клиентской и серверной частями. Исторически самой первой была разработана модель сервера удаленного доступа к данным . В этой модели серверная часть осуществляет только хранение данных, а всю прикладную логику реализует клиентская часть. При этом клиент будет передавать серверу запросы на получение данных, а сервер возвращать клиенту те или иные выборки. Самым распространенным средством общения между клиентом и сервером в этом случае является SQL (структурированный язык запросов) - стандартный непроцедурный язык, ориентированный на обработку данных.

    В модели сервера удаленного доступа к данным на стороне сервера не исполняется никакой прикладной части системы, что может повлечь за собой недогрузку сервера и перегрузку клиента. Поэтому впоследствии была предложена, а затем реализована архитектура сервера базы данных . В ней часть прикладной логики реализуется на сервере, при помощи специального языка программирования, а часть - на клиенте. Это стало возможным благодаря росту производительности серверов современных СУБД. По сравнению с вариантом сервера удаленного доступа к данным, в данном случае несколько уменьшается нагрузка

    на клиентскую часть, интенсивность сетевого обмена данными, а также в ряде случаев упрощается структура приложения. В настоящее время этот вариант построения систем является самым распространенным.

    Еще одним вариантом архитектуры клиент-сервер является сервер приложений . В данном случае клиент выполняет только операции визуализации и ввода данных, а всю прикладную логику реализует сервер. Обмен между клиентом и сервером в таких системах осуществляется на уровне команд вывода данных на экран и результатов пользовательского ввода. Наиболее ярким примером данной архитектуры является хорошо известный веб-браузер . Чаще всего, в модели сервера приложений компоненты прикладной логики и управления данными реализуются раздельно.

    Архитектуру сервера приложений часто называют так называемым "тонким" клиентом , в отличие от традиционного "толстого" клиента, реализуемого в архитектуре сервера баз данных. "Тонкий" клиент является вариантом, который может быть использован, когда ресурсов, доступных на рабочих местах пользователей, недостаточно для исполнения логики приложения. Кроме того, эта технология позволяет сократить расходы на эксплуатацию клиентских компонент системы за счет их сильного упрощения.

    Предпосылки для появления архитектуры клиент-сервер на предприятии

    Компьютеризация промышленного предприятия может достаточно долго проходить в рамках описанных ранее локальных рабочих мест или архитектуры файл-сервер . Тем не менее, рано или поздно может наступить момент, когда единственным вариантом для дальнейшего развития автоматизированных систем управления предприятием станет архитектура клиент-сервер . Давайте попробуем перечислить основные причины , по которым это становится необходимым.

    Во-первых, архитектура клиент-сервер становится жизненно необходимой, когда число пользователей одновременно активно пользующихся одними и теми же данным превышает 10-15 человек. В силу принципиальных ограничений, присущих файл-серверным приложениям, 15 параллельно работающих пользователей такие системы переносят с трудом, а на 20 пользователях часто разваливаются. Таким образом, если перед предприятием встает задача построения системы, в которых число мест, одновременно активно работающих с данными, превышает 20, практически единственным вариантом для него является клиент-сервер.

    Справедливости ради следует заметить, что большие ЭВМ тоже способны справиться с десятками или даже сотнями пользователей. Однако, из-за высокой стоимости аппаратных средств, дороговизны разработки, и, что немаловажно, немалыми затратами на эксплуатацию подобной техники и программ для нее, вариант использования централизованной архитектуры при внедрении новых систем в нашей стране почти никогда не рассматривается.

    Другим критическим моментом для перехода к архитектуре клиент-сервер является переход к решению задач масштаба предприятия и управление предприятием в целом. Автоматизация отдельных рабочих мест может быть с успехом выполнена даже без использования сетевых технологий, с задачами масштаба отдела может справиться и файл-сервер, но построение интегрированной автоматированной системы охватывающей все предприятие или, по крайней мере, какую-либо из подсистем управления возможно только с использованием технологий клиент-сервер.

    Еще одной ситуацией, когда клиент-сервер - единственный способ построения системы, является наличие в автоматизированной системе удаленных пользователей , с которыми необходимо обмениваться информации в реальном масштабе времени. Под реальным масштабом времени мы здесь понимаем секунды-минуты. Обмен данными на дискетах в таком случае не пригоден принципиально, а архитектура файл-сервер потребует очень высоких скоростей обмена, а это может быть либо принципиально невозможно, либо очень дорого. Отдельные примеры богатых организаций, которые строили файл-серверные системы в масштабах города (например, российский "Инкомбанк") являются исключениями, подтверждающими правило.

    И, наконец, архитектура клиент-сервер необходима тогда, когда задача обеспечения целостности информации становится критической . Под критической мы здесь понимаем ситуацию, в которой цена ошибки в данных может быть сопоставима со стоимостью создания системы клиент-сервер. Прежде всего, это актуально для финансовых служб предприятий.

    Попытка решить в рамках компьютеризации промышленного предприятия любую из проблем, перечисленных выше, обязательно повлечет за собой появление системы клиент-сервер. Помимо этого, эта архитектура может появиться в ходе естественного развития автоматизированных систем управления производством, даже если ограничения предыдущих архитектур на данном предприятием еще не стали критическим. Этот вариант является самым предпочтительным, поскольку при этом, с одной стороны, внедрение получает поддержку изнутри, а, с другой стороны, есть время для подготовки плавной смены архитектуры информационных приложений.

    Архитектура клиент-сервер: Да, но...

    Мы уже поговорили о преимуществах архитектуры клиент-сервер. Может возникнуть естественный вопрос, если она так уж хороша, то почему же до сих пор на нее не перешли все крупные пользователи информационных систем. На самом деле не все так просто.

    Прежде всего, для отечественных промышленных предприятий критическим является фактор стоимости . В отличие от западных предприятий, где речь, как правило идет о замене довольно-таки дорогих централизованных систем на клиент-серверные, прямые затраты на которых меньше, отечественные предприятия почти никогда не имели достаточно средств для внедрения у себя больших централизованных систем. Очень часто имеющиеся на предприятии информационные системы построены на устаревших аппаратных средствах, которые требуют полной замены при переходе к архитектуре клиент-сервер.

    Следующим большим "но" является большой объем собственно технологических изменений , возникающих при попытке внедрения архитектуры клиент-сервер. Клиент-серверная система требует другого уровня технической грамотности со стороны, как сотрудников информационных служб, так и конечных пользователей. Расходы на переподготовку пользователей и эксплуатационного персонала, перестройка структуры автоматизации предприятия составляют большую часть айсберга, чем ясно видимые прямые затраты на модернизацию аппаратуры, закупку и/или разработку требуемого обеспечения.

    И, наконец, самым большим подводным камнем на пути создания КС системы на предприятии является необходимость менять структуру управления и связанные с этим организационные издержки

    .

    Попытка внедрить новые технологические решения ничего не меняя в сути автоматизируемых бизнес-процессов может закончиться безрезультатно. При этом предприятие понесет прямые материальные убытки из-за большого объема дорогостоящего аппаратного и программного обеспечения, лежащего мертвым грузом, а также из-за отвлечения сотрудников от выполнения основных служебных обязанностей. В лучшем случае будут внедрены отдельные участки клиент-серверной система, при этом фактически новое программное обеспечение будет использоваться на старом идейном уровне.

    Если, взвесив все за и против, предприятие все-таки решилось на создание клиент-серверной система, то перед ним встает задача выбора компонентов для построения этой системы. В любом случае необходимым компонентом является тот или иной сервер баз данных корпоративного уровня. Остальные компоненты зависят от пути, избранного предприятием для дальнейшего развития автоматизированной системы управления.

    Если предприятие решилось разрабатывать систему само , то перед ним стоит, прежде всего, задача выбора средств разработки. Если предприятие размещает заказ на создание системы у конкретной фирмы-разработчика, то аналогичная задача стоит перед ней.

    В том случае, если принято решение не разрабатывать систему самим, а использовать одно из имеющихся на рынке решений, то главной составляющей выбора является готовая (в той или иной степени) система автоматизации предприятия . На самом деле слово "готовая" должно употребляться очень осторожно, поскольку трудно провести четкую границу между настройкой под нужды конкретного пользования и адаптацией системы, которая часто включает в себя модификацию модулей системы или даже разработку дополнительного обеспечения под нужды заказчика.

    Архитектура клиент-сервер предназначена для разрешения проблем файл-серверных приложений путем разделения компонентов приложения и размещения их там, где они будут функционировать наиболее эффективно. Особенностью архитектуры клиент-сервер является использование выделенных серверов баз данных, понимающих запросы на языке структурированных запросов SQL (Structured Query Language) и выполняющих поиск, сортировку и агрегирование информации.

    Отличительная черта серверов БД - наличие справочника данных, в котором записана структура БД, ограничения целостности данных, форматы и даже серверные процедуры обработки данных по вызову или по событиям в программе.

    Объектами разработки в таких приложениях помимо диалога и логики обработки являются, прежде всего, реляционная модель данных и связанный с ней набор SQL-операторов для типовых запросов к базе данных.

    Большинство конфигураций клиент-сервер использует двухуровневую модель, в которой клиент обращается к услугам сервера. Предполагается, что диалоговые компоненты PS и PL размещаются на клиенте, что позволяет обеспечить графический интерфейс. Компоненты управления данными DS и FS размещаются на сервере, а диалог (PS, PL), логика BL и DL - на клиенте. Двухуровневое определение архитектуры клиент-сервер использует именно этот вариант: приложение работает у клиента, СУБД - на сервере (рис. 1.4.).

    Рис. 6 . Классический вариант клиент-серверной информационной системы

    Поскольку эта схема предъявляет наименьшие требования к серверу, она обладает наилучшей масштабируемостью. Однако сложные приложения, вызывающие большое взаимодействие с БД, могут жестко загрузить как клиента, так и сеть. Результаты SQL-запроса должны вернуться клиенту для обработки, потому что там находится логика принятия решения. Такая схема приводит к дополнительному усложнению администрирования приложений, разбросанных по различным клиентским узлам. Для сокращения нагрузки на сеть и упрощения администрирования приложений компонент BL можно разместить на сервере. При этом вся логика принятия решений оформляется в виде хранимых процедур и выполняется на сервере БД.

    Хранимая процедура - процедура с операторами SQL для доступа к БД, вызываемая по имени с передачей требуемых параметров и выполняемая на сервере БД.

    Хранимые процедуры могут компилироваться, что повышает скорость их выполнения и сокращает нагрузку на сервер. Хранимые процедуры улучшают целостность приложений и БД, гарантируют актуальность коллективно используемых операций и вычислений. Улучшается сопровождение таких процедур, а также безопасность (нет прямого доступа к данным).

    ПРИМЕЧАНИЕ

    Следует помнить, что перегрузка хранимых процедур прикладной логикой может перегрузить сервер, что приведет к потере производительности. Эта проблема особенно актуальна при разработке крупных информационных систем, в которых к серверу может одновременно обращаться большое количество клиентов. Поэтому в большинстве случаев следует принимать компромиссные решения: часть логики приложения размещать на стороне сервера, часть - на стороне клиента. Такие клиент-серверные системы называются системами с разделенной логикой. Данная схема при удачном разделении логики позволяет получить более сбалансированную загрузку клиентов и сервера, но при этом затрудняется сопровождение приложений.

    Создание архитектуры клиент-сервер возможно и на основе многотерминальной системы. В этом случае в многозадачной среде сервера приложений выполняются программы пользователей, а клиентские узлы вырождены и представлены терминалами. Подобная схема информационной системы характерна для UNIX.

    В настоящее время архитектура клиент-сервер получила признание и широкое распространение как способ организации приложений для рабочих групп и информационных систем корпоративного уровня. Подобная организация работы повышает эффективность выполнения приложений за счет использования возможностей сервера БД, разгрузки сети и обеспечения контроля целостности данных.

    Двухуровневые схемы архитектуры клиент-сервер могут привести к некоторым проблемам в сложных информационных приложениях с множеством пользователей и запутанной логикой. Решением этих проблем может стать использование многоуровневой архитектуры.

    Многоуровневая архитектура

    Многоуровневая архитектура стала развитием архитектуры клиент-сервер и в своей классической форме состоит из трех уровней:

    · нижний уровень представляет собой приложения клиентов, выделенные для выполнения функций и логики представлений PS и PL и имеющие программный интерфейс для вызова приложения на среднем уровне;

    · средний уровень представляет собой сервер приложений, на котором выполняется прикладная логика BL и с которого логика обработки данных DL вызывает операции с базой данных DS;

    · верхний уровень представляет собой удаленный специализированный сервер базы данных, выделенный для услуг обработки данных DS и файловых операций FS (без риска использования хранимых процедур).

    Подобную концепцию обработки данных пропагандируют, в частности, фирмы Oracle, Sun, Borland и др.

    Трехуровневая архитектура позволяет еще больше сбалансировать нагрузку на разные узлы и сеть, а также способствует специализации инструментов для разработки приложений и устраняет недостатки двухуровневой модели клиент-сервер.

    Централизация логики приложения упрощает администрирование и сопровождение. Четко разделяются платформы и инструменты для реализации интерфейса и прикладной логики, что позволяет с наибольшей отдачей реализовывать их специалистам узкого профиля. Наконец, изменения прикладной логики не затрагивают интерфейса, и наоборот. Но поскольку границы между компонентами PL, BL и DL размыты, прикладная логика может появиться на всех трех уровнях. Сервер приложений с помощью монитора транзакций обеспечивает интерфейс с клиентами и другими серверами, может управлять транзакциями и гарантировать целостность распределенной базы данных. Средства удаленного вызова процедур наиболее соответствуют идее распределенных вычислений: они обеспечивают из любого узла сети вызов прикладной процедуры, расположенной на другом узле, передачу параметров, удаленную обработку и возврат результатов.

    С ростом систем клиент-сервер необходимость трех уровней становится все более очевидной. Продукты для трехзвенной архитектуры, так называемые мониторы транзакций, являются относительно новыми. Эти инструменты в основном ориентированы на среду UNIX, однако прикладные серверы можно строить на базе Мicrosoft Windows NT с использованием вызова удаленных процедур для организации связи клиентов с сервером приложений. На практике в локальной сети могут использоваться смешанные архитектуры (двухуровневые и трехуровневые) с одним и тем же сервером базы данных. С учетом глобальных связей архитектура может иметь больше трех звеньев. В настоящее время появились новые инструментальные средства для гибкой сегментации приложений клиент-сервер по различным узлам сети.

    Таким образом, многоуровневая архитектура распределенных приложений позволяет повысить эффективность работы корпоративной информационной системы и оптимизировать распределение ее программно-аппаратных ресурсов. Но пока на российском рынке по-прежнему доминирует архитектура клиент- сервер.

    Интернет/интранет-технологии

    В развитии технологии Интернет/интранет основной акцент пока что делается на разработке инструментальных программных средств. В то же время наблюдается отсутствие развитых средств разработки приложений, работающих с базами данных.

    Компромиссным решением для создания удобных и простых в использовании и сопровождении информационных систем, эффективно работающих с базами данных, стало объединение Интернет/интранет-технологии с многоуровневой архитектурой. При этом структура информационного приложения приобретает следующий вид: браузер - сервер приложений - сервер баз данных - сервер динамических страниц - web-сервер. Благодаря интеграции Интернет/интранет-технологии и архитектуры клиент-сервер процесс внедрения и сопровождения корпоративной информационной системы существенно упрощается при сохранении достаточно высокой эффективности и простоты совместного использования информации.

    Области применения и примеры реализации информационных систем

    В последние несколько лет компьютер стал неотъемлемой частью управленческой системы предприятий. Однако современный подход к управлению предполагает еще и вложение денег в информационные технологии. Причем чем крупнее предприятие, тем больше должны быть подобные вложения.

    Благодаря стремительному развитию информационных технологий наблюдается расширение области их применения. Если раньше чуть ли не единственной областью, в которой применялись информационные системы, была автоматизация бухгалтерского учета, то сейчас наблюдается внедрение информационных технологий во множество других областей. Эффективное использование корпоративных информационных систем позволяет делать более точные прогнозы и избегать возможных ошибок в управлении. Из любых данных и отчетов о работе предприятия можно извлечь массу полезных сведений. И информационные системы как раз и позволяют извлекать максимум пользы из всей имеющейся в компании информации. Именно этим фактом и объясняются жизнеспособность и бурное развитие информационных технологий - современный бизнес крайне чувствителен к ошибкам в управлении, и для принятия грамотного управленческого решения в условиях неопределенности и риска необходимо постоянно держать под контролем различные аспекты финансово-хозяйственной деятельности предприятия (независимо от профиля его деятельности).

    Поэтому можно вполне обоснованно утверждать, что в жесткой конкурентной борьбе большие шансы на победу имеет предприятие, использующее в управлении современные информационные технологии.

    Рассмотрим наиболее важные задачи, решаемые с помощью специальных программных средств.