Добавлен: 18.06.2023
Просмотров: 98
Скачиваний: 3
СОДЕРЖАНИЕ
ГЛАВА 1. ОСНОВЫ КЛИЕНТ-СЕРВЕРНОЙ МОДЕЛИ
1.1 ИСТОРИЯ РАЗВИТИЯ КЛИЕНТ-СЕРВЕРНОЙ МОДЕЛИ
1.2 КЛИЕНТ-СЕРВЕРНАЯ АРХИТЕКТУРА
1.2.2 РАЗВИТИЕ ИДЕЙ КЛИЕНТ-СЕРВЕРНОЙ КОНЦЕПЦИИ
1.5 КЛИЕНТ-СЕРВЕРНЫЕ ВЫЧИСЛЕНИЯ
1. 6 ПИРАМИДА МОДЕЛИ «КЛИЕНТ-СЕРВЕР»
ГЛАВА 2. РАЗВИТИЕ КОНЦЕПЦИЙ КЛИЕНТ-СЕРВЕРНОЙ МОДЕЛИ
2.1. КЛИЕНТ-СЕРВЕРНЫЕ ВЫЧИСЛЕНИЯ
2.2 ТРЕХ-УРОВНЕВАЯ АРХИТЕКТУРА
2.3 ПРОШЛОЕ И БУДУЩЕЕ КЛИЕНТОВ
ГЛАВА 3. ОСОБЕННОСТИ РЕАЛИЗАЦИИ КЛИЕНТ-СЕРВЕРНЫХ ПРИЛОЖЕНИЙ
3.1 ВЫБОР ПЛАТФОРМЫ ДЛЯ СЕРВЕРНОЙ ЧАСТИ МОДЕЛИ
3.2 РЕАЛИЗАЦИЯ КЛИЕНТ-СЕРВЕРНОГО ПРИЛОЖЕНИЯ В LINUX
Машина клиент обычно управляет пользовательским интерфейсом частей приложения, проверкой данных, введенных пользователем, отправкой запросов на сервер программы. Кроме того, клиентский процесс также управляет местными ресурсами, что позволяет пользователю взаимодействовать с монитором, клавиатурой, рабочими станциями, процессорами и другими периферийными устройствами. [2]
Машина Сервер выполняет служебные запросы клиента. После того как сервер получает запросы от клиентов, он производит поиск базы данных, обновления, управляет целостностью данных и отправляет ответы на запросы клиентов. Серверных процесс может работать на другой машине в сети; тогда сервер используется как файловая система услуг и приложений сервисов. Или в некоторых случаях, другой рабочий стол машины обеспечивает применение услуг. Сервер выступает в качестве программного обеспечения двигателя, который управляет общим ресурсам, таким как базы данных, принтеры, линии связи, или процессоров высокой мощности. [3]
Основная цель серверного процесса - выполнение фоновых задач, которые являются общими для приложений. Простейшая форма серверов - это дисковый сервер и файл-сервер. Если клиент передает запросы на файл или группы файлов по сети на файловый сервер, эта форма обслуживания данных требует большой пропускной способности и может замедлить сеть с большим количеством пользователей. Более продвинутые формы серверов - это серверы баз данных, сервер транзакций и серверов приложений. [3]
Middleware позволяет приложениям прозрачно контактировать с другими программами или процессами независимо от местоположения. Ключевым элементом Middleware является NOS (NetworkOperatingSystem),которая предоставляет такие услуги, как маршрутизация, распределение, обмен сообщениями и управления сервисной сети. NOS полагается на коммуникацию протоколов предоставления конкретных услуг. Прежде чем пользователь может получить доступ к услугам сети, клиент-серверный протокол требует установку физического соединения и выбор транспортных протоколов. Клиент-серверный протокол диктует, каким образом клиенты запрашивают информацию и услуги от сервера, а также как сервер отвечает на эту просьбу. [3]
1. 6 ПИРАМИДА МОДЕЛИ «КЛИЕНТ-СЕРВЕР»
Мартин Батлер, председатель Butler Group предложил новые рамки для реализации клиент-серверной стратегии. Это пятислойная модель под названием VAL (ValueAddedLayers) Модель. Основная структура напоминает по форме пирамиду, со слоями Инфраструктура и Middleware в нижней части пирамиды, а приложения, хранилища и бизнес модели на вершине. [5]
Характеристики каждого слоя:
Уровень 1 - Инфраструктурный слой. Слой инфраструктуры состоит из всех тех компонентов, которые являются пассивными и не выполняет бизнес-функции. Примеры относятся к этой категории компьютерных операционных систем, сетей, пользовательских интерфейсов и системы управления базой данных.
Уровень 2 – Middleware. Middleware позволяет приложениям прозрачно коммуникатировать с другими программами или процессами независимо от их местоположения. Это средство отображения приложений используемых ими ресурсов. Middleware является ключом к интеграции гетерогенных аппаратных и программных сред, обеспечивая тот уровень интеграции, который необходим многим организациям. Типичные Middleware проявляются после сетевых соединений, соединений с базой данных и осуществляют взаимодействие между базой данных и приложениями. [5]
Уровень 3 – Программный. Приложения являются активными компонентами, которые выполняют работы по организации, и именно сюда, многие компании инвестируют большое количество усилий, времени и денег. Приложения, которые не имеют ключевого значения. Они все чаще приобретаются как готовый пакет. Приложения же, которые являются жизненно важными для увеличения конкурентоспособности компании в отрасли, разрабатываются на месте. [5]
Уровень 4 – Хранилище. Роль хранилища - изоляция бизнес-модели / спецификации от технологических инструментов, которые используются для ее осуществления.
Уровень 5 - Бизнес-модели. Бизнес-модель должна быть независимой, чтобы все технологии, которые используются для ее осуществления были применимы к аппаратной и программной среде в зависимости от того, что является наиболее подходящим. Это будет все больше и больше опираться на объектно-ориентированные методы, и уже существует поколение инструментов, которые поддерживают объект моделирования. [7]
ГЛАВА 2. РАЗВИТИЕ КОНЦЕПЦИЙ КЛИЕНТ-СЕРВЕРНОЙ МОДЕЛИ
2.1. КЛИЕНТ-СЕРВЕРНЫЕ ВЫЧИСЛЕНИЯ
Технология перехода к клиент-серверным вычислениям проявляется, главным образом, за счет более сложной ситуации в бизнесе в последние годы, такие как глобальный маркетинг, дистанционные онлайн продажи распределения, децентрализованной корпоративной стратегии и т.д. Все это требует быстрое реагирование, легкий доступ к информации данных, и более эффективной координации между людьми на всех уровнях как внутри, так и вне организации. [2] Клиент-серверные вычисления позволяют решать все эти проблемы и, следовательно, являются одним из приоритетных вопросов в умах управления ИТ. Ясно, что клиент-серверная технология приносит много преимуществ для бизнеса, а также расширение возможностей для расширения и конкурирования. К сожалению, все это может быть достигнуто только за счет более высокой стоимости сооружений и более сложной совместимости систем.
Грани, которые представители этой области вычерчивали как недостижимые постепенно стираются, и мы уже сейчас можем видеть поколение программистов, которые в работе иногда даже не задумываются о том объёме вычислительной мощности, которые потребляют их программы. Темпы развития в этой области настолько стремительны, что поспеть за ними в экономическом аспекте становится всё сложнее, особенно это актуально для людей, которым не нужно использовать всё многообразие возможностей, предлагаемых на рынке услуг, а необходимо выполнять лишь определённый набор команд. В следствии этих фактов и возникли такие технологии как «облачные вычисления», многие веб-сервисы (как например почтовые сервисы), data mining, глобальные сети и прочие. В корне понимания озвученных технологий и многих других, как только проникающие в нашу жизнь, так и совсем привычных, лежит понимание клиент-серверной модели, поскольку именно эта модель лежит в основе всего вышеуказанного.
Клиент-сервер не единственный способ решения бизнес-проблем, он также получил свои ограничения, один из которых, дороговизна. Но пока клиент-сервер осуществляется мудро, он может принести конкурентные преимущества. [1]
2.2 ТРЕХ-УРОВНЕВАЯ АРХИТЕКТУРА
В настоящее время клиент-серверная архитектура имеет гибкую модульную архитектуру. Она может быть изменена или дополнена.Различные подходы могут быть скомбинированы в различных комбинаторных последовательностях, удовлетворяющих практически любые вычислительным потребностям. Поскольку Интернет становится важным фактором в вычислительных средах клиент-серверных приложений, работающих через Интернет станет важным нового типа распределенных вычислений. [1]
Интернет расширит охват и мощь клиент-серверной архитектуры. С помощью общепринятых стандартов, это позволит облегчить и расширить клиент-серверную архитектуру как внутри, так и между компаниями. Так же из-за интернета будут происходить изменения в языках программирования к технологии распределенных объектов. [2]
Клиент-серверная архитектура по-прежнему остается единственной и лучшей архитектурой с точки зрения использования Интернета и других новых технологий. Но, независимо от развитий других архитектурных подходов, клиент-серверная архитектура, вероятно, останется основой для большинства вычислительных событий в течение следующего десятилетия. [2]
Тем не менее, ошибочно полагать, что такие распределенные системы являются изобретением последних лет. [3] Уже три десятилетия назад активно разрабатывались архитектурные модели «хост-компьютер +терминалы», реализованных на основе мейнфреймов (в качестве примера можно взять IBM-360/370 и компьютеры серии ЕС ЭВМ), или на основе мини-ЭВМ (таких как например PDP-11, или его отечественный аналог cm-4). [2] Отличительной особенностью этих систем являлась полная зависимость терминалов, которые представляли собой рабочие станции, от вычислений и команд, поступавших от хост-компьютера. Такой подход имел свои преимущества, по сравнению с другими реализациями управления, существоваших в то время. Так, множеству людей начало открываться большое разнообразие ресурсов хост-компьютера для использования одновременно, а также и довольно дорогие для тех времен периферийные устройства (принтеры, графопостроители, устройства ввода с магнитных лент и гибких дисков, дисковые накопители). Задействованное программное обеспечение в таком случае имело дело только с "локальными" ресурсами - с локальной файловой системой, локальной оперативной памятью и т.д.
2.3 ПРОШЛОЕ И БУДУЩЕЕ КЛИЕНТОВ
Конечно же, с появлением большого количества людей, соединенных посредством компьютерной сети, сразу пошло бурное развитие клиент-серверных приложений. Но сервер в этом случае используется крайне экономно – это средство для хранения данных и выполнения несложных операций. Основную вычислительную роль берет на себя именно клиент, присоединенных к этой сети. Довольно удачная архитектура дает возможность использовать максимально ресурсы компьютера, богатый пользовательский интерфейс, важные данные пользователя хранятся на компьютере дома, а не сервере неизвестно какой страны.[2] Проблем несколько – заставить человека установить какое-либо приложение можно лишь действительно предоставив ему его как средство решения проблемы. А как же быть тому количеству предпринимателей, которые любыми способами хотят привлечь человека своим выгодным товаром? Пока что клиент-серверная архитектура не сильно им в этом помогает. Да и приложения пишутся для определенной платформы и версии операционной системы, что напрочь лишает взаимодействия пользователей разных операционных систем.
Но прогресс не стоит на месте, и в 1989 году была предложена концепция всемирной паутины. А уже через четыре года появляется первый браузер Mosaic. Сразу же в мире приложений начинает вырисоваться два класса приложений – тонкие клиенты, примером которого может служить тот же браузер Mosaic и толстые клиенты, которые по прежнему берут на себя значительную часть обработки информации и используют сервер для хранения и взаимодействия. [3]
Клиентские приложения не собирается сдавать позиций, потому что все, что может сейчас браузер - это отображать информацию. Динамика отсутствует. Одно лишь значительное преимущество – сайты становятся визитной картой, имеющие свой оригинальный дизайн, расположение меню, цветовую гамму. [3]
Для клиентских приложений это не было распространено –все создавалось на основе стандартных вариантов, стандартное месторасположения меню, стандартные цвета и шрифты. С одной стороны простота и функциональность, с другой стороны – красота и изящество. Конечно же, красота и изящество не могла не найти своих сторонников. Также пользователи разных операционных систем могли спокойно просматривать сайты. Возможны некоторые несоответствия в отображении информации, но все же лучше чем ничего. С появлением JavaScript в 1996 году html-страницы получают небывалую динамику и немного начинают походить на обычные клиентские приложения. [3] Конечно же, до полноценных клиентских приложений им, скорее всего, не дойти никогда, но страницы оживают. Живые страницы делают переворот в интернете, и идет бурное совершенствование скриптовой технологии, что приводит к рождению в 2005 году AJAX, а именно идеи асинхронного обращения к серверу для получения лишь необходимой части страницы, а не всей страницы. Инновационные решения, основанные на AJAX, типа карт Windows Live Local, приблизили веб-приложения к уровню удобства обычных клиентских программ. Вот тут веб-страницу можно было уже спутать с обычным клиентским приложением. Но выглядеть как в клиентском приложении, и работать как клиентское приложение – это разные вещи. Все же доступ к ресурсам ограничен, соединение между клиентом и сервером одноразовое – уже просмотренные страницы при следующем обращении необходимо загружать опять. Но это проблемы, которые могут быть решены с появлением нового http-протокола.[5]
В свое время, толстые клиенты, работающие на компьютере пользователя, при грандиозном развитии веб-технологий становятся в прямом смысле толстыми – они сложны для клиента при обновлении версии, они прихотливы к семействам операционных систем, плохо взаимодействуют с веб-серверами, потому что зачастую построены с использованием клиент-серверной структуры. Здесь надо было срочно искать способы исправить ситуацию. Корпорация Microsoft не задержалась с предложением и выпустила на рынок программную технологию Microsoft .NET Framework, призванную объединить множество различных служб, написанных на разных языках, для общей совместимости. [5] Эта виртуальная машина может быть установлена на разных семействах Windows, а также на других операционных системах, что позволяет использовать любой из языков NET-семейства для написания работоспособных приложений для всех операционных систем, на которых установлен framework. Одна из проблем, которая так долго преследовала клиентские приложения, частично была решена.