Технология клиент-сервер. Клиент-серверная двухуровневая архитектура ис

05.08.2019 Игры

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

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

Рисунок Архитектура клиент - сервер

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

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

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

Рисунок Модель клиент-сервер

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

В сетях с выделенным файловым сервером на выделенном автономном ПК устанавливается серверная сетевая операционная система . Этот ПК становится сервером. Программное обеспечение (ПО ), установленное на рабочей станции, позволяет ей обмениваться данными с сервером. Наиболее распространенные сетевые операционная системы:

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

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

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

Сети клиент - серверной архитектуры имеют следующие преимущества:

Позволяют организовывать сети с большим количеством рабочих станций;

Обеспечивают централизованное управление учетными записями пользователей, безопасностью и доступом, что упрощает сетевое администрирование;


Эффективный доступ к сетевым ресурсам;

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

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

Неисправность сервера может сделать сеть неработоспособной, как минимум потерю сетевых ресурсов;

Требуют квалифицированного персонала для администрирования;

Имеют более высокую стоимость сетей и сетевого оборудования.

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

Архитектура терминал – главный компьютер (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

5 Особенности и преимущества архитектуры "клиент/сервер"

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

Рис.5. Этап 4: обработка данных в архитектуре "клиент/сервер"

В чем преимущества клиент-серверных информационных систем по сравнению с их аналогами, созданными на основе сетевых версий настольных СУБД?

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

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

Кроме того, для описания серверных бизнес-правил, в наиболее типичных ситуациях (как в примере с заказчиками и заказами) существуют весьма удобные инструменты - так называемые CASE-средства (CASE означает Computer-Aided System Engineering), позволяющие описать подобные правила и создавать реализующие их объекты базы данных (индексы, триггеры), буквально рисуя мышью связи между таблицами, без какого бы то ни было программирования. В этом случае клиентское приложение будет избавлено от значительной части кода, связанного с реализацией бизнес-правил непосредственно в приложении. Отметим также, что часть кода, связанного с обработкой данных, также может быть реализована в виде хранимых проце дур сервера, что позволяет еще более "облегчить" клиентское приложение, г это означает, что требования к рабочим станциям могут быть не столь высоки. Это в конечном итоге удешевляет стоимость информационной системы даже при использовании дорогостоящей серверной СУБД и мощного сервера баз данных.

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

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

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

Итак, клиент-серверная информационная система состоит в простейшем случае из трех основных компонентов:

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

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

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

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

1.6. Компоненты системы

Клиент

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

Сервер

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

Сеть

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

Приложения

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

Есть два различного рода программного обеспечения для технологии клиент-сервер. Программное обеспечение, установленное на сервере (back-end tool), обеспечивает сбор, хранение и обработку данных. Примером подобных программ может служить Oracle, Sybase и Ingres.

Программное обеспечение на компьютере-клиенте (front-end application, фронтальное, предварительной обработки данных) более интерактивное, простое в использовании и более дружественное к пользователю. В качестве примера можно привести такие программы, как Developer 2000, Power Builder и Designer 2000.

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

Каждая машина обработки данных имеет свое фронтальное программное обеспечение. Для Oracle это Developer 2000, а для Sybase – Power Builder. Особенностью системы является то, что каждый фронтальный компьютер может общаться с компьютером базы данных. Так, в случае базы данных Oracle, может использоваться приложение Power Builder с небольшими изменениями.

1.6.1 Соберем все части вместе

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

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

Рис.6. Устройство системы «клиент-сервер»

1.7 Многозвенные информационные системы Internet

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

Эти проблемы решаются путем создания многозвенных информационных систем с "тонким" клиентом (рис.7).

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

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

Рис.7. Этап 5: обработка данных в многозвенной архитектуре

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

Говоря об использовании Internet/Intranet, нельзя не остановиться на возможностях создания приложений для Web-серверов. Такие приложения, с одной стороны, могут являться клиентами серверных СУБД, а с другой стороны, обычно генерируют динамические HTML-страницы (в том числе с данными из этих СУБД) по запросу клиентского приложения, роль которого в данном случае выполняет Web-браузер (называемый в этом случае "ультратонким" клиентом, рис.8). Отметим, что в последнее время такие приложения получают все большее распространение.

Рис.8. Принципы работы Web-приложения

1.8 Зачем нужны многозвенные информационные системы

Информационные системы, созданные на основе классической архитектуры "клиент/сервер", называемые двухзвенными системами или системами с "толстым" клиентом, состоят из сервера баз данных, содержащего сгенерированные тем или иным способом таблицы, индексы, триггеры и другие объекты, реализующие бизнес-правила данной информационной системы, и одного или нескольких клиентских приложений, предоставляющих интерфейс пользователя и производящих проверку допустимости и обработку данных, согласно содержащимся в них алгоритмам. Если говорить о клиентских приложениях, созданных для доступа к источникам данных они применяют вызовы функций прикладных программных интерфейсов клиентских частей соответствующих серверных СУБД. Эти вызовы осуществляются например посредством использования библиотеки Borland Database Engine (BDE), хотя в целом это не является обязательным (например, некоторые пользователи Oracle непосредственно вызывают функции Oracle Call Interfase в своих приложениях). Соответственно подобное клиентское приложение требует наличия на компьютере Конечного пользователя клиентской части применяемой серверной СУБД (и наличия лицензии на ее использование) и присутствия в оперативной памяти набора динамически загружаемых библиотек как из клиентской части, так и из ВDE (либо иной заменяющей ее библиотеки), таких, как драйверы баз данных, библиотеки, содержащие функции API клиентских частей и др. При использовании доступа посредством ООВС требуется также наличие на рабочей станции соответствующего ODBC-драйвера и ODBC администратора. Это усложняет технические требования, предъявляемые аппаратной части клиентской рабочей станции, и в конечном итоге приводит к удорожанию всей системы в целом (рис.9).

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

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

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

Рис.-9. Классическое клиентское приложение («толстый» клиент).

Выходом из этой ситуации является создание систем с так называемым "тонким" клиентом, в частности с клиентом, не содержащим в своем составе BDE и клиентскую часть серверной СУБД. В этом случае функциональность, связанная с доступом к данным (а нередко и какая-либо иная функциональность), возлагается на другое приложение, называемое обычно сервером приложений и являющееся клиентом серверной СУБД. В свою очередь, клиентские приложения обращаются не непосредственно к серверной СУБД с помощью вызова функций клиентских API, а к серверу приложений, являющемуся для них источником данных, при этом собственно клиентская часть серверной СУБД и библиотеки типа BDE на рабочей станции, где используется такое клиентское приложение, присутствовать не обязаны. Вместо них (например) применяется одна-единственная динамически загружаемая библиотека. Таким образом, созданная информационная система становится трехзвенной, а сервер приложений является средним звеном в цепи "тонкий клиент - сервер приложений - сервер баз данных" и, соответственно, относится к классу продуктов middleware (рис.10).

Рис.10. Решение проблем: "тонкий" клиент и сервер приложении

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

1.9 ТЕРМИНОЛОГИЯ РАСПРЕДЕЛЕННЫХ СУБД

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

На сегодняшний день существуют три параллельно развивающиеся и конкурирующие технологии взаимодействия объектов и программ: MIDAS (Multitier Distributed Application Srevices Suite), СОМ (Common Object Model - компонентная модель объектов) корпорации Microsoft, CORBA (Common Object Require Broken Architecture - архитектура с поставщиком требуемых общих объектов) независимой группы OMG. Основные принципы этих технологий и использующиеся в них термины описываются ниже.

1.10 Технология MIDAS

Midas (Multitier Distributed Application Srevices Suite) - новый продукт компании Inprise (Borland), предназначенный для эксплуатации сервера приложений, созданных с помощью C++ Builder 3 и Delphi 3. Этот продукт расширяет возможности, предоставляемые разработчикам технологией Microsoft DCOM (Distributed Component Object Model). Этот продукт позволяет обеспечить высокую производительность, надежность и защиту от сбоев при эксплуатации подобных систем.

Архитектура трехзвенной информационной системы, построенной с использованием MIDAS, представлена на рис. 11.

Рис.11. Архитектура трехзвенной информационной системы с использованием MIDAS

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

Remote Data Broker позволяет создавать распределенные трехзвенные информационные системы, состоящие из серверной СУБД, среднего звена и "тонкого" клиента, при этом среднее звено может в общем случае состоять из нескольких серверов приложений и функционировать на нескольких компьютерах. Заметим, что "тонкий" клиент (пример создания которого был рассмотрен выше) представляет собой приложение, не содержащее бизнес-правил, а лишь предоставляющее интерфейс пользователя.

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

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

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

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

Отметим также, что удаленные модули данных (объекты Remote Data Module), входящие в состав серверной части Remote Data Broker, позволяют предоставить DCOM-интерфейс для| соответствующих объектов, делая их управляемыми извне и превращая, таким образом, сервер приложений в DCOM-сервер. Осуществляется такая публикация объектов путем выбора опции экспорта из удаленного модуля данных та контекстного меню соответствующего компонента при разработке сервера приложений.

Business Object Broker осуществляет для "тонкого" клиента поиск нужного сервера приложений среди доступных извне серверов, опубликованных в глобальном реестре - global registry, представляющем собой открытые части реестров компьютеров, содержащих серверы приложений. Применяется он в случае, когда требуется дублирование серверов приложений и возможность при сбое работы используемого сервера приложений подключить Клиентское приложение к другому серверу, либо при необходимости равномерного распределения клиентов по серверам приложений. Еще одной важной составляющей частью MIDAS является ConstraintBroker, дающий возможность использовать бизнес-правила сервера баз данных "тонким" клиентом. Обычно при проектировании баз данных бизнес-правила и правила ссылочной целостности реализуются в виде объектов базы данных, таких, как индексы, триггеры, хранимые процедуры. Такой подход к проектированию данных позволяет использовать эти объекты различными клиентскими приложениями без написания дополнительного кода.

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

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

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

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

Помимо перечисленных очевидных преимуществ трехзвенной архитектуры MIDAS также предоставляет разработчикам дополнительные возможности повышения надежности созданной информационной системы. Например, при наличии в сети нескольких однотипных серверов приложений Сбой одного из них приведет к распределению подключенных к нему "тонких" клиентов по другим серверам - это сделает Business Object Broker. Он же обеспечивает и равномерную загрузку серверов приложений клиентскими соединениями.

Но это еще не все. Именно трехзвенная архитектура позволяет реально осуществить централизацию хранения и обработки данных с одновременным доступом к актуальной информации I случае, когда рабочая станция находится на значительном расстоянии от сервера приложений исключающем прокладку локальной сети, так как доступ к серверу приложений может осуществляться » иными способами, такими, как модемное соединение или доступ через Internet. Требования к надежности такого соединения невысоки, так как при использовании подобной архитектуры активно применяется кеширование данных на рабочей станции, и при этом применение ConstraintBroker позволяет проверять соответствие изменяемых данных правилам сервера непосредственно на рабочей станции, поэтому применение "тонких" клиентов и серверов приложений, управляемых MIDAS, является одним из решений для территориально разбросанных предприятий, организаций с удаленными филиалами, в том числе в других городах и странах.

1.11 Технология СОМ

Технология СОМ разрабатывается корпорацией Microsoft и предназначена для того, чтобы одна программа (клиент) смогла заставить работать объект, являющийся частью другой программы (частью сервера), так, как если бы этот объект был частью клиента, причем обе программы в общем случае могут быть расположены на разных компьютерах (в том числе - находящихся в разных частях света), написаны на разных языках и исполняться под управлением разных операционных систем. Более того, сами компьютеры могут быть разного типа - например, IBM-совместимый ПК и рабочая станция SUN.

Ключевым аспектом СОМ является так называемый интерфейс. Интерфейс имеет уникальный идентификатор и набор параметров, описывающих методы, события и свойства общего объекта. Идентификатор интерфейса ID (Interface Identifier) является частным случаем GUID (Global Unique Identifier - глобально уникальный идентификатор). В состав Windows32 включены функции, генерирующие GUID, причем вероятность совпадения двух GUID ничтожно мала. Параметры интерфейса в общем случае описывают некоторый класс с идентификатором CLSID (Class ID реализуется как GUID), т. е. типы и имена используемых в нем полей, количество и типы параметров обращения к доступным методам и свойствам, имена методов и свойств и т. д. Получив интерфейс внешнего СОМ-объекта, клиент может его использовать так же, как свои собственные объекты. Любой СОМ-объект имеет интерфейс IUnknow, с помощью которого он может получить доступ к основному интерфейсу объекта.

Сервер СОМ представляет собой исполняемую программу или DLL, содержащую один или несколько объектов СОМ.

В зависимости от местоположения клиента и сервера возможны три варианта:

Клиент и сервер располагаются на одной машине и запускаются в одном процессе (именно так взаимодействует программа Delphi с компонентами ActiveX)", в этом случае сервер представляет собой DLL; клиент и сервер располагаются на одной машине, но запускаются в разных процессах (например, таблицы Exel вставлены в документ Word); в этом случае сервер представляет собой программу;

Клиент и сервер располагаются на разных машинах; сервером может быть как программа, так и DLL, используется распределенный вариант СОМ, который называется DСОМ (DСОМ).

В первом случае клиент с помощью интерфейса объекта непосредственно обращается к методам объекта в своем собственном адресном пространстве (рис.12).

Рис.12 Взаимодействие клиента и сервера в одном процессе.

Если сервер запускается в другом процессе или на другой машине, между объектом и клиентом располагаются два посредника - Proxy (уполномоченный) и Stub (заглушка) (рис.13). Клиент помещает параметры вызова в стек и обращается к методу интерфейса объекта. Однако это обращение перехватывает Proxy, упаковывает параметры вызова в пакет СОМ и направляет его в Stub другого процесса, возможно, на другой машине. Stub распаковывает параметры, помещает их в стек и делает вызов нужного метода объекта. Таким образом, метод объекта выполняется в собственном адресном пространстве процесса сервера.

1.12 Технология CORBA

Подобно СОМ, в CORBA активно используется интерфейс объекта. Главным отличием CORBA от СОМ является интегрированный в нее слой, реализующий доступ к удаленным объектам.

В соответствии с этой технологией схема взаимодействия клиента и сервера выглядит следующим образом (рис.14).

На машине клиента создаются два объекта-посредника: Stub (заглушка) и ORB (Object Require Broker - брокер требуемого объекта). Stub выступает как полномочный представитель объекта: с помощью интерфейса объекта клиент обращается к Stub так, как если бы это был сам объект.

Рис.13. Взаимодействие клиента и сервера в разных процессах.

Рис. 14. Взаимодействие клиента и сервера в CORBA.

Получив вызов метода, Stub транслирует этот вызов объекту ORB, который посылает в сеть широковещательное сообщение. На это сообщение откликается один из объектов Smart Agent((«умный» агент), установленный в сетевом окружении клиента (как в локальной сети, так и в Internet). Smart Agent моделирует сетевой каталог, в котором зарегистрированы известные ему серверы объектов. Он отыскивает нужный сетевой адрес сервера и передает запрос объекту ORB на машине сервера. Заметим, что обмен данными между ORB (клиента и сервера) и Smart Agent осуществляется с использованием специального протокола UDP, который более бережно использует сетевые ресурсы, чем протокол ТСР. Через ВОА (Basic Object Adapter - базовый объектный адаптер) данные получает особый объект сервера, который называется Skeleton (скелет). Skeleton помещает параметры вызова в стек адресного пространства объекта и реализует собственно вызов. Роль объекта ВОА заключается в фильтрации обращений к объекту сервера: с помощью его методов сервер через Skeleton может объявить некоторые свои поля и свойства доступными только для чтения иди вовсе срытыми от данного клиента. (Поскольку в рамках технологии данные, которыми обмениваются клиент и сервер, рассматриваются просто как цепочки байт, клиент должен поместить в буфер вызова свой авторизованный ключ в системах, защищенных от «посторонних» клиентов.)

«Изюминкой» CORBA является способ описания интерфейса объекта. Для этих целей разработан специальный язык IDL (Interface Definition Language - язык описания интерфейса), очень напоминающий язык С++. После описания интерфейса в терминах этого языка компилятор IDL автоматически создает объекты Stub и Skeleton. Обмен информацией об интерфейсе между разработчиками осуществляется в терминах языка высокого уровня, в то время как компилятор описания интерфейса переводит его текст в машинные инструкции конкретного компьютера (клиента или сервера). В результате достигается высокая степень независимости обмена данными от аппаратных средств клиента и пользователя.

Для реализации технологии в сетевом окружении клиента должен существовать хотя бы один Smart Agent. Если обмен данными осуществляется в локальной сети офиса, Smart Agent устанавливается на головную машину (на файл-сервер или машину с SQL-сервером), а при обмене данными по Internet - на одном из ее узлов. При создании сервера осуществляется автоматическая регистрация объектов в одном или нескольких Smart Agent. Таким образом, Smart Agent «знает», по каким сетевым адресам расположены его серверы. Это позволяет системе повысить свою надежность: если в одном из серверов произошел сбой, Smart Agent повторит вызов и при повторном сбое переключится на другой сервер.

1.13 Некоторые выводы

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

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

1.14. Применение систем Клиент/Сервер

Применение систем клиент-сервер в основном сконцентрировано в:

Банковском деле;

Системе продаж авиа билетов;

Сети Интернет.

Банковское дело

Все мы хорошо знакомы с основными банковскими операциями . Вот они:

2. Размещение и снятие с депозита наличных и безналичных денег ;

3. Предоставление займов;

4. Инвестиции;

5. Следование инструкциям банковского клиента.

Это лишь некоторые из многих функций, исполняемых банком в наши дни. Глобализация экономики привела к широкому распределению филиалов банков по стране. Так, например, у клиента банка открыт счет в Нью-Йорке, а оплатить чек он желает в Лос-Анджелесе, или получить наличными из банкомата во Флориде.

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

Как происходит перевод?

После того, как пользователь вводит номер счета, локальный терминал передает запрос по номеру и сумму счета к узловому компьютеру. Сервер сличает номер счета и проверяет достаточность баланса. Если на счету достаточно денег, с него снимается нужная сумма, и новый баланс «прописывается» на сервере. Это способ проплаты платежей между локальным терминалом и сервером.

Система продаж авиабилетов

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

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

Интеренет

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

Известно, что Интернет представляет собой совокупность малых сетей, расположенных по всему миру. Для того, чтобы все сети могли понимать друг друга, необходимо, чтобы они изъяснялись на одном и том же языке, названном ТСР/IР. Вне зависимости от географического расстояния и платформы становится возможным клиентским и серверным машинам разговаривать друг с другом.

Давайте посмотрим, почему Мировая Паутина (WWW) может быть названа наиболее популярным программным приложением к/с в сети Интернет.

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

1.15. Примеры развития серверов индивидуальных баз данных

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

Совместимость между собой;

Оптимизация и производительность;

Контроль за целостностью данных;

Обработка переводов;

Конкурентоспособность, защита от зависаний и контроль многопользовательского доступа;

Защита от несанкционированного доступа и проверка подлинности клиента;

Резервирование, восстановление данных и другие функции базы.

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

Клиент-серверная архитектура

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

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

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

Принцип работы клиент-серверной архитектуры

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

Клиент-серверная архитектура: применение технологии

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

Клиент-серверная двухуровневая архитектура ИС

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

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

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

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

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

К достоинствам этой архитектуры относятся:

· полная поддержка многопользовательской работы;

· обеспечение целостности данных.

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

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

· Бизнес логика приложений осталась в клиентском ПО. При любом изменении алгоритмов, надо обновлять пользовательское ПО на каждом клиенте.

· Высокие требования к пропускной способности коммуникационных каналов с сервером, что препятствует использование клиентских станций иначе как в локальной сети.

· Слабая защита данных от взлома, в особенности от недобросовестных пользователей системы.

· Высокая сложность администрирования и настройки рабочих мест пользователей системы.

· Необходимость использовать мощные ПК на клиентских местах.

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