Понятие вычислительной сети
Вычислительная сеть — Р’РЎ [network] – это совокупность РР’Рњ, объединённых средствами передачи данных. Средства передачи данных РІ Р’РЎ РІ общем случае состоят РёР· следующих элементов: связных РР’Рњ, каналов СЃРІСЏР·Рё (спутниковых, телефонных, волоконно-оптических Рё РґСЂ.), коммутирующей аппаратуры Рё РґСЂ.
Р’ зависимости РѕС‚ удалённости РР’Рњ, входящих РІ Р’РЎ, сети условно разделяют РЅР° локальные Рё глобальные.
Локальная сеть — ЛВС [local area network — LAN] – это РіСЂСѓРїРїР° связанных РґСЂСѓРі СЃ РґСЂСѓРіРѕРј РР’Рњ, расположенных РІ ограниченной территории, например, РІ здании. Расстояния между РР’Рњ РІ локальной сети может достигать нескольких километров. Локальные сети развёртываются обычно РІ рамках некоторой организации, поэтому РёС… называют также корпоративными сетями.
Если сеть выходит Р·Р° пределы здания, то такая Р’РЎ называется глобальной [wide area network -WAN]. Глобальная сеть может включать РІ себя РґСЂСѓРіРёРµ глобальные сети, локальные сети Рё отдельные РР’Рњ.
Глобальные сети практически имеют те же возможности, что и локальные. Но они расширяют область их действия. Польза от применения глобальных сетей ограничена в первую очередь скоростью работы: глобальные сети работают с меньшей скоростью, чем локальные.
Сети предназначены для выполнения многих задач, в том числе:
организация совместного использования файлов для повышения целостности информации;
организация совместного использования периферийных устройств, например, принтеров, для уменьшения общих расходов на оборудование офиса;
обеспечения централизованного хранения данных для облегчения их защиты и архивирования.
Глобальные сети придают всему этому большие масштабы и добавляют такую удобную вещь, как электронная почта.
Локальные вычислительные сети
Архитектура локальной сети
Для характеристики архитектура сети используют понятия логической и физической топологии.
Физическая топология [physical topology] – это физическая структура сети, способ физического соединения всех аппаратных компонентов сети. Существует несколько видов физической топологии.
Наиболее простой является физическая шинная топология [bus topology], РІ которой кабель идёт РѕС‚ РР’Рњ Рє РР’Рњ, связывая РёС… РІ цепочку. Различают толстые Рё тонкие сети. Толстая сеть [thicknet] использует толстый коаксиальный кабель РІ качестве магистрали, РѕС‚ которого отходят более тонкие кабели.
В тонкой сети [thinnet] используется более тонкий и гибкий кабель, к которому напрямую подключены рабочий станции.
Сети, построенные по шинной топологии, более дёшевы. Однако если узлы сети расположены по всему зданию, то гораздо более удобным оказывается использование звездообразной топологии.
При физической звездообразной топологии [star topology] каждый сервер и рабочая станция подключаются к специальному устройству – центральному концентратору [hub], который осуществляет соединение пары узлов сети – коммутацию.
/> Рис. 1. Шинная топология — толстая сетьОбрыв кабеля, идущего от одной рабочей станции не повлияет на работу остальных рабочих станций. Кроме того, взаимное расположение рабочих станций совершено не важно.
/> Рис. 2. Шинная топология — тонкая сетьЕсли сеть имеет много узлов, причём многие располагаются на большом удалении друг от друга, то расход кабеля при использовании звездообразной топологии будет большим. Кроме того, к концентратору можно подключить лишь ограниченное число кабелей. В таких случаях применяется распределённая звездообразная топология [distributed star topology], при которой несколько концентраторов соединяются друг с другом.
Кроме рассмотренных видов соединений может применяться также кольцеобразная топология, при которой рабочие станции соединены в кольцо. Такая топология практически не используется для локальных сетей, но может применяться для глобальных.
Логическая топология сети [logical topology] определяет способ, в соответствии с которым устройства сети передают информацию от одного узла к следующему. Физическая топология не имеет прямого отношения к логической.
Различают два вида логической топологии: шинную и кольцевую.
/> Рис. 3. Звездообразная топологияВ шинной логической топологии процесс передачи данных организован следующим образом. Если какой-либо узел сети имеет данные для другого узла, то первый узел производит «оповещение» всей сети. Все остальные узлы «слушают» сеть и проверяют, предназначены эти данные для них или нет. Если предназначены, то они оставляют их себе, если нет – игнорируют. Любые передаваемые данные «слышны» всем узлам сети. Узел, который хочет передать какие-то данные, сначала «слушает» сеть, не занята ли она. Если сеть свободна, то узел передаёт данные. Если расстояние между узлами велико, и посланный ранее кем-то сигнал ещё не успел дойти до передающего узла, то может произойти конфликт, когда в сети одновременно оказываются два сообщения. В этом случае передающие узлы сети на короткое время прекращают свою работу и через некоторый случайный промежуток времени возобновляют передаче данных.
/> Рис. 4. Распределённая звездообразная топологияВ сети с кольцевой логической топологией данные передаются по замкнутой эстафете от одного узла к другому. Когда посланное сообщение возвращается к передающему узлу, он прекращает передачу. Кольцевая топология менее подвержена конфликтам.
Аппаратные компоненты локальной сети
Основными компонентами, составляющими любую локальную сеть, являются: кабели, сетевые интерфейсные платы, модемы, серверы.
Все соединения с сети осуществляются посредством специальных сетевых кабелей. Основными характеристиками сетевого кабеля являются скорость передачи данных и максимально допустимая длина. Обе характеристики определяются физическими свойствами кабеля.
ПримерДля соединения в локальных сетях используются: кабели типа «витая пара» и «экранированная витая пара», коаксиальный кабель, оптоволоконный кабель.
Таблица 1. Типы кабелей
Тип кабеляСкорость передачи
данных, Мбит/с
Допустимая
длина, м
Витая пара 100 90 Ркранированная витая пара 100 90 Коаксиальный 10 750 Оптоволоконный 155 10000Рсточник [1].
Сетевые интерфейсные платы [network interface card] представляют СЃРѕР±РѕР№ дополнительные платы, устанавливаемые РЅР° материнскую плату РџРР’Рњ. Рљ сетевой плате подключаются сетевые кабели. Сетевая плата определяет тип локальной сети.
ПримерНа практике используют два типа локальных сетей — Ethernet и Token Ring. Оба типа имеют модификации.
Таблица 2. Типы сетей Ethernet
Название Физическая топология и кабельСкорость передачи
РњР±РёС‚/СЃ
10Base2 Шинная, тонкий коаксиальный 10 10BaseS Шинная, толстый коаксиальный 10 Fast Ethernet Звездообразная, витая пара 100 Gigabit Ethernet Звездообразная, оптоволоконный 1000Рсточник [2].
Модем [modem] – это устройство, предназначенное для СЃРІСЏР·Рё между РР’Рњ РїРѕ телефонным линиям. РџРѕ телефонной сети любые данные РјРѕРіСѓС‚ передаваться лишь РІ аналоговой форме. Данные РѕС‚ РР’Рњ поступают РІ цифровом РІРёРґРµ. Задача модема заключается РІ преобразовании цифровых данных РІ аналоговую форму Рё наоборот.
Сервер [server] – это любая сетевая РР’Рњ, обслуживающая РґСЂСѓРіРёРµ сетевые РР’Рњ. Существуют серверы различных типов, которые определяются типом предоставляемых услуг.
Файловый сервер [file server] предоставляет РґСЂСѓРіРёРј РР’Рњ (клиентам) доступ Рє данным, которые хранятся РІРѕ внешней памяти сервера. Таким образом, РЅР° файловый сервер возложены РІСЃРµ задачи РїРѕ безопасности хранения данных, РїРѕРёСЃРєСѓ данных, архивированию Рё РґСЂ. Внешняя память сервера становится распределяемым ресурсом, так как её РјРѕРіСѓС‚ использовать несколько клиентов.
Сервер печати [printer server] организует совместное использование принтера.
Коммуникационные серверы служат для связи локальной сети с внешним миром, например, с глобальной сетью Internet. Для этого используются модемные пулы, прокси-серверы и маршрутизаторы.
Модемный РїСѓР» [modem pool] представляет СЃРѕР±РѕР№ РР’Рњ, снабжённую РѕСЃРѕР±РѕР№ сетевой платой, Рє которой можно подключить несколько модемов. Таким образом достигается определённая СЌРєРѕРЅРѕРјРёСЏ, РєРѕРіРґР°, например, десять РР’Рњ работают, используя три модема.
Прокси-сервер [proxy server] не только использует единственное соединение с Internet, но и предоставляет свою память для хранения временных файлов, что убыстряет работу с Internet.
Главной задачей маршрутизатора [router] является РїРѕРёСЃРє кратчайшего пути, РїРѕ которому будет отправлено сообщение, адресованное некоторой РР’Рњ РІ глобальной сети. Маршрутизатор представляет СЃРѕР±РѕР№ либо специализированную РР’Рњ, либо обычную РР’Рњ СЃРѕ специальным программным обеспечением.
Сервер приложений [application server] используется для выполнения программ, которые РїРѕ каким-то причинам нецелесообразно или невозможно выполнить РЅР° РґСЂСѓРіРёС… сетевых РР’Рњ. Очевидной причиной может быть недостаточная производительность клиентских РР’Рњ. Другая причина – использование каких-РЅРёР±СѓРґСЊ стандартных библиотек, копирование которых РЅР° каждую клиентскую РР’Рњ трудоёмко Рё, РєСЂРѕРјРµ того, создаёт возможность несогласованности версии библиотеки. Многопользовательские операционные системы (Linux, Windows NT) позволяют построить так называемую тонкую клиентную сеть, РІ которой РІСЃРµ ресурсы клиентов предоставлены сервером. Сами клиентские РР’Рњ РЅРµ тратят ничего РЅР° обработку данных. РўРѕРіРґР° РР’Рњ пользователей РІ такой сети называются терминалами, Р° сам сервер – терминальным сервером. Такой сервер должен иметь большой объём РѕСЃРЅРѕРІРЅРѕР№ Рё внешней памяти Рё высокую производительность.
Глобальная сеть Internet
Общая характеристика глобальной сети Internet
В структуре глобальной сети можно выделить три уровня (см. рис. 4.8).
Первый – внутренний уровень составляет сеть передачи данных. РћРЅР° состоит РёР· узлов СЃРІСЏР·Рё. Каждый узел СЃРІСЏР·Рё представляет СЃРѕР±РѕР№ совокупность средств передачи данных Рё состоит РёР· коммутационной РР’Рњ Рё аппаратуры передачи данных.
Рис. 5. Структура глобальной сети
/>Р’Рѕ второй уровень РІС…РѕРґСЏС‚ разнообразные серверы, называемые С…РѕСЃС‚-РР’Рњ [host computer], которые выполняют РІ сети задачи РїРѕ хранению Рё обработке данных. Такими серверами РјРѕРіСѓС‚ быть, например, серверы различных локальных сетей.
Третий уровень – терминальный – состоит из обычных клиентных рабочих станций, которые пользуются услугами глобальной сети.
Каждая локальная сеть называется сайтом [site], а юридическое лицо, обеспечивающее работу сайта – провайдером. Сайт состоит из группы серверов, которая выполняет определённые задачи.
Основными характеристиками сети являются: время доставки сообщений, производительность и стоимость обработки данных.
Время доставки сообщений определяется как статистическое среднее время от момента передачи сообщения в сеть до момента получения сообщения адресатом.
Производительность сети представляет собой суммарную производительность серверов.
Стоимость обработки данных определяется как стоимостью средств, используемых для обработки, так и временем доставки и производительностью сети.
РўРёРї сети Рё РІСЃРµ её характеристики РІ РѕСЃРЅРѕРІРЅРѕРј определяются строением Рё принципами работы сети передачи данных, которые описываются протоколом. Протокол [protocol] – это система правил, определяющих формат Рё процедуры передачи данных РїРѕ сети. Можно сказать, что протокол представляет СЃРѕР±РѕР№ язык, РЅР° котором «разговаривают» РР’Рњ РІ сети. Протокол, РІ частности, определяет, как Р±СѓРґСѓС‚ идентифицироваться РІ сети С…РѕСЃС‚-РР’Рњ Рё как можно найти РёС… РІ сети, то есть определяются адресация Рё РїРѕСЂСЏРґРѕРє маршрутизации.
ПримерСвойства глобальной сети Internet определяются так называемым IP-протоколом.
Адресация и маршрутизация в сети Internet
Для организации СЃРІСЏР·Рё между С…РѕСЃС‚-РР’Рњ необходима общесетевая система адресации, которая устанавливает РїРѕСЂСЏРґРѕРє именования абонентов сети передачи данных. Р’ IP-сетях, Рє которым относится сеть Internet, каждому физическому объекту (С…РѕСЃС‚-РР’Рњ, серверы, подсети) присваивается число, называемое IP-адресом, который обычно представляется РІ РІРёРґРµ четырёх чисел РѕС‚ 0 РґРѕ 255, разделённых точкой, например, 192.171.153.60. Сами РїРѕ себе эти числа РЅРµ имеют никакого значения. Адрес содержит РІ себе номер подсети Рё номер С…РѕСЃС‚-РР’Рњ РІ данной сети.
Для удобства пользователей в Internet так же используется другой способ адресации, который называется системой доменных имён [domain naming system — DNS].
ПримерDNS-адрес имеет вид: win.smtp.dol.ru. В этом примере:
ru – домен страны, здесь означает РІСЃРµ С…РѕСЃС‚-РР’Рњ Р РѕСЃСЃРёРё;
dol – домен провайдера, означает РІСЃРµ РР’Рњ локальной сети некоторой формы;
smtp – домен группы почтовых серверов этой же фирмы.;
win – РёРјСЏ конкретной РР’Рњ РёР· РіСЂСѓРїРїС‹ smtp.
РћСЃРѕР±РѕРµ значение имеют организационные Рё географические домены – те, которые пишутся крайними справа РІ DNS-адресе. Рмена для этих доменов зарегистрированы международной организацией InterNIC (Internet Network Information Center). Например, edu означает образовательную организацию, com – коммерческую, gov – правительственную, us – РЎРЁРђ, uk –Великобританию, de – Германию Рё С‚.Рґ. DNS-адрес всегда действует совместно СЃ IP-адресом.
РџСЂРё организации СЃРІСЏР·Рё сеть должна РїРѕ адресу получателя определить путь передачи данных – маршрут. Для определения маршрута используются различные алгоритмы маршрутизации [routing]. Рффективность алгоритма маршрутизации существенно влияет РЅР° скорость передачи данных РїРѕ сети.
Службы сети Internet
В сети Internet имеются многочисленные службы, предоставляющие информационные услуги.
Одной из наиболее используемых служб является электронная почта [e-mail]. Для обслуживания электронной почты в сети имеются специальные почтовые серверы. Такой сервер выделяет своим клиентам определённый объём внешней памяти (обычно 1-3 Мб) и назначает этой памяти некоторое имя – адрес и пароль для доступа. Такая именованная память называется почтовым ящиком [mailbox]. Все сообщения, адресованные данному клиенту, помещаются в этот ящик и могут быть прочитаны, уничтожены или переправлены в другое место клиентом, которому этот ящик принадлежит. Для отправления и получения почты используются специальные почтовые программы. Адрес почты – это DNS-адрес с добавлением имени абонента.
ПримерСуществует множество почтовых серверов. Одним из известных серверов является mail.ru. Адрес почты на этом сервере будет иметь вид:
В В В В В В В В В В В В В В ivanov@mail.ru
где ivanov – это имя абонента, а mail.ru – это DNS-адрес почтового сервера.
Примером почтовой программы является Outlook Exdivss для Windows98.
Другая широко используемая служба – FTP-служба [file transfer protocol]. Рта служба используется для удалённого доступа Рє файлам. FTP-сервер представляет СЃРѕР±РѕР№ хранилище всевозможных файлов. Рти файла пользователь может прочитать или скопировать РЅР° СЃРІРѕСЋ РР’Рњ. DNS-адрес таких серверов начинается СЃ ftp, например, ftp.microsoft.com. Рнформация РЅР° FTP-серверах организована РІ РІРёРґРµ традиционных каталогов. Узлы FTP-службы используются разработчиками программного обеспечения для его распространения.
Доступ к любым ресурсам сети Internet можно получить с помощью службы World Wide Web или просто Web. Очевидное отличие этой службы от FTP или электронной почты заключается в том, что Web – это мультимедийная служба, то есть она поддерживает не только текст, но и графику, анимацию, звук.
Web-сервер хранит данные в виде набора текстовых файлов, которые написаны на специальном языке HTML [hypertext markup language]. Специальная программа – броузер [browser] — интерпретирует HTML-текст и выводит на экран монитора страницу, в которой сочетаются текст, графика, анимация и, самое главное, ссылки на другие страницы. Таким образом, с помощью ссылок Web-страницы пользователь имеет возможность переходить от одной страницы к другой и более оперативно разыскивать нужную информацию.
Для поиска страниц, содержащих нужную информацию, используется поисковая служба. Поисковые серверы используют специальные программы, которые анализируют заголовки Web-страниц и содержащуюся в них информацию. Результатом работы этих программ является список Web-страниц, которые удовлетворяют критерию поиска.
ПримерСуществует большое количество поисковых серверов: Alta Vista, Lycos, Yahoo.
Архитектура вычислительного процесса
Архитектура приложения
Все компьютерные программы по логике их работы можно представить в виде, показанном на рис. 4.6.
Рис. 6. Архитектура приложения
/>Рнтерфейс пользователя – это набор программ, которые обеспечивают взаимодействие приложения СЃ пользователем: графический интерфейс, система сообщений РѕР± ошибках Рё С‚.Рґ.
Прикладная программа – это ядро приложения, которое выполняет основные функции данного приложения: перевод текста, математические расчёты и т.д.
РџРѕРґ логикой данных понимается набор программ, которые определяют РїРѕСЂСЏРґРѕРє доступа Рє данным, контролируют целостность данных РІ соответствии СЃ бизнес-правилами Рё допустимость данных. Рти программы обычно предоставляются используемой РїСЂРё разработке приложения СУБД.
Под доступом к данным понимается набор программ, которые обеспечивают запись и чтение данных с внешней памяти. Такие программы также обычно реализованы средствами СУБД.
Перечисленные составные части приложения относительно независимы РґСЂСѓРі РѕС‚ РґСЂСѓРіР°. РЎРІСЏР·СЊ между РЅРёРјРё исчерпывается только передачей данных. Такую передачу данных можно организовать РїРѕ сети. Также функционирование частей приложения можно обеспечить РЅР° разных РР’Рњ, соединённых РІ сети. Рто даёт возможность различным образом организовать выполнение приложения. Архитектура вычислительного процесса характеризует как построение аппаратного обеспечения (РР’Рњ Рё сети), так Рё СЃРїРѕСЃРѕР± функционирования приложений.
Различают четыре способа организации вычислительного процесса:
централизованная архитектура;
распределённая архитектура;
архитектура клиент-сервер;
многозвенная архитектура.
Централизованная архитектура
Классическое представление централизованной архитектуры показано на рис. 4.7 .
Центральная РР’Рњ должна иметь большую память Рё высокую производительность, чтобы обеспечивать комфортную работу большого числа пользователей.
/> Р РёСЃ. 7. Централизованная архитектура вычислительной системыВсе приложения, работающие РІ такой архитектуре, полностью находятся РІ РѕСЃРЅРѕРІРЅРѕР№ памяти С…РѕСЃС‚-РР’Рњ. Терминалы являются лишь устройствами РІРІРѕРґР°-вывода Рё таким образом РІ минимальной степени поддерживают интерфейс пользователя СЂРёСЃ 4.8.
Рис. 8. Архитектура централизованного приложения
/>Такая архитектура вычислительных систем была распространена РІ 70-С… Рё 80-С… годах Рё реализовывалась РЅР° базе мейнфреймов (например, IBM-360/370 или РёС… отечественных аналогов серии ЕС РР’Рњ), либо РЅР° базе РјРёРЅРё-РР’Рњ (например, PDP-11 или РёС… отечественного аналога РЎРњ-4). Характерная особенность такой архитектуры – полная «неинтеллектуальность» терминалов. РС… работой управляет С…РѕСЃС‚-РР’Рњ. Достоинства такой архитектуры состоят РІ том, что пользователи совместно используют РґРѕСЂРѕРіРёРµ ресурсы РР’Рњ Рё РґРѕСЂРѕРіРёРµ периферийные устройства. РљСЂРѕРјРµ того, централизация ресурсов Рё оборудования облегчает обслуживание Рё эксплуатацию вычислительной системы. Главным недостатком для пользователя является то, что РѕРЅ полностью зависит РѕС‚ администратора С…РѕСЃС‚-РР’Рњ. Пользователь РЅРµ может настроить рабочую среду РїРѕРґ СЃРІРѕРё потребности – РІСЃС‘ используемое программное обеспечение является коллективным. Рспользование такой архитектуры является оправданным, если С…РѕСЃС‚-РР’Рњ очень дорогая, например, супер-РР’Рњ.
Распределённая архитектура
РћСЃРЅРѕРІРѕР№ распределённой архитектуры является файл-сервер. РћРЅ предоставляет клиентам (С‚.Рµ. программам РЅР° РџРР’Рњ) СЃРІРѕСЋ РґРёСЃРєРѕРІСѓСЋ память, то есть обеспечивает доступ Рє данным. Каждый клиент пользуется для работы СЃРІРѕРёРјРё ресурсами, поэтому требования Рє производительности файл-сервера невысоки. Основными требования Р±СѓРґСѓС‚ предъявляться Рє файловой системе файл-сервера.
Рис. 9. Распределённая архитектура
/>  вычислительной системыКак РІРёРґРЅРѕ РёР· СЂРёСЃ. 4.10, основная обработка данных РїСЂРѕРёСЃС…РѕРґРёС‚ РЅР° клиентных РР’Рњ, то есть клиенты РІ отличие РѕС‚ терминалов должны обладать некоторыми ресурсами, поэтому РёС… называют «толстыми» клиентами.
Распределённая архитектура лишена недостатков централизованной архитектуры, к тому же дорогие периферийные устройства (принтеры, RAID-массивы) в такой архитектуре также могут использоваться совместно.
Основным недостатком распределённой архитектуры является то, что вся обработка данных сосредоточена внутри нескольких независимых пользовательских приложений.
ПримерОдной РёР· важных задач РїРѕ обработке данных является РїРѕРёСЃРє информации. Пусть необходимо найти 5 записей некоторой таблицы, содержащей миллион таких записей. Поскольку РІСЃСЏ обработка данных сосредоточена РЅР° некоторой клиентной РР’Рњ, то для РїРѕРёСЃРєР° файл-сервер должен передать клиенту РІСЃСЋ таблицу целиком. РўРѕ есть резко возрастает нагрузка РЅР° сеть.
Рис. 10. Архитектура распределённого приложения
/>Если число пользователей не слишком велико и объём общих данных также невелик, то распределённая архитектура является наилучшим выбором.
Архитектура клиент-сервер
Вычислительная система, соответствующая архитектуре клиент-сервер состоит из трёх компонентов:
сервера баз данных, управляющего хранением данных, доступом и защитой, резервным копированием, отслеживающего целостность данных в соответствии с бизнес-правилами и, самое главное, выполняющего запросы клиента;
клиента, предоставляющего интерфейс пользователя, проверяющего допустимость данных, посылающего запросы к серверу;
сети и коммуникационного оборудования.
Ядром архитектуры клиент-сервер является сервер баз данных. Поскольку многие задачи, связанные с обработкой данных возложены на сервер, то нагрузка на сеть –трафик – резко снижается по сравнению с распределённой архитектурой.
ПримерПусть необходимо найти 5 записей некоторой таблицы, содержащей миллион таких записей. Клиент посылает серверу запрос, РІ котором указано, какие данные должны быть найдены. Ртот запрос обрабатывается сервером, сервер РїСЂРѕРёР·РІРѕРґРёС‚ РїРѕРёСЃРє Рё пересылает клиенту необходимые пять записей.
Другое преимущество архитектуры клиент-сервер перед распределённой состоит в том, что на сервере можно сосредоточить программы, обеспечивающие целостность данных, соответствие данных бизнес-правилам, что позволяет избежать дублирования программного кода в различных приложениях, использующих общую базу данных.
/> Рис. 11. Архитектура приложения типа клиент-серверВ случае архитектуры клиент-сервер сервер баз данных должен обладать высокой производительностью.
В настоящее время все современные прикладные программы ориентированы на работу с такой архитектурой вычислительного процесса.
Многозвенная архитектура
/> В случае большого числа пользователей возникают проблемы своевременной и синхронной замены версий клиентских приложений на рабочих станциях. Такие проблемы решаются в рамках многозвенной архитектуры. Часть общих приложений переносится на специально выделенный сервер приложений. Тем самым понижаются требования к ресурсам рабочих станций, которые будут называться «тонкими» клиентами. Данный способ организации вычислительного процесса является разновидностью архитектуры клиент-сервер.Рис. 12. Многозвенная архитектура
Рспользование многозвенной архитектуры может быть рекомендовано также РІ случае, если некоторая программа требует для своей работы РјРЅРѕРіРѕ ресурсов, то может оказаться дешевле построить тонкую сеть СЃ РѕРґРЅРёРј очень мощным сервером, чем использовать несколько мощных клиентных рабочих станций. Особенно это имеет значение, если данной программой пользуются РЅРµ постоянно, Р° время РѕС‚ времени.
Рис. 13. Архитектура многозвенного приложения
/>Разумное сочетание производительности сервера приложений и производительности рабочих станций позволят построить сеть, более дешёвую при установке и эксплуатации.
Список литературы
Андерсон Рљ. Минаси Рњ. Локальные сети. Полное руководство: Рљ.: ВЕК+, Рњ.: РРќРўР РћРџ, РЎРџР±.: РљРћР РћРќРђ РїСЂРёРЅС‚, 1999. – 624 СЃ.
Богумирский Р‘.РЎ. Руководство пользователя РџРР’Рњ: Р’ 2-С… С‡. – РЎРџР±.: Ассоциация OILCO, 1992. – 357 СЃ.
Головкин Б.А. Параллельные вычислительные системы. М.: Наука, 1980. – 520 с.
Елманова Рќ.Р—. Borland C++ Builder 3.0. Архитектура «клиент/сервер», многозвенные системы Рё Internet-приложения. – Рњ.: Диалог-РњРР¤Р, 1999. – 240 СЃ.
Касаткин Рђ.Р., Вальвачев Рђ.Рќ. Профессиональное программирование РЅР° языке РЎРё: РћС‚ Turbo C Рє Borland РЎ++: РњРЅ.: Выш.шк., 1992. –240 СЃ.
Косарев В.П. Ерёмин Л.В. Компьютерные системы и сети. — М.: Финансы и статистика, 1999. – 464 с.
Кручинин С. Архитектура компьютера. Hard и Soft №4 1995.
Мельников Р”.Рђ. Рнформационные процессы РІ современных сетях. Протоколы, стандарты, интерфейсы, модели. – Рњ.: РљРЈР”РР¦-ОБРАЗ, 1999. –256 СЃ.
Першиков и др. Русско-английский толковый словарь по информатике. – М.: Финансы и статистика, 1999. – 386 с.
Ркономическая информатика Рё вычислительная техника: Учебник/ РџРѕРґ ред. Р’.Рџ. Косарева. – Рњ.: Финансы Рё статистика, 1996. – 336 СЃ.
www.ronl.ru
Понятие вычислительной сети
Вычислительная сеть — Р’РЎ [network] – это совокупность РР’Рњ, объединённых средствами передачи данных. Средства передачи данных РІ Р’РЎ РІ общем случае состоят РёР· следующих элементов: связных РР’Рњ, каналов СЃРІСЏР·Рё (спутниковых, телефонных, волоконно-оптических Рё РґСЂ.), коммутирующей аппаратуры Рё РґСЂ.
Р’ зависимости РѕС‚ удалённости РР’Рњ, входящих РІ Р’РЎ, сети условно разделяют РЅР° локальные Рё глобальные.
Локальная сеть — ЛВС [localareanetwork — LAN] – это РіСЂСѓРїРїР° связанных РґСЂСѓРі СЃ РґСЂСѓРіРѕРј РР’Рњ, расположенных РІ ограниченной территории, например, РІ здании. Расстояния между РР’Рњ РІ локальной сети может достигать нескольких километров. Локальные сети развёртываются обычно РІ рамках некоторой организации, поэтому РёС… называют также корпоративными сетями.
Если сеть выходит Р·Р° пределы здания, то такая Р’РЎ называется глобальной [wideareanetwork -WAN]. Глобальная сеть может включать РІ себя РґСЂСѓРіРёРµ глобальные сети, локальные сети Рё отдельные РР’Рњ.
Глобальные сети практически имеют те же возможности, что и локальные. Но они расширяют область их действия. Польза от применения глобальных сетей ограничена в первую очередь скоростью работы: глобальные сети работают с меньшей скоростью, чем локальные.
Сети предназначены для выполнения многих задач, в том числе:
организация совместного использования файлов для повышения целостности информации;
организация совместного использования периферийных устройств, например, принтеров, для уменьшения общих расходов на оборудование офиса;
обеспечения централизованного хранения данных для облегчения их защиты и архивирования.
Глобальные сети придают всему этому большие масштабы и добавляют такую удобную вещь, как электронная почта.
Локальные вычислительные сети
Архитектура локальной сети
Для характеристики архитектура сети используют понятия логической и физической топологии.
Физическая топология [physicaltopology] – это физическая структура сети, способ физического соединения всех аппаратных компонентов сети. Существует несколько видов физической топологии.
Наиболее простой является физическая шинная топология [bustopology], РІ которой кабель идёт РѕС‚ РР’Рњ Рє РР’Рњ, связывая РёС… РІ цепочку. Различают толстые Рё тонкие сети. Толстая сеть [thicknet] использует толстый коаксиальный кабель РІ качестве магистрали, РѕС‚ которого отходят более тонкие кабели.
В тонкой сети [thinnet] используется более тонкий и гибкий кабель, к которому напрямую подключены рабочий станции.
Сети, построенные по шинной топологии, более дёшевы. Однако если узлы сети расположены по всему зданию, то гораздо более удобным оказывается использование звездообразной топологии.
При физической звездообразной топологии [startopology] каждый сервер и рабочая станция подключаются к специальному устройству – центральному концентратору [hub], который осуществляет соединение пары узлов сети – коммутацию.
Рис. 1. Шинная топология — толстая сетьОбрыв кабеля, идущего от одной рабочей станции не повлияет на работу остальных рабочих станций. Кроме того, взаимное расположение рабочих станций совершено не важно.
Рис. 2. Шинная топология — тонкая сетьЕсли сеть имеет много узлов, причём многие располагаются на большом удалении друг от друга, то расход кабеля при использовании звездообразной топологии будет большим. Кроме того, к концентратору можно подключить лишь ограниченное число кабелей. В таких случаях применяется распределённая звездообразная топология [distributedstartopology], при которой несколько концентраторов соединяются друг с другом.
Кроме рассмотренных видов соединений может применяться также кольцеобразная топология, при которой рабочие станции соединены в кольцо. Такая топология практически не используется для локальных сетей, но может применяться для глобальных.
Логическая топология сети [logicaltopology] определяет способ, в соответствии с которым устройства сети передают информацию от одного узла к следующему. Физическая топология не имеет прямого отношения к логической.
Различают два вида логической топологии: шинную и кольцевую.
Рис. 3. Звездообразная топологияВ шинной логической топологии процесс передачи данных организован следующим образом. Если какой-либо узел сети имеет данные для другого узла, то первый узел производит «оповещение» всей сети. Все остальные узлы «слушают» сеть и проверяют, предназначены эти данные для них или нет. Если предназначены, то они оставляют их себе, если нет – игнорируют. Любые передаваемые данные «слышны» всем узлам сети. Узел, который хочет передать какие-то данные, сначала «слушает» сеть, не занята ли она. Если сеть свободна, то узел передаёт данные. Если расстояние между узлами велико, и посланный ранее кем-то сигнал ещё не успел дойти до передающего узла, то может произойти конфликт, когда в сети одновременно оказываются два сообщения. В этом случае передающие узлы сети на короткое время прекращают свою работу и через некоторый случайный промежуток времени возобновляют передаче данных.
Рис. 4. Распределённая звездообразная топологияВ сети с кольцевой логической топологией данные передаются по замкнутой эстафете от одного узла к другому. Когда посланное сообщение возвращается к передающему узлу, он прекращает передачу. Кольцевая топология менее подвержена конфликтам.
Аппаратные компоненты локальной сети
Основными компонентами, составляющими любую локальную сеть, являются: кабели, сетевые интерфейсные платы, модемы, серверы.
Все соединения с сети осуществляются посредством специальных сетевых кабелей. Основными характеристиками сетевого кабеля являются скорость передачи данных и максимально допустимая длина. Обе характеристики определяются физическими свойствами кабеля.
Пример
Для соединения в локальных сетях используются: кабели типа «витая пара» и «экранированная витая пара», коаксиальный кабель, оптоволоконный кабель.
Таблица 1. Типы кабелей
Тип кабеля | Скорость передачи данных, Мбит/с | Допустимая длина, м |
Витая пара | 100 | 90 |
Ркранированная витая пара | 100 | 90 |
Коаксиальный | 10 | 750 |
Оптоволоконный | 155 | 10000 |
Рсточник [1].
Сетевые интерфейсные платы [networkinterfacecard] представляют СЃРѕР±РѕР№ дополнительные платы, устанавливаемые РЅР° материнскую плату РџРР’Рњ. Рљ сетевой плате подключаются сетевые кабели. Сетевая плата определяет тип локальной сети.
Пример
На практике используют два типа локальных сетей — Ethernet и TokenRing. Оба типа имеют модификации.
Таблица 2. Типы сетей Ethernet
Название | Физическая топология и кабель | Скорость передачи Мбит/с |
10Base2 | Шинная, тонкий коаксиальный | 10 |
10BaseS | Шинная, толстый коаксиальный | 10 |
FastEthernet | Звездообразная, витая пара | 100 |
GigabitEthernet | Звездообразная, оптоволоконный | 1000 |
Рсточник [2].
Модем [modem] – это устройство, предназначенное для СЃРІСЏР·Рё между РР’Рњ РїРѕ телефонным линиям. РџРѕ телефонной сети любые данные РјРѕРіСѓС‚ передаваться лишь РІ аналоговой форме. Данные РѕС‚ РР’Рњ поступают РІ цифровом РІРёРґРµ. Задача модема заключается РІ преобразовании цифровых данных РІ аналоговую форму Рё наоборот.
Сервер [server] – это любая сетевая РР’Рњ, обслуживающая РґСЂСѓРіРёРµ сетевые РР’Рњ. Существуют серверы различных типов, которые определяются типом предоставляемых услуг.
Файловый сервер [fileserver] предоставляет РґСЂСѓРіРёРј РР’Рњ (клиентам) доступ Рє данным, которые хранятся РІРѕ внешней памяти сервера. Таким образом, РЅР° файловый сервер возложены РІСЃРµ задачи РїРѕ безопасности хранения данных, РїРѕРёСЃРєСѓ данных, архивированию Рё РґСЂ. Внешняя память сервера становится распределяемым ресурсом, так как её РјРѕРіСѓС‚ использовать несколько клиентов.
Сервер печати [printerserver] организует совместное использование принтера.
Коммуникационные серверы служат для связи локальной сети с внешним миром, например, с глобальной сетью Internet. Для этого используются модемные пулы, прокси-серверы и маршрутизаторы.
Модемный РїСѓР» [modempool] представляет СЃРѕР±РѕР№ РР’Рњ, снабжённую РѕСЃРѕР±РѕР№ сетевой платой, Рє которой можно подключить несколько модемов. Таким образом достигается определённая СЌРєРѕРЅРѕРјРёСЏ, РєРѕРіРґР°, например, десять РР’Рњ работают, используя три модема.
Прокси-сервер [proxyserver] не только использует единственное соединение с Internet, но и предоставляет свою память для хранения временных файлов, что убыстряет работу с Internet.
Главной задачей маршрутизатора [router] является РїРѕРёСЃРє кратчайшего пути, РїРѕ которому будет отправлено сообщение, адресованное некоторой РР’Рњ РІ глобальной сети. Маршрутизатор представляет СЃРѕР±РѕР№ либо специализированную РР’Рњ, либо обычную РР’Рњ СЃРѕ специальным программным обеспечением.
Сервер приложений [applicationserver] используется для выполнения программ, которые РїРѕ каким-то причинам нецелесообразно или невозможно выполнить РЅР° РґСЂСѓРіРёС… сетевых РР’Рњ. Очевидной причиной может быть недостаточная производительность клиентских РР’Рњ. Другая причина – использование каких-РЅРёР±СѓРґСЊ стандартных библиотек, копирование которых РЅР° каждую клиентскую РР’Рњ трудоёмко Рё, РєСЂРѕРјРµ того, создаёт возможность несогласованности версии библиотеки. Многопользовательские операционные системы (Linux, WindowsNT) позволяют построить так называемую тонкую клиентную сеть, РІ которой РІСЃРµ ресурсы клиентов предоставлены сервером. Сами клиентские РР’Рњ РЅРµ тратят ничего РЅР° обработку данных. РўРѕРіРґР° РР’Рњ пользователей РІ такой сети называются терминалами, Р° сам сервер – терминальным сервером. Такой сервер должен иметь большой объём РѕСЃРЅРѕРІРЅРѕР№ Рё внешней памяти Рё высокую производительность.
Глобальная сеть Internet
Общая характеристика глобальной сети Internet
В структуре глобальной сети можно выделить три уровня (см. рис. 4.8).
Первый – внутренний уровень составляет сеть передачи данных. РћРЅР° состоит РёР· узлов СЃРІСЏР·Рё. Каждый узел СЃРІСЏР·Рё представляет СЃРѕР±РѕР№ совокупность средств передачи данных Рё состоит РёР· коммутационной РР’Рњ Рё аппаратуры передачи данных.
Рис. 5. Структура глобальной сети
Р’Рѕ второй уровень РІС…РѕРґСЏС‚ разнообразные серверы, называемые С…РѕСЃС‚-РР’Рњ [hostcomputer], которые выполняют РІ сети задачи РїРѕ хранению Рё обработке данных. Такими серверами РјРѕРіСѓС‚ быть, например, серверы различных локальных сетей.
Третий уровень – терминальный – состоит из обычных клиентных рабочих станций, которые пользуются услугами глобальной сети.
Каждая локальная сеть называется сайтом [site], а юридическое лицо, обеспечивающее работу сайта – провайдером. Сайт состоит из группы серверов, которая выполняет определённые задачи.
Основными характеристиками сети являются: время доставки сообщений, производительность и стоимость обработки данных.
Время доставки сообщений определяется как статистическое среднее время от момента передачи сообщения в сеть до момента получения сообщения адресатом.
Производительность сети представляет собой суммарную производительность серверов.
Стоимость обработки данных определяется как стоимостью средств, используемых для обработки, так и временем доставки и производительностью сети.
РўРёРї сети Рё РІСЃРµ её характеристики РІ РѕСЃРЅРѕРІРЅРѕРј определяются строением Рё принципами работы сети передачи данных, которые описываются протоколом. Протокол [protocol] – это система правил, определяющих формат Рё процедуры передачи данных РїРѕ сети. Можно сказать, что протокол представляет СЃРѕР±РѕР№ язык, РЅР° котором «разговаривают» РР’Рњ РІ сети. Протокол, РІ частности, определяет, как Р±СѓРґСѓС‚ идентифицироваться РІ сети С…РѕСЃС‚-РР’Рњ Рё как можно найти РёС… РІ сети, то есть определяются адресация Рё РїРѕСЂСЏРґРѕРє маршрутизации.
Пример
Свойства глобальной сети Internet определяются так называемым IP-протоколом.
Адресация и маршрутизация в сети Internet
Для организации СЃРІСЏР·Рё между С…РѕСЃС‚-РР’Рњ необходима общесетевая система адресации, которая устанавливает РїРѕСЂСЏРґРѕРє именования абонентов сети передачи данных. Р’ IP-сетях, Рє которым относится сеть Internet, каждому физическому объекту (С…РѕСЃС‚-РР’Рњ, серверы, подсети) присваивается число, называемое IP-адресом, который обычно представляется РІ РІРёРґРµ четырёх чисел РѕС‚ 0 РґРѕ 255, разделённых точкой, например, 192.171.153.60. Сами РїРѕ себе эти числа РЅРµ имеют никакого значения. Адрес содержит РІ себе номер подсети Рё номер С…РѕСЃС‚-РР’Рњ РІ данной сети.
Для удобства пользователей в Internet так же используется другой способ адресации, который называется системой доменных имён [domainnamingsystem — DNS].
Пример
DNS-адрес имеет вид: win.smtp.dol.ru. В этом примере:
ru – домен страны, здесь означает РІСЃРµ С…РѕСЃС‚-РР’Рњ Р РѕСЃСЃРёРё;
dol – домен провайдера, означает РІСЃРµ РР’Рњ локальной сети некоторой формы;
smtp – домен группы почтовых серверов этой же фирмы.;
win – РёРјСЏ конкретной РР’Рњ РёР· РіСЂСѓРїРїС‹ smtp.
РћСЃРѕР±РѕРµ значение имеют организационные Рё географические домены – те, которые пишутся крайними справа РІ DNS-адресе. Рмена для этих доменов зарегистрированы международной организацией InterNIC (InternetNetworkInformationCenter). Например, edu означает образовательную организацию, com – коммерческую, gov – правительственную, us – РЎРЁРђ, uk –Великобританию, de – Германию Рё С‚.Рґ. DNS-адрес всегда действует совместно СЃ IP-адресом.
РџСЂРё организации СЃРІСЏР·Рё сеть должна РїРѕ адресу получателя определить путь передачи данных – маршрут. Для определения маршрута используются различные алгоритмы маршрутизации [routing]. Рффективность алгоритма маршрутизации существенно влияет РЅР° скорость передачи данных РїРѕ сети.
Службы сети Internet
В сети Internet имеются многочисленные службы, предоставляющие информационные услуги.
Одной из наиболее используемых служб является электронная почта [e-mail]. Для обслуживания электронной почты в сети имеются специальные почтовые серверы. Такой сервер выделяет своим клиентам определённый объём внешней памяти (обычно 1-3 Мб) и назначает этой памяти некоторое имя – адрес и пароль для доступа. Такая именованная память называется почтовым ящиком [mailbox]. Все сообщения, адресованные данному клиенту, помещаются в этот ящик и могут быть прочитаны, уничтожены или переправлены в другое место клиентом, которому этот ящик принадлежит. Для отправления и получения почты используются специальные почтовые программы. Адрес почты – это DNS-адрес с добавлением имени абонента.
Пример
Существует множество почтовых серверов. Одним из известных серверов является mail.ru. Адрес почты на этом сервере будет иметь вид:
ivanov@mail.ru
где ivanov – это имя абонента, а mail.ru – это DNS-адрес почтового сервера.
Примером почтовой программы является OutlookExpress для Windows98.
Другая широко используемая служба – FTP-служба [filetransferprotocol]. Рта служба используется для удалённого доступа Рє файлам. FTP-сервер представляет СЃРѕР±РѕР№ хранилище всевозможных файлов. Рти файла пользователь может прочитать или скопировать РЅР° СЃРІРѕСЋ РР’Рњ. DNS-адрес таких серверов начинается СЃ ftp, например, ftp.microsoft.com. Рнформация РЅР° FTP-серверах организована РІ РІРёРґРµ традиционных каталогов. Узлы FTP-службы используются разработчиками программного обеспечения для его распространения.
Доступ к любым ресурсам сети Internet можно получить с помощью службы WorldWideWeb или просто Web. Очевидное отличие этой службы от FTP или электронной почты заключается в том, что Web – это мультимедийная служба, то есть она поддерживает не только текст, но и графику, анимацию, звук.
Web-сервер хранит данные в виде набора текстовых файлов, которые написаны на специальном языке HTML [hypertextmarkuplanguage]. Специальная программа – броузер [browser] — интерпретирует HTML-текст и выводит на экран монитора страницу, в которой сочетаются текст, графика, анимация и, самое главное, ссылки на другие страницы. Таким образом, с помощью ссылок Web-страницы пользователь имеет возможность переходить от одной страницы к другой и более оперативно разыскивать нужную информацию.
Для поиска страниц, содержащих нужную информацию, используется поисковая служба. Поисковые серверы используют специальные программы, которые анализируют заголовки Web-страниц и содержащуюся в них информацию. Результатом работы этих программ является список Web-страниц, которые удовлетворяют критерию поиска.
Пример
Существует большое количество поисковых серверов: AltaVista, Lycos, Yahoo.
Архитектура вычислительного процесса
Архитектура приложения
Все компьютерные программы по логике их работы можно представить в виде, показанном на рис. 4.6.
Рис. 6. Архитектура приложения
Рнтерфейс пользователя – это набор программ, которые обеспечивают взаимодействие приложения СЃ пользователем: графический интерфейс, система сообщений РѕР± ошибках Рё С‚.Рґ.
Прикладная программа – это ядро приложения, которое выполняет основные функции данного приложения: перевод текста, математические расчёты и т.д.
РџРѕРґ логикой данных понимается набор программ, которые определяют РїРѕСЂСЏРґРѕРє доступа Рє данным, контролируют целостность данных РІ соответствии СЃ бизнес-правилами Рё допустимость данных. Рти программы обычно предоставляются используемой РїСЂРё разработке приложения СУБД.
Под доступом к данным понимается набор программ, которые обеспечивают запись и чтение данных с внешней памяти. Такие программы также обычно реализованы средствами СУБД.
Перечисленные составные части приложения относительно независимы РґСЂСѓРі РѕС‚ РґСЂСѓРіР°. РЎРІСЏР·СЊ между РЅРёРјРё исчерпывается только передачей данных. Такую передачу данных можно организовать РїРѕ сети. Также функционирование частей приложения можно обеспечить РЅР° разных РР’Рњ, соединённых РІ сети. Рто даёт возможность различным образом организовать выполнение приложения. Архитектура вычислительного процесса характеризует как построение аппаратного обеспечения (РР’Рњ Рё сети), так Рё СЃРїРѕСЃРѕР± функционирования приложений.
Различают четыре способа организации вычислительного процесса:
централизованная архитектура;
распределённая архитектура;
архитектура клиент-сервер;
многозвенная архитектура.
Централизованная архитектура
Классическое представление централизованной архитектуры показано на рис. 4.7 .
Центральная РР’Рњ должна иметь большую память Рё высокую производительность, чтобы обеспечивать комфортную работу большого числа пользователей.
Р РёСЃ. 7.Централизованная архитектура вычислительной системыВсе приложения, работающие РІ такой архитектуре, полностью находятся РІ РѕСЃРЅРѕРІРЅРѕР№ памяти С…РѕСЃС‚-РР’Рњ. Терминалы являются лишь устройствами РІРІРѕРґР°-вывода Рё таким образом РІ минимальной степени поддерживают интерфейс пользователя СЂРёСЃ 4.8.
Рис. 8. Архитектура централизованного приложения
Такая архитектура вычислительных систем была распространена РІ 70-С… Рё 80-С… годах Рё реализовывалась РЅР° базе мейнфреймов (например, IBM-360/370 или РёС… отечественных аналогов серии ЕС РР’Рњ), либо РЅР° базе РјРёРЅРё-РР’Рњ (например, PDP-11 или РёС… отечественного аналога РЎРњ-4). Характерная особенность такой архитектуры – полная «неинтеллектуальность» терминалов. РС… работой управляет С…РѕСЃС‚-РР’Рњ. Достоинства такой архитектуры состоят РІ том, что пользователи совместно используют РґРѕСЂРѕРіРёРµ ресурсы РР’Рњ Рё РґРѕСЂРѕРіРёРµ периферийные устройства. РљСЂРѕРјРµ того, централизация ресурсов Рё оборудования облегчает обслуживание Рё эксплуатацию вычислительной системы. Главным недостатком для пользователя является то, что РѕРЅ полностью зависит РѕС‚ администратора С…РѕСЃС‚-РР’Рњ. Пользователь РЅРµ может настроить рабочую среду РїРѕРґ СЃРІРѕРё потребности – РІСЃС‘ используемое программное обеспечение является коллективным. Рспользование такой архитектуры является оправданным, если С…РѕСЃС‚-РР’Рњ очень дорогая, например, супер-РР’Рњ.
Распределённая архитектура
РћСЃРЅРѕРІРѕР№ распределённой архитектуры является файл-сервер. РћРЅ предоставляет клиентам (С‚.Рµ. программам РЅР° РџРР’Рњ) СЃРІРѕСЋ РґРёСЃРєРѕРІСѓСЋ память, то есть обеспечивает доступ Рє данным. Каждый клиент пользуется для работы СЃРІРѕРёРјРё ресурсами, поэтому требования Рє производительности файл-сервера невысоки. Основными требования Р±СѓРґСѓС‚ предъявляться Рє файловой системе файл-сервера.
Рис. 9. Распределённая архитектура
вычислительной системыКак РІРёРґРЅРѕ РёР· СЂРёСЃ. 4.10, основная обработка данных РїСЂРѕРёСЃС…РѕРґРёС‚ РЅР° клиентных РР’Рњ, то есть клиенты РІ отличие РѕС‚ терминалов должны обладать некоторыми ресурсами, поэтому РёС… называют «толстыми» клиентами.
Распределённая архитектура лишена недостатков централизованной архитектуры, к тому же дорогие периферийные устройства (принтеры, RAID-массивы) в такой архитектуре также могут использоваться совместно.
Основным недостатком распределённой архитектуры является то, что вся обработка данных сосредоточена внутри нескольких независимых пользовательских приложений.
Пример
РћРґРЅРѕР№ РёР· важных задач РїРѕ обработке данных является РїРѕРёСЃРє информации. Пусть необходимо найти 5 записей некоторой таблицы, содержащей миллион таких записей. Поскольку РІСЃСЏ обработка данных сосредоточена РЅР° некоторой клиентной РР’Рњ, то для РїРѕРёСЃРєР° файл-сервер должен передать клиенту РІСЃСЋ таблицу целиком. РўРѕ есть резко возрастает нагрузка РЅР° сеть.
Рис. 10. Архитектура распределённого приложения
Если число пользователей не слишком велико и объём общих данных также невелик, то распределённая архитектура является наилучшим выбором.
Архитектура клиент-сервер
Вычислительная система, соответствующая архитектуре клиент-сервер состоит из трёх компонентов:
сервера баз данных, управляющего хранением данных, доступом и защитой, резервным копированием, отслеживающего целостность данных в соответствии с бизнес-правилами и, самое главное, выполняющего запросы клиента;
клиента, предоставляющего интерфейс пользователя, проверяющего допустимость данных, посылающего запросы к серверу;
сети и коммуникационного оборудования.
Ядром архитектуры клиент-сервер является сервер баз данных. Поскольку многие задачи, связанные с обработкой данных возложены на сервер, то нагрузка на сеть –трафик – резко снижается по сравнению с распределённой архитектурой.
Пример
Пусть необходимо найти 5 записей некоторой таблицы, содержащей миллион таких записей. Клиент посылает серверу запрос, РІ котором указано, какие данные должны быть найдены. Ртот запрос обрабатывается сервером, сервер РїСЂРѕРёР·РІРѕРґРёС‚ РїРѕРёСЃРє Рё пересылает клиенту необходимые пять записей.
Другое преимущество архитектуры клиент-сервер перед распределённой состоит в том, что на сервере можно сосредоточить программы, обеспечивающие целостность данных, соответствие данных бизнес-правилам, что позволяет избежать дублирования программного кода в различных приложениях, использующих общую базу данных.
Рис. 11. Архитектура приложения типа клиент-серверВ случае архитектуры клиент-сервер сервер баз данных должен обладать высокой производительностью.
В настоящее время все современные прикладные программы ориентированы на работу с такой архитектурой вычислительного процесса.
Многозвенная архитектура
В случае большого числа пользователей возникают проблемы своевременной и синхронной замены версий клиентских приложений на рабочих станциях. Такие проблемы решаются в рамках многозвенной архитектуры. Часть общих приложений переносится на специально выделенный сервер приложений. Тем самым понижаются требования к ресурсам рабочих станций, которые будут называться «тонкими» клиентами. Данный способ организации вычислительного процесса является разновидностью архитектуры клиент-сервер.Рис. 12. Многозвенная архитектура
Рспользование многозвенной архитектуры может быть рекомендовано также РІ случае, если некоторая программа требует для своей работы РјРЅРѕРіРѕ ресурсов, то может оказаться дешевле построить тонкую сеть СЃ РѕРґРЅРёРј очень мощным сервером, чем использовать несколько мощных клиентных рабочих станций. Особенно это имеет значение, если данной программой пользуются РЅРµ постоянно, Р° время РѕС‚ времени.
Рис. 13. Архитектура многозвенного приложения
Разумное сочетание производительности сервера приложений и производительности рабочих станций позволят построить сеть, более дешёвую при установке и эксплуатации.
Список литературы
Андерсон Рљ. Минаси Рњ. Локальные сети. Полное руководство: Рљ.: ВЕК+, Рњ.: РРќРўР РћРџ, РЎРџР±.: РљРћР РћРќРђ РїСЂРёРЅС‚, 1999. – 624 СЃ.
Богумирский Р‘.РЎ. Руководство пользователя РџРР’Рњ: Р’ 2-С… С‡. – РЎРџР±.: Ассоциация OILCO, 1992. – 357 СЃ.
Головкин Б.А. Параллельные вычислительные системы. М.: Наука, 1980. – 520 с.
Елманова Рќ.Р—. Borland C++ Builder 3.0. Архитектура «клиент/сервер», многозвенные системы Рё Internet-приложения. – Рњ.: Диалог-РњРР¤Р, 1999. – 240 СЃ.
Касаткин Рђ.Р., Вальвачев Рђ.Рќ. Профессиональное программирование РЅР° языке РЎРё: РћС‚ TurboC Рє Borland РЎ++: РњРЅ.: Выш.шк., 1992. –240 СЃ.
Косарев В.П. Ерёмин Л.В. Компьютерные системы и сети. — М.: Финансы и статистика, 1999. – 464 с.
Кручинин С. Архитектура компьютера. Hard и Soft №4 1995.
Мельников Р”.Рђ. Рнформационные процессы РІ современных сетях. Протоколы, стандарты, интерфейсы, модели. – Рњ.: РљРЈР”РР¦-ОБРАЗ, 1999. –256 СЃ.
Першиков и др. Русско-английский толковый словарь по информатике. – М.: Финансы и статистика, 1999. – 386 с.
Ркономическая информатика Рё вычислительная техника: Учебник/ РџРѕРґ ред. Р’.Рџ. Косарева. – Рњ.: Финансы Рё статистика, 1996. – 336 СЃ.
www.ronl.ru
2. Трехуровневая архитектура “клиент-сервер”
3. Программные средства разработки 3.1. Универсальные средства 3.2. Персональные СУБД
4. Intranet и архитектура “клиент-сервер”. 4.1. Двухуровневая архитектура “клиент-сервер” 4.2. Трехуровневая архитектура “клиент-сервер” 4.2.1. Программы расширения серверной части
5. Пример базы данных
1. Архитектура "клиент-сервер" Применительно к системам баз данных архитектура "клиент-сервер" интересна и актуальна главным образом потому, что обеспечивает простое и относительно дешевое решение проблемы коллективного доступа к базам данных в локальной сети.
1.1. Открытые системы Реальное распространение архитектуры "клиент-сервер" стало возможным благодаря развитию и широкому внедрению в практику концепции открытых систем. Поэтому мы начнем с краткого введения в открытые системы.
Основным смыслом подхода открытых систем является упрощение комплексирования вычислительных систем за счет международной и национальной стандартизации аппаратных и программных интерфейсов. Главной побудительной причиной развития концепции открытых систем явились повсеместный переход к использованию локальных компьютерных сетей и те проблемы комплексирования аппаратно-программных средств, которые вызвал этот переход. В связи с бурным развитием технологий глобальных коммуникаций открытые системы приобретают еще большее значение и масштабность.
Ключевой фразой открытых систем, направленной в сторону пользователей, является независимость от конкретного поставщика. Ориентируясь на продукцию компаний, придерживающихся стандартов открытых систем, потребитель, который приобретает любой продукт такой компании, не попадает к ней в рабство. Он может продолжить наращивание мощности своей системы путем приобретения продуктов любой другой компании, соблюдающей стандарты. Причем это касается как аппаратных, так и программных средств.
Практической опорой системных и прикладных программных средств открытых систем является стандартизованная операционная система. В настоящее время такой системой является UNIX. Фирмам-поставщикам различных вариантов ОС UNIX в результате длительной работы удалось придти к соглашению об основных стандартах этой операционной системы. Сейчас все распространенные версии UNIX в основном совместимы по части интерфейсов, предоставляемых прикладным (а в большинстве случаев и системным) программистам. Как кажется, несмотря на появление претендующей на стандарт системы Windows NT, именно UNIX останется основой открытых систем в ближайшие годы.
Технологии Рё стандарты открытых систем обеспечивают реальную Рё проверенную практикой возможность производства системных Рё прикладных программных средств СЃРѕ свойствами мобильности (portability) Рё интероперабельности (interoperability). Свойство мобильности означает сравнительную простоту переноса программной системы РІ широком спектре аппаратно-программных средств, соответствующих стандартам. Рнтероперабельность означает упрощения комплексирования новых программных систем РЅР° РѕСЃРЅРѕРІРµ использования готовых компонентов СЃРѕ стандартными интерфейсами.
Преимуществом для пользователей является то, что они могут постепенно заменять компоненты системы на более совершенные, не утрачивая работоспособности системы. В частности, в этом кроется решение проблемы постепенного наращивания вычислительных, информационных и других мощностей компьютерной системы.
1.2. Клиенты и серверы локальных сетей В основе широкого распространения локальных сетей компьютеров лежит известная идея разделения ресурсов. Высокая пропускная способность локальных сетей обеспечивает эффективный доступ из одного узла локальной сети к ресурсам, находящимся в других узлах.
Развитие этой идеи приводит к функциональному выделению компонентов сети: разумно иметь не только доступ к ресурсами удаленного компьютера, но также получать от этого компьютера некоторый сервис, который специфичен для ресурсов данного рода и программные средства. Так мы приходим к различению рабочих станций и серверов локальной сети.
Рабочая станция предназначена для непосредственной работы пользователя или категории пользователей и обладает ресурсами, соответствующими локальным потребностям данного пользователя.
Сервер локальной сети должен обладать ресурсами, соответствующими его функциональному назначению и потребностям сети. Заметим, что в связи с ориентацией на подход открытых систем, правильнее говорить о логических серверах (имея в виду набор ресурсов и программных средств, обеспечивающих услуги над этими ресурсами), которые располагаются не обязательно на разных компьютерах. Особенностью логического сервера в открытой системе является то, что если по соображениям эффективности сервер целесообразно переместить на отдельный компьютер, то это можно проделать без потребности в какой-либо переделке как его самого, так и использующих его прикладных программ.
Примерами сервером могут служить: •сервер телекоммуникаций, обеспечивающий услуги по связи данной локальной сети с внешним миром; •вычислительный сервер, дающий возможность производить вычисления, которые невозможно выполнить на рабочих станциях; •дисковый сервер, обладающий расширенными ресурсами внешней памяти и предоставляющий их в использование рабочим станциями и, возможно, другим серверам; •файловый сервер, поддерживающий общее хранилище файлов для всех рабочих станций; •сервер баз данных фактически обычная СУБД, принимающая запросы по локальной сети и возвращающая результаты.
Сервер локальной сети предоставляет ресурсы (услуги) рабочим станциям и/или другим серверам.
Принято называть клиентом локальной сети, запрашивающий услуги у некоторого сервера и сервером - компонент локальной сети, оказывающий услуги некоторым клиентам.
1.3. Системная архитектура "клиент-сервер" Понятно, что РІ общем случае, чтобы прикладная программа, выполняющаяся РЅР° рабочей станции, могла запросить услугу Сѓ некоторого сервера, как РјРёРЅРёРјСѓРј требуется некоторый интерфейсный программный слой, поддерживающий такого СЂРѕРґР° взаимодействие (было Р±С‹ РїРѕ меньшей мере неестественно требовать, чтобы прикладная программа напрямую пользовалась примитивами транспортного СѓСЂРѕРІРЅСЏ локальной сети). РР· этого, собственно, Рё вытекают основные принципы системной архитектуры "клиент-сервер".
Система разбивается на две части, которые могут выполняться в разных узлах сети, - клиентскую и серверную части. Прикладная программа или конечный пользователь взаимодействуют с клиентской частью системы, которая в простейшем случае обеспечивает просто надсетевой интерфейс. Клиентская часть системы при потребности обращается по сети к серверной части. Заметим, что в развитых системах сетевое обращение к серверной части может и не понадобиться, если система может предугадывать потребности пользователя, и в клиентской части содержатся данные, способные удовлетворить его следующий запрос.
Рнтерфейс серверной части определен Рё фиксирован. Поэтому возможно создание новых клиентских частей существующей системы (пример интероперабельности РЅР° системном СѓСЂРѕРІРЅРµ).
Основной проблемой систем, основанных на архитектуре "клиент-сервер", является то, что в соответствии с концепцией открытых систем от них требуется мобильность в как можно более широком классе аппаратно-программных решений открытых систем. Даже если ограничиться UNIX-ориентированными локальными сетями, в разных сетях применяется разная аппаратура и протоколы связи. Попытки создания систем, поддерживающих все возможные протоколы, приводит к их перегрузке сетевыми деталями в ущерб функциональности.
Еще более сложный аспект этой проблемы связан СЃ возможностью использования разных представлений данных РІ разных узлах неоднородной локальной сети. Р’ разных компьютерах может существовать различная адресация, представление чисел, РєРѕРґРёСЂРѕРІРєР° символов Рё С‚.Рґ. Рто особенно существенно для серверов высокого СѓСЂРѕРІРЅСЏ: телекоммуникационных, вычислительных, баз данных.
Общим решением проблемы мобильности систем, основанных на архитектуре "клиент-сервер" является опора на программные пакеты, реализующие протоколы удаленного вызова процедур (RPC - Remote Procedure Call). При использовании таких средств обращение к сервису в удаленном узле выглядит как обычный вызов процедуры. Средства RPC, в которых, естественно, содержится вся информация о специфике аппаратуры локальной сети и сетевых протоколов, переводит вызов в последовательность сетевых взаимодействий. Тем самым, специфика сетевой среды и протоколов скрыта от прикладного программиста.
При вызове удаленной процедуры программы RPC производят преобразование форматов данных клиента в промежуточные машинно-независимые форматы и затем преобразование в форматы данных сервера. При передаче ответных параметров производятся аналогичные преобразования.
Если система реализована на основе стандартного пакета RPC, она может быть легко перенесена в любую открытую среду.
Технология “клиент-сервер” применительно Рє СУБД сводится Рє разделению системы РЅР° РґРІРµ части – приложение-клиент (front-end) Рё сервер базы данных (back-end). Рта архитектура совмещает лучшие черты обработки данных РЅР° мэйнфреймах Рё технологии “файл-сервер”. РћС‚ мэйнфреймов технология “клиент-сервер” позаимствовала такие черты, как централизованное администрирование, безопасность, надежность. РћС‚ технологии “файл-сервер” унаследованы низкая стоимость Рё возможность распределенной обработки данных, используя ресурсы компьютеров-клиентов. Сейчас графический интерфейс пользователя стал стандартом для систем “клиент-сервер”. РљСЂРѕРјРµ того, архитектура “клиент-сервер” значительно упрощает Рё ускоряет разработку приложений Р·Р° счет того, что правила проверки целостности данных находятся РЅР° сервере. Неправильно работающее клиентское приложение РЅРµ может привести Рє потере или искажению данных. Р’СЃРµ эти возможности, ранее свойственные только сложным Рё дорогостоящим системам, сейчас доступны даже небольшим организациям. Стоимость оборудования, программного обеспечения Рё обслуживания для персональных компьютеров РІ десятки раз ниже, чем для мэйнфреймов. Особенности обработки данных РІ различных архитектурах показаны РЅР° СЂРёСЃ.1.
Рис.1. Обработка данных в различных архитектурах
Локальный компьютер
Локальное приложение
СУБД
Данные
Архитектура “файл-сервер”
Клиент Файл-сервер Сетевое приложение Данные
СУБД
Клиент
пересылка Сетевое приложение данных
СУБД
Архитектура “клиент-сервер”
Сервер БД Клиентское СУБД приложение
Данные
Клиентское приложение пересылка запросов и результатов
1.4. Серверы баз данных Термин "сервер баз данных" обычно используют для обозначения всей СУБД, основанной на архитектуре "клиент-сервер", включая и серверную, и клиентскую части. Такие системы предназначены для хранения и обеспечения доступа к базам данных.
Хотя обычно одна база данных целиком хранится в одном узле сети и поддерживается одним сервером, серверы баз данных представляют собой простое и дешевое приближение к распределенным базам данных, поскольку общая база данных доступна для всех пользователей локальной сети.
1.5. Принципы взаимодействия между клиентскими и серверными частями Доступ к базе данных от прикладной программы или пользователя производится путем обращения к клиентской части системы. В качестве основного интерфейса между клиентской и серверной частями выступает язык баз данных SQL.
Рто язык РїРѕ сути дела представляет СЃРѕР±РѕР№ текущий стандарт интерфейса СУБД РІ открытых системах. Собирательное название SQL-сервер относится РєРѕ всем серверам баз данных, основанных РЅР° SQL.
Серверы баз данных, интерфейс которых основан исключительно на языке SQL, обладают своими преимуществами и своими недостатками. Очевидное преимущество – стандартность интерфейса. В пределе, хотя пока это не совсем так, клиентские части любой SQL-ориентированной СУБД могли бы работать с любым SQL-сервером вне зависимости от того, кто его произвел.
Недостаток тоже довольно очевиден. РџСЂРё таком высоком СѓСЂРѕРІРЅРµ интерфейса между клиентской Рё серверной частями системы РЅР° стороне клиента работает слишком мало программ СУБД. Рто нормально, если РЅР° стороне клиента используется маломощная рабочая станция. РќРѕ если клиентский компьютер обладает достаточной мощностью, то часто возникает желание возложить РЅР° него больше функций управления базами данных, разгрузив сервер, который является СѓР·РєРёРј местом всей системы.
Одним из перспективных направлений СУБД является гибкое конфигурирование системы, при котором распределение функций между клиентской и пользовательской частями СУБД определяется при установке системы.
1.6. Преимущества протоколов удаленного вызова процедур Упоминавшиеся выше протоколы удаленного вызова процедур особенно важны в системах управления базами данных, основанных на архитектуре "клиент-сервер".
Во-первых, использование механизма удаленных процедур позволяет действительно перераспределять функции между клиентской и серверной частями системы, поскольку в тексте программы удаленный вызов процедуры ничем не отличается от удаленного вызова, и следовательно, теоретически любой компонент системы может располагаться и на стороне сервера, и на стороне клиента.
Во-вторых, механизм удаленного вызова скрывает различия между взаимодействующими компьютерами. Физически неоднородная локальная сеть компьютеров приводится к логически однородной сети взаимодействующих программных компонентов. В результате пользователи не обязаны серьезно заботиться о разовой закупке совместимых серверов и рабочих станций.
1.7. Типичное разделение функций между клиентами и серверами В типичном на сегодняшний день случае на стороне клиента СУБД работает только такое программное обеспечение, которое не имеет непосредственного доступа к базам данных, а обращается для этого к серверу с использованием языка SQL.
В некоторых случаях хотелось бы включить в состав клиентской части системы некоторые функции для работы с "локальным кэшем" базы данных, т.е. с той ее частью, которая интенсивно используется клиентской прикладной программой. В современной технологии это можно сделать только путем формального создания на стороне клиента локальной копии сервера базы данных и рассмотрения всей системы как набора взаимодействующих серверов.
С другой стороны, иногда хотелось бы перенести большую часть прикладной системы на сторону сервера, если разница в мощности клиентских рабочих станций и сервера чересчур велика. В общем-то при использовании RPC это сделать нетрудно. Но требуется, чтобы базовое программное обеспечение сервера действительно позволяло это. В частности, при использовании ОС UNIX проблемы практически не возникают.
1.8. Архитектуры процессора базы данных. Основная часть любой системы “клиент-сервер” – это сервер БД. Со времени возникновения архитектуры “клиент-сервер” появилось много вариантов архитектуры процессора БД, поскольку он во многом определяет успех всей системы. Основное требование к серверу БД – обеспечение минимального времени выполнения запросов при максимально возможном числе пользователей. Существуют две основные архитектуры для построения процессора БД: архитектура с несколькими процессами и многопоточная архитектура.
1. Архитектура СЃ несколькими процессами Характеризуется тем, что несколько экземпляров исполняемого файла работают одновременно. Рти системы отличаются хорошей масштабируемостью, РЅРѕ требуют значительных расходов памяти, так как память каждому экземпляру приложения выделяется отдельно. Рта архитектура подразумевает наличие эффективного механизма взаимодействия процессов Рё полагается РЅР° операционную систему РїСЂРё разделении процессорного времени между отдельными экземплярами приложения. Самый известный пример сервера, построенного РїРѕ этой архитектуре, - Oracle Server. РљРѕРіРґР° пользователь подключается Рє БД Oracle, РѕРЅ РІ действительности запускает отдельный экземпляр исполняемого файла процессора базы данных. 2. Многопоточная архитектура Рта архитектура использует только РѕРґРёРЅ исполняемый файл, СЃ несколькими потоками исполнения. Главное преимущество – более скромные требования Рє оборудованию, чем для архитектуры СЃ несколькими процессами. Здесь сервер берет РЅР° себя разделение времени между отдельными потоками, РёРЅРѕРіРґР° давая преимущество некоторым задачам над РґСЂСѓРіРёРјРё. РљСЂРѕРјРµ того, отпадает необходимость РІ сложном механизме взаимодействия процессов. РџРѕ этой архитектуре построены MS SQL Server Рё Sybase SQL Server.
2. Трехуровневая архитектура “клиент-сервер” На верхнем уровне абстрагирования взаимодействия клиента и сервера достаточно четко можно выделить следующие компоненты:
•презентационная логика (Presentation Layer - PL), предназначенная для работы с данными пользователя; •бизнес-логика (Business Layer - BL), предназначенная для проверки правильности данных, поддержки ссылочной целостности..; •логика доступа к ресурсам (Access Layer - AL), предназначенная для хранения данных;
Таким образом можно, можно придти к нескольким моделям клиент-серверного взаимодействия :
1. "Толстый" клиент. (fat client)
Сервер БД Пользовательский интерфейс
Данные Бизнес-логика
Пользовательский интерфейс
Бизнес-логика
Наиболее часто встречающийся вариант реализации архитектуры клиент-сервер в уже внедренных и активно используемых системах. Такая модель подразумевает объединение в клиентском приложении как PL, так и BL, таким образом обеспечивается полная децентрализация управления бизнес-логикой. Однако в случае необходимости выполнения каких-либо изменений в клиентском приложении придется менять исходный код. Серверная часть, при описанном подходе, представляет собой сервер баз данных, реализующий AL. К описанной модели часто применяют аббревиатуру RDA - Remote Data Access.
2. "Тонкий" клиент. (thin client)
Бизнес- Логика Пользовательский интерфейс
Данные
Пользовательский интерфейс
Модель, начинающая активно использоваться РІ корпоративной среде РІ СЃРІСЏР·Рё СЃ распространением Internet-технологий Рё, РІ первую очередь, Web-браузеров. Р’ этом случае клиентское приложение обеспечивает реализацию PL, поэтому клиент может довольствоваться довольно СЃРєСЂРѕРјРЅРѕР№ аппаратной платформой, Р° сервер объединяет BL Рё AL. Максимальная загрузка сервера предусматривает выполнение бизнес-логики только СЃ помощью хранимых процедур сервера (Хранимые процедуры – откомпилированные SQL-инструкции, хранящиеся РЅР° сервере). Рто позволяет максимально централизовать контроль над данными Рё легко изменять правила работы сразу для целого предприятия. РЎ РґСЂСѓРіРѕР№ стороны, незначительная корректировка правил, касающаяся только части пользователей, потребует длительной процедуры согласования. Р’ этом случае невозможно реализовать какие-то исключения РёР· общих правил для некоторых пользователей или приложений. Р’ принципе, это хорошо Рё является залогом безопасности Рё целостности данных.
3. Сервер бизнес-логики. (трехуровневая архитектура)
Промежуточный сервер Пользовательский Бизнес-логика интерфейс второго уровня
Сервер БД Пользовательский Бизнес-логика интерфейс сервера
Данные
Модель с физически выделенным в отдельное приложение блоком BL, таким образом получаем трехуровневую архитектуру “клиент-сервер”. На сервере БД может функционировать “универсальная” часть бизнес-логики (правила на уровне предприятия или группы связанных приложений). Такая схема позволяет поддерживать тонких клиентов на пользовательских компьютерах и в то же время разгрузить сервер БД от чрезмерной загрузки при сохранении гибкой системы работы с бизнес-правилами. В качестве промежуточного сервера может использоваться второй SQL-сервер, но чаще рациональней задействовать персональную СУБД, которая менее требовательна к аппаратным ресурсам и может обеспечить удобные средства построения и поддержки бизнес-логики.
3. Программные средства разработки
3.1. Универсальные средства Для разработки клиентских приложений существует громадное число универсальных пакетов программ, которые позволяют выполнить соединение с сервером и разработать для пользователя удобный графический интерфейс, позволяющий эффективно работать с данными. Некоторые из этих средств для разработки приложений в архитектуре “клиент-сервер” перечислены в таблице.
Наименование Краткая характеристика CA-OpenROAD Полнофункциональная объектно-ориентированная среда для разработки приложений РЅР° РѕСЃРЅРѕРІРµ языка четвертого поколения 4GL. Delphi Client/Server Универсальный пакет для разработки клиентских приложений. Обеспечивает объектно-ориентированную разработку СЃ использованием визуальных средств. Поддерживает РіСЂСѓРїРїРѕРІСѓСЋ работу над приложением. Magic 6.0 Таблично-управляемый инструментарий для разработки трехуровневых приложений “клиент-сервер”. MS Visual Basic 5.0 Универсальный пакет разработки пользовательских приложений. Обеспечивает визуальное построение форм Рё компиляцию приложения. Р’ полном объеме поддерживаются OLE 2.0 Рё OLE Automation. Для работы СЃ данными предназначен визуальный инструментарий Visual Database Tools. PowerBuilder 4.0 Объектно-ориентированное средство разработки приложений “клиент-сервер”. Рмеет мощные визуальные средства; поддерживает стандарты OLE Рё ODBC. Progress 8 Пакет поддерживает компонентную объектно-ориентированную разработку приложений. Рспользуется новая технология SmartObject Рё среда компонентов приложения (ACE). SAS System Обеспечивает инструментарий для доступа, управления, анализа Рё представления данных РІ приложении для громадного числа систем Рё компьютерных платформ, включая мэйнфреймы. Рмеет 35 РІРёРґРѕРІ интерфейса для различных систем Рё язык программирования четвертого поколения. Поддерживает ODBC. Uniface Six Независимая среда разработки. Поддерживает управление РЅР° СѓСЂРѕРІРЅРµ модели Рё компонентное программирование. Рмеет мощные визуальные средства. Допускает РіСЂСѓРїРїРѕРІСѓСЋ разработку. Рмеет интерфейс Рє более чем 30 серверам БД РЅР° различных платформах.
3.2. Персональные СУБД. Для разработки клиентских приложений РІ большинстве случаев вместо универсальных средств разработки удобнее использовать персональные СУБД. Рспользование персональных СУБД позволяет РЅРµ только эффективно организовывать работу СЃ бизнес-правилами, РЅРѕ Рё поддержать независимую работу клиентского приложения Р·Р° счет наличия собственных форматов хранения данных. Краткая характеристика некоторых персональных СУБД приведена РІ таблице.
Наименование Краткая характеристика Lotus Approach 97 Позволяет выполнять РІСЃРµ РІРёРґС‹ обработки данных. Рмеет очень простой интерфейс. СУБД тесно интегрирована СЃ базами данных Notes Рё электронными таблицами Lotus 1-2-3. Поддерживает технологию электронного обмена сообщениями MAPI. MS Access 97 Полнофункциональная СУБД, обладающая богатым набором визуальных средств, многочисленными мастерами Рё мощным языком программирования Visual Basic for Applications. Рмеет РіРёР±РєСѓСЋ систему подготовки отчетов. Поддерживаются технологии ODBC Рё OLE 2.0. СУБД тесно интегрирована СЃРѕ всеми приложениями MS Office. MS Visual FoxPro 5 РћРґРЅР° РёР· наиболее быстрых персональных СУБД, сочетающая технологию xBase Рё объектно-ориентированный язык программирования. Рмеет богатый набор визуальных средств разработки Рё мастеров для быстрого построения приложений Рё отчетов. Поддерживаются технологии ActiveX, ODBC Рё OLE 2.0. Позволяет создавать OLE-сервера Рё имеет очень развитые средства разработки Рё поддержки приложений “клиент-сервер”. Paradox 7 Поддерживает РІСЃРµ РІРёРґС‹ работы СЃ данными. Для визуального выполнения стандартных задач имеется специальное средство Experts. Наделен собственным достаточно сложным языком ObjectPAL. Поддерживает технологии OLE 2.0, ActiveX, MAPI Рё ODBC.
4. Intranet и архитектура “клиент-сервер”. 4.1. Двухуровневая архитектура “клиент-сервер”
Web-броузер Рсточник данных
Web-сервер
NOS (Network Operation System)
Разграничение функций между Web-броузером и Web-сервером является очень четким. Web-сервер предоставляет HTML-страницы, а броузер отображает эти страницы путем интерпретации тегов HTML.
4.2. Трехуровневая архитектура “клиент-сервер”
Web-броузер Рсточник данных
Третий уровень Программа расширения сервера
HTML Web-сервер
NOS
Клиентский уровень занимает броузер, на уровне сервера находится сервер БД, а на промежуточном уровне располагаются Web-сервер и программа расширения сервера. Такое архитектурное решение позволяет уменьшить сетевой трафик, делает компоненты взаимозаменяемыми и повышает уровень безопасности. Однако такая архитектура также затрудняет обработку транзакций БД ввиду природы протокола HTTP, не запоминающего состояния (этот протокол использует для передачи данных между броузером и сервером БД). Броузер посылает Web-серверу запросы на доставку Web-страниц или данных. Web-сервер обслуживает заявки на Web-страницы, а запросы отправляет программе-расширению серверной части. Последняя принимает передаваемые ей запросы, преобразует их в форму, понятную серверу БД, и передает их серверу БД. Затем сервер БД выполняет работу по обслуживанию запроса и возвращает результат программе-расширению серверной части. Наконец та преобразует результаты в формат, приемлемый для броузера, и передает их Web-серверу, а тот в свою очередь – броузеру.
4.2.1. Программы расширения серверной части Одной из главных причин использования программ-расширений серверной части на промежуточном уровне является возможность использовать стандарты, существующих для двух крайних уровней, путем осуществления трансляции между ними. Другие применения расширений серверной части состоят в поддержании соединений между БД с целью уменьшить трафик в сети и в поддержании резерва соединений между БД для уменьшения затрат ресурсов на открытие/закрытие БД. Расширения серверной части также поддерживают взаимозаменяемость в своих стандартных интерфейсах. Поэтому Web-серверы и серверы БД можно сравнительно легко заменять или наращивать. Существует три категории расширений серверной части: с обычным CGI, с гибридным CGI и с API.
5. Пример базы данных Пример базы данных см. в прилагаемом к курсовой работе техническом задании.
Рсточники:
1. Рђ.Горев, РЎ.Макашарипов, Р®.Владимиров “SQL Server 6.5 для профессионалов” РР·Рґ. “Питер” Санкт-Петербург 1998
2. Рљ.Ланг, Р”.Чоу “Публикация баз данных РІ Рнтернете” РР·Рґ. “Символ-Плюс” Санкт-Петербург 1998
3. Р”.Боуман, C.Рмерсон, Рњ.Дарновски “Практическое руководство РїРѕ SQL” РР·Рґ. “Диалектика” Киев 1997
4. Microsoft Press “Секреты создания интрасетей” РР·Рґ. “Питер” Санкт-Петербург 1998
5. http:\\www.citforum.ru 3
12
www.ronl.ru