Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лекция 5. 5.1. Типичные архитектуры распределённых систем

 

5.1. Типичные архитектуры распределённых систем

Client-Server (2-tier – двухзвенная архитектура)

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

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

Построение систем по принципу клиент-сервер принесло большие преимущества по сравнению с предшествующими на тот момент монолитными подходами. Главным из преимуществ является как правило чёткое отделение СУБД от кода клиентского приложения, тем самым позволяя использовать промышленные СУБД в многопользовательском режиме, совместно обрабатывать данные. Двухзвенные системы до сих пор широко применяются и показывают очень хорошие показатели в плане производительности системы а так же простоте проектирования, создания и развёртывания для небольшого числа пользователей. Существует широкий спектр интегрированных средств разработки двухзвенных приложений значительно удешевляющих разработку и создание ПО. Это такие средства как Borland Delphi/C++ Builder, MS Visual Studio, Sybase Power Builder и т.п.

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

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

<== предыдущая лекция | следующая лекция ==>
Программное обеспечение промежуточного слоя (middleware) | Мобильные агенты (Applets and other mobile code)
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 341; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.