Добавлен: 29.04.2023
Просмотров: 355
Скачиваний: 3
СОДЕРЖАНИЕ
ГЛАВА.1 ИСТОРИЯ РАЗВИТИЯ ТЕХНОЛОГИЙ ОБРАБОТКИ ИНФОРМАЦИИ.
1.1.Централизованная модель обработки информации.
1.2.«Клиент-серверная» модель обработки информации.
ГЛАВА.2 ДВУХУРОВНЕВЫЙ И МНОГОУРОВНЕВЫЙ ВАРИАНТЫ АРХИТЕКТУРЫ «КЛИЕНТ — СЕРВЕР»
2.1.Двухуровневый вариант архитектуры «клиент-сервер».
2.2.Трехуровневый вариант архитектуры «клиент — сервер».
2.3.Многоуровневый вариант архитектуры «клиент-сервер».
ГЛАВА.3 ОСНОВНЫЕ ХАРАКТЕРИСТИКИ ПРОМЕЖУТОЧНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
3.1.Общая характеристика промежуточного программного обеспечения.
3.4.Мониторы обработки транзакций.
3.5.Интеграция распределенных объектов.
3.6.Промежуточное ПО, ориентированное на обработку сообщений.
ВВЕДЕНИЕ
Как и любая другая сложно организованная инфраструктура, программное обеспечение должно основываться на прочном фундаменте. Неверное определение ключевых принципов, некорректное определение общих вопросов или отсутствие возможности выявить отдаленные последствия основных решение способны вызвать критические нарушения в работе системы. Современные средства разработки и платформы ускоряют рутинные процессы создания приложений, но не лишают необходимости тщательного проектирования в строгом соответствии с требованиями и на основании конкретных сценариев. Неверно определенная архитектура приложения вызывает нестабильность в работе программного обеспечения, обуславливает невозможность поддержки существующих или перспективных бизнес-процессов, создает сложности при развертывании и администрировании в среде эксплуатации. В процессе выбора оптимального решения проектировщик системы обязан ориентироваться на потребности пользователя, возможности инфраструктуры и поставленные бизнес-задачи.
Востребованность информационных технологий в сфере бизнеса и в повседневной жизни способствует дальнейшему совершенствованию технологий, а также их усложнению в попытке решить поставленные задачи в максимально возможном объеме. Данные преобразования происходят как в области программного, так и аппаратного обеспечения.
Наступление эры персональных компьютеров сделало доступным применение вычислительных технологий не только крупном, но и среднем и малом бизнесе, отодвинув на второй план применение мейнфреймов, популярных на заре информационных технологий. Однако это не уменьшило необходимость обмена накопленными данными, их анализа, обеспечения совместной работы.
Архитектура «клиент-сервер» является одним из вариантов решения этих задач в современных условиях, чья успешность определила ее популярность во всех сферах деятельности. По сей день она остается динамично развивающейся технологией, с каждым днем предоставляющей все больше возможностей для успешного решения бизнес-задач.
В связи с этим, изучение и анализ данной технологии представляются актуальными.
Целью данной работы является детальное рассмотрение вариантов архитектуры «клиент-сервер».
Обозначенная цель определяет следующие задачи курсовой работы:
- Изучить главные характеристики технологии «клиент-сервер»;
- Ознакомиться с основными моделями архитектуры «клиент-сервер»;
3.Детально рассмотреть варианты архитектуры «клиент-сервер», в зависимости от количества уровней, а также типов применяемого программного обеспечения.
ГЛАВА.1 ИСТОРИЯ РАЗВИТИЯ ТЕХНОЛОГИЙ ОБРАБОТКИ ИНФОРМАЦИИ.
1.1.Централизованная модель обработки информации.
Исторически первой наибольшее распространение получила централизованная модель. Ее расцвет связывают с появлением первых мэйнфреймов IBM System/360 в 1964 году и их последующих поколений.
Данная модель предусматривает использование одного или нескольких вычислительных устройств высокой производительности. Данные устройства обеспечивают выполнение большого количества различных приложений. При этом происходит совместное использование приложениями одних и тех же аппаратных ресурсов: оперативной памяти, дисковых и вычислительных систем. Все пользователи имеют непосредственное подключение к системе.
Для работы данных систем применяются специализированные операционные системы, такие как IBM Z/OS, Sun Solaris, HP-UX.
Централизованная модель обработки информации имеет ряд преимуществ, среди которых одним из наиболее важных является уменьшение затрат на передачу данных и сравнительно высокий уровень безопасности за счет нахождения приложений непосредственно рядом с данными. Также к преимуществом данной модели принято относить наличие интегрированных средств администрирования [11].
К недостаткам данных систем относят высокую стоимость оборудования, сложности масштабирования, трудности в настройках под меняющиеся потребности (пользователь зависит от администратора и лишен возможности настроить в полной мере рабочую среду под свои потребности). Компания Gartner предоставила прогноз, что последний мэйнфрейм будет выключен в 1993 году. Однако, несмотря на имеющиеся недостатки, системы централизованной обработки на основе мэйнфреймов продолжают использоваться и в наше время.
Несколько позже, примерно в 1980-х годах, появилась новая модель обработки информации, получившая название клиент-серверной.
1.2.«Клиент-серверная» модель обработки информации.
Клиент-сервер — форма вычислительной или сетевой архитектуры, подразумевающая распределение заданий или сетевой нагрузки между поставщиками услуг (серверами) и заказчиками (клиентами) [6].
Данная модель предусматривает распределение вычислительных ресурсов по большому количеству вычислительных систем, не имеющих совместно используемых ресурсов. При этом каждый отдельный узел обеспечивает функционирования одного или нескольких приложений, а их общее взаимодействие обеспечивается посредством сети. Данная модель возникла с целью получить возможность отказаться от применения мощных вычислительных систем, в связи с их высокой стоимостью и низким уровнем «гибкости».
В основе данной архитектуры лежит программное обеспечение, расположенное, как правило, на различных вычислительных системах и взаимодействующее через вычислительную сеть с помощью стандартизированных сетевых протоколов.
Серверное программное обеспечение выполняет функцию провайдера услуг и предоставляет свои ресурсы, как в виде вычислений, так и в виде данных и их обработки [1].
Высокие требования к серверному программному обеспечению обуславливают характеристики аппаратной платформы, подразумевающие в зависимости от предоставляемых возможностей, повышенную производительность, большой обрабатываемых объем данных, либо их сочетание.
В качестве клиента в наши дни используются, как правило, персональные компьютеры (так называемые «интеллектуальные терминалы», способные запускать собственное программное обеспечение, в отличие от классических терминалов, обеспечивающих только отображение предоставленной сервером информации). Подобная реализация архитектуры клиент-сервер позволяет обеспечить распределенную обработку информации, при которой часть работы выполняется на клиентской машине (например, отображение пользовательского интерфейса, заключительная обработка), а часть на сервере. Такая организация снижает нагрузку на серверное аппаратное обеспечение, позволяя увеличить производительность, либо количество клиентов одновременно работающих с данным сервером.
Поскольку в рамках аппаратного представления компьютеры классифицируются также на клиентов (вычислительные системы, запрашивающие ресурсы) и серверы (вычислительные системы, предоставляющие ресурсы), то одна и та же машина может выполнять функции сервера и клиента одновременно [4].
Применение технологии клиент-сервер допускает использование различных аппаратных платформ и операционных систем в пределах единого окружения. Целостность системы достигается путем применения стандартизированных сетевых протоколов и единых интерфейсов приложений.
Развитие парадигмы объектно-ориентированного программирования позволило унифицировать подход к созданию клиент-серверных приложений, разбив их на три основных компонента [8]:
- Компонент представления, обеспечивающий пользовательский интерфейс.
- Компонент прикладного назначения, предназначенный для решения конкретных задач в рамках приложения.
- Компонент управления, реализующий доступ к требуемым ресурсам (Рис.1).
Рисунок 1. Компоненты приложений.
Архитектура проектируемого приложения подразумевает объединение прикладных требований, с точки зрения решаемой задачи, и технических требований через поиск различных вариантов применения с последующей их реализацией в виде конечного программного обеспечения. Задача на этапе проектирования — выявление требований, влияющих на архитектуру приложения. Правильно построенная архитектура в значительной степени снижает бизнес-риски, связанные с разработкой и внедрением технического решения. Под хорошей архитектурой подразумевается наличие такого свойства, как гибкость, позволяющая адаптироваться к развитию технологий как в области аппаратного и программного обеспечения, так и пользовательских сценариев и требований [6].
На этапе проектирования следует учитывать эффект от принимаемых решений, неизбежно возникающие компромиссы между критериями качества (например между производительностью и безопасностью) и компромиссы, необходимые для решения системных, пользовательских и бизнес-задач. Необходимо принимать во внимание, что архитектура приложения должна [9]:
- раскрывать структуру системы, но скрывать детали реализации.
- Предоставлять возможность реализации всех вариантов использования и сценариев.
- Максимально возможно отвечать требованием всех заинтересованных сторон.
- Соответствовать требованиям как по качеству, так и по функциональности.
ГЛАВА.2 ДВУХУРОВНЕВЫЙ И МНОГОУРОВНЕВЫЙ ВАРИАНТЫ АРХИТЕКТУРЫ «КЛИЕНТ — СЕРВЕР»
2.1.Двухуровневый вариант архитектуры «клиент-сервер».
При анализе любой сети (включая одноранговые), построенной с применением современных сетевых технологий можно обнаружить компоненты клиент-серверного взаимодействия, как правило относящегося к двухзвенной архитектуре. Данное название (two-tier, 2-tier) подобная архитектура получила из-за особенностей реализации, при которой три базовых компонента распределяются между двумя узлами (клиентом и сервером).
Подобная реализация применяется в клиент-серверных системах, предусматривающих предоставление сервером ответа на клиентские запросы напрямую и в полном объеме, с задействованием исключительно собственных ресурсов сервера. Соответственно при этом не выполняются сторонние сетевые приложения и не происходит обращения к сторонним ресурсам для реализации некой части запроса [5].
В зависимости от расположения компонентов системы на стороне сервера или клиента выделяют несколько основных моделей их взаимодействия (в рамках двухзвенной организации архитектуры):
- сервер терминалов — распределенное представление данных
- файл сервер — доступ к удаленной базе данных и файловым ресурсам
- сервер БД — удаленное представление данных
- сервер приложений — удаленное приложение
Двухзвенная организация клиент-серверного приложения считается самой простой. При подобной реализации модели приложение состоит из сервера (иди группы идентичных серверов) и группы клиентов.
Существует два варианта реализации двухзвенного приложения: модель «толстого» клиента и модель тонкого клиента.
Модель «тонкого» клиента подразумевает работу компонента приложения и компонента управления на стороне сервера (Рис.2). На клиентское аппаратное обеспечение возлагается функция работы компонента представления.
Рисунок 2. «Тонкий» клиент.
Реализация модели толстого клиента подразумевает выполнение компонента представления и прикладного компонента на стороне клиента. На сервер возлагается управление данными. [4]
В первоначальных реализациях двухзвенной архитектуры основная часть прикладных задач решалась на стороне клиента, в то время как на сервер возлагалась задача обработки SQL-запросов (модель «толстый клиент — тонкий сервер»). Впоследствии была создана архитектура, при которой на сервере располагаются хранимые процедуры — откомпилированные программы, реализующие внутреннюю логику работы. Благодаря этом возникла возможность все большую часть задач выполнять на стороне сервера.