Архитектура аппаратно-программных средств распределенной обработки информации для интранет-технологии
Архитектура аппаратно-программных средств распределенной обработки информации для интранет-технологии МОСКОВСКИЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ (ТУ) Курсовая работа по предмету системное программное обеспечение Тема: Архитектура аппаратно-программных средств распределенной обработки информации для интранет- технологии. Студента группы ВВ-22-95 Головченко В. Преподаватель Малыгина О.П. Москва 1998 Содержание 1. Архитектура "клиент-сервер" 1.1. Открытые системы 1.2. Клиенты и серверы локальных сетей 1.3. Системная архитектура "клиент-сервер" 1.4. Серверы баз данных 1.5. Принципы взаимодействия между клиентскими и серверными частями 1.6. Преимущества протоколов удаленного вызова процедур 1.7. Типичное разделение функций между клиентами и серверами 1.8. Архитектуры процессора базы данных 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. Системная архитектура "клиент-сервер" Понятно, что в общем случае, чтобы прикладная программа, выполняющаяся на рабочей станции, могла запросить услугу у некоторого сервера, как минимум требуется некоторый ин- терфейсный программный слой, поддерживающий такого рода взаимодействие (было бы по меньшей мере неестественно требовать, чтобы прикладная программа напрямую пользова- лась примитивами транспортного уровня локальной