Модели архитектуры «клиент-сервер»
«Толстый» клиент — это наиболее часто встречающийся вариант реализации архитектуры «клиент-сервер» в уже внедренных и активно используемых системах. Такая модель подразумевает объединение в клиентском приложении как презентационной логики, так и бизнес-логики. Серверная часть при описанном подходе представляет собой сервер БД, реализующий логику доступа к ресурсам.
«Тонкий» клиент — это компьютер-клиент сети с архитектурой «клиент-сервер», который переносит большинство задач по обработке информации на сервер. Эта модель активно используется в корпоративной среде в связи с распространением интернет-технологий и в первую очередь веб-браузеров. В этом случае клиентское приложение обеспечивает реализацию презентационной логики, а сервер объединяет бизнес-логику и логику доступа к ресурсам. «Тонкие» клиенты лучше использовать для работы с традиционными офисными приложениями.
Двухзвенная модель — это система «клиент-сервер», в которую входят компьютеры клиента и сервера. Клиент запрашивает данные у сервера, а сервер предоставляет данные. Большинство систем «клиент-сервер» построены с использованием этой модели, но двухзвенные модели способны обеспечить работу лишь ограниченного числа клиентов.
Двухзвенная модель «клиент-сервер» подходит для небольших программ на уровне рабочей группы при числе пользователей менее 100.
Многозвенная модель — это система «клиент-сервер», в которой промежуточное звено (компьютер) помещается между компьютером-клиентом и компьютером-сервером двухзвенной модели. Промежуточное звено, обычно работающее как монитор обработки транзакций или брокер объектных запросов, предоставляет другое место для выполнения программы. С помощью многозвенной модели разработчики могут обеспечивать работу большего числа клиентов, чем при использовании двухзвенной модели.
В компьютерных сетях для передачи данных между узлами сети можно использовать три технологии: коммутацию каналов, коммутацию сообщений и коммутацию пакетов.
Модель взаимодействия открытых систем
В настоящее время взаимодействие в компьютерных сетях описывается с помощью модели взаимодействия открытых систем.
Модель OSI разделяет сетевые коммуникации на отдельные уровни, облегчающие разработку и внедрение сетей, а также служит базисом при разработке совместимого сетевого оборудования. Каждый уровень модели обслуживает различные этапы процесса взаимодействия. Работу модели OSI обеспечивают различные службы, каждая на своем уровне. Все вместе данные службы выполняют одну общую работу—передачу данных по сети, придерживаясь общего правила (общего протокола).
Физический уровень обеспечивает линию связи для передачи данных между узлами сети, определяет электрические, механические и функциональные параметры для физической связи в системах. Физический уровень использует физические средства соединения, добавляет свой сервис и предоставляет все это канальному уровню. Заданием уровня является создание физических интерфейсов, необходимых для подключения систем к физическим средствам соединения.
Уровень управления линией передачи данных (канальный уровень) формирует из данных кадры, которые являются блоками данных, содержащими дополнительную управляющую информацию.
Сетевой уровень устанавливает связь в вычислительной сети между двумя узлами. Соединение происходит благодаря функциям маршрутизации (процесс выбора маршрута передачи данных в сети).
Задачей сетевого уровня является создание виртуальных каналов, проходящих через коммуникационную сеть.
Транспортный уровень выполняет разделение передаваемых сообщений на пакеты. На этом уровне может выполняться согласование сетевых уровней несовместимых различных сетей через специальные шлюзы. Рассматриваемый уровень определяет адресацию абонентских систем и административных систем. Главной задачей транспортного уровня является использование виртуальных каналов, проложенных между взаимодействующими абонентскими системами и административными системами, для передачи в пакетах блоков данных. Кроме этого, транспортный уровень восстанавливает блоки данных, потерянные на нижних уровнях.
Сеансовый уровень обеспечивает взаимодействие с транспортным уровнем, координирует прием и передачу данных одного сеанса связи, содержит функции управления паролями, подсчета платы за использование ресурсов сети.
Уровень представления обеспечивает преобразование данных из кадров для экранного формата или формата печатающего устройства. Уровень обеспечивает кодирование данных, выдаваемых прикладными процессами, и интерпретацию передаваемых им данных.
Уровень приложений отвечает за поддержку прикладного программного обеспечения конечного пользователя. Прикладной уровень выполняет задачу обеспечения различных форм взаимодействия прикладных процессов, расположенных в разнообразных системах информационной сети.
Прикладной уровень часто делится на два подуровня. Верхний подуровень включает в себя сетевые службы, а нижний содержит стандартные сервисные элементы, поддерживающие работу сетевых служб.