6.5. Технология «клиент – сервер»
Информатика и вычислительная техника / Информационные технологии / 6.5. Технология «клиент – сервер»
Технология «клиент-сервер», заменившая технологию «файл-сервер», является более мощной, так как позволила совместить достоинства однопользовательских систем (высокий уровень диалоговой поддержки, дружественный интерфейс, низкую цену) с достоинствами более крупных компьютерных систем (поддержкой целостности, защитой данных, многозадачностью). Она за счет распределения обработки сообщения между многими ПК повышает производительность, позволяет пользователям электронной почты распределять работу над документами, обеспечивает доступ к более совершенным доскам объявлений и конференциям.
В классическом понимании СУБД представляет собой набор программ, позволяющих создавать и поддерживать базу данных в актуальном состоянии и обслуживать запросы пользователей. Функционально СУБД состоит из трех частей: ядра базы данных, языка и инструментальных средств программирования.
Ядро выполняет все остальные функции, которые включены в понятие «обработка базы данных». Термины «ядро», «сервер базы данных», «внутренний интерфейс» – синонимы.
Основная идея технологии «клиент-сервер» заключается в том, чтобы расположить серверы на мощных машинах, а приложения клиентов, использующих язык инструментальных средств, – на менее мощных машинах.
Тем самым будут задействованы ресурсы более мощного сервера и менее мощных машин клиентов. Ввод-вывод к базе основан не на физическом дроблении данных, а на логическом, т.е. клиентам отправляется не полная копия базы, а сервер посылает только логически необходимые порции, тем самым, сокращая трафик сети. Трафик сети – это поток сообщений сети. В технологии «клиент-сервер» программы клиента и его запросы хранятся отдельно от СУБД. Сервер обрабатывает запросы клиентов, выбирает необходимые данные из базы данных, посылает их клиентам по сети, производит обновление информации, обеспечивает целостность и сохранность данных.Рассмотрим основные виды технологии распределенной обработки данных:
1. Технология «клиент-сервер», ориентированная на автономный компьютер, т.е. и клиент, и сервер размещены на одной ЭВМ. По функциональным возможностям такая система аналогична централизованной СУБД. Ни распределенная обработка, ни распределенная СУБД не поддерживаются.
2. Технология «клиент-сервер», ориентированна на централизованное распределение. Клиенты получают доступ к данным одиночного сервера. Данные могут только считываться. Динамический доступ к данным реализуется посредством удаленных транзакций и запросов. Их число должно быть невелико, иначе снизится производительность системы.
3. Технология «клиент-сервер», ориентированная на локальную вычислительную сеть. Единственный сервер обеспечивает доступ к базе. Клиент формирует процесс, отвечающий за содержательную обработку данных, их представление и логический доступ к базе. Доступ к базе данных замедлен, так как клиент и сервер связаны через локальную сеть.
4.
Технология «клиент-сервер», ориентированная на изменения данных в одном месте. Удаленные серверы не связаны между собой сетью ЭВМ, т.е. отсутствует сервер-координатор. Клиент может изменять данные только в своей локальной базе. Возникает опасность «смертельных объятий», т.е. ситуация, когда задача А ждет записи, заблокированные задачей В, а задача В ждет записи, заблокированные задачей А. Поэтому распределенная СУБД должна иметь средство контроля совпадений противоречивых запросов. Распределение данных реализует метод расчленения; реализуется обработка распределенной транзакции.5. Технология «клиент-сервер», ориентированная на изменение данных в нескольких местах. В отличие от предыдущей технологии здесь имеется сервер-координатор, поддерживающий протокол передачи данных между различными серверами.
6. Технология «клиент-сервер», ориентированная на сетевую СУБД. Обеспечивает стратегию расчленения и дублирования. Позволяет получить более быстрый доступ к данным. Распределенная СУБД обеспечивает независимость клиента от места размещения сервера, глобальную оптимизацию, распределенный контроль целостности базы, распределенное административное управление.
Во всех технологиях существуют два способа связи прикладных программ клиента и сервера баз данных: прямой и непрямой. При прямом соединении прикладная программа клиента связывается непосредственно с сервером базы данных, а при непрямом – доступ к удаленному серверу обеспечивается средствами локальной базы. Возможно объединение обоих способов.
Преимущества технологии «клиент-сервер»:
ü не требуются одновременные крупные финансовые вложения, так как мощность можно наращивать постепенно;
ü добавление сервера или рабочей станции повышает общую мощность системы;
ü пользователь имеет большой выбор платформ;
ü технология «клиент-сервер» имеет большую гибкость и производительность при построении многоуровневых информационных систем.
Использование технологии «клиент-сервер» позволяет перенести часть работы с сервера баз данных на ЭВМ клиента, оснащенную инструментальными средствами для выполнения его профессиональных обязанностей. Тем самым данная технология позволяет независимо наращивать возможности сервера баз данных и инструментальные средства клиента. Недостаток технологии «клиент-сервер» заключается в повышении требований к производительности ЭВМ-сервера, в усложнении управления вычислительной сетью, кроме того, при отсутствии сетевой СУБД трудно организовать распределенную обработку.
Под платформой сервера баз данных понимают возможности операционной системы компьютера и сетевой операционной системы (ОС). Каждый сервер баз данных может работать на определенном типе компьютера и сетевой ОС. Операционные системы серверов – это DOS версии выше 5.0, Unix, Windows NT, OS/2 и др. В настоящее время наиболее употребительными являются около десяти серверов. Наиболее популярными из них являются Microsoft SQL-server 6.5, SQLbase-server, Oracle-server и др.
Серверы баз данных рассчитаны на поддержку большого числа различных типов приложений. Для реализации интерфейса с сервером базы данных можно использовать объектно-ориентированные средства, электронные таблицы, текстовые процессоры, графические пакеты, настольные издательства и другие информационные технологии.
Рост объемов распределенных баз данных выявил следующие проблемы их использования:ü управление распределенными системами очень сложно, и инструментов для него катастрофически не хватает;
ü сложные распределенные решения обходятся дороже, чем планировалось;
ü производительность многих приложений в распределенных системах недостаточна;
ü усложнилось решение проблем безопасности данных.
Решением этих проблем становится возврат к централизованной обработке на базе больших ЭВМ, называемых мэйнфреймами третьего поколения. Новое семейство CMOS-мэйнфреймов IBM S/390 Parallel Enterprise Server – Generation 3 с воздушным охлаждением конкурентно по цене и производительности Unix/RISC-серверам. Оперативная память мэйнфреймов от 512 Мбайтов до 8 Гбайт. Они имеют от 3 до 25 каналов. Внутреннее дисковое устройство может иметь суммарную емкость от 18 до 288 Гбайт. Операционная система OS/390 версия 2 поддерживает реляционную СУБД ДВ2, систему обеспечения транзакций CICS и серверы безопасности, отвечающие стандартам DCE Security Server OSF 1.
Компания Oracle совместно с Hewlett-Packard и ЕМС предложила другое решение. Для хранения данных предназначены направляемые дисковые подсистемы Integrated Cached Disk Array ЕМС Symmetrix 3500, работающие под управлением операционной системы HP-UX 100. Суммарная информационная емкость таких систем от 500 Гбайт до 1 Тбайт. Такие системы являются основой для создания информационных хранилищ.
6.2 Технология Клиент-сервер
Создание большинства бизнес-приложений требует решения целого комплекса задач по хранению данных, обеспечению параллельного доступа к ним, их целостности и защиты.
Архитектура клиент-сервер — архитектурная модель взаимодействия функциональных компонентов систем обработки данных различного назначения.
Предусматривается выделение одного из функциональных компонентов называемого сервером, для оказания некоторого набора услуг по запросам других компонентов, называемых клиентами.
Клиентская часть — обеспечивает интерактивный, легкий в использовании, обычно графический интерфейс – находится на компьютере пользователя.
Сервер – обеспечивает управление данными, разделение информации, администрирование и безопасность – находится на специально выделенных компьютерах или даже мейнфреймах.
Технология клиент сервер может быть использована как в среде распределенной, так и сосредоточенной архитектуры. Они широко применяются в распределенных СУБД и в информационных технологиях Internet.
(БД сосредоточенная – БД, полностью поддерживаемая на одном компьютере и доступная по запросам пользователей, работающих непосредственно на этом компьютере, либо предоставляемая для сетевого доступа.
БД распределенная – БД, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием. При создании распределенных БД используется 2 метода распределения данных – фрагментация и тиражирование. Части БД на отдельных узлах могут использоваться одновременно как локальные БД.)
Двухзвенная архитектура клиент-сервер.
Сервер поддерживает базу данных и обрабатывает запросы, поступающие от клиентов. Клиентские узлы поддерживают пользовательский интерфейс и функциональность приложений.
Недостатки: Ограниченные возможности масштабирования и наращивание нагрузки на сервер базы данных выше некоторого порога приводит к резкому снижению производительности системы. Усложняется процесс модификации приложений – изменения могут затрагивать целый ряд клиентских систем.
(Масштабируемость – способность программного обеспечения приложения адаптироваться к наращиванию аппаратных ресурсов системы для сохранения или повышения достигнутого уровня производительности в условиях, когда увеличивается объем хранимых и обрабатываемых данных, возрастает поток транзакций и/или количество пользователей.
Транзакция – совокупность операций манипулирования данными (вставки, удаления, выборки, обновления) в системе БД, которая переводит БД из одного целостного состояния в другое. В соответствии с классической моделью транзакция рассматривается как единое целое (свойство атомарности) В соответствии с такой моделью либо все операторы выполняются, и результаты фиксируются в БД, либо результаты транзакции полностью аннулируются в БД (откат транзакции). В обоих случаях логическая целостность БД не нарушается.)
Трехзвенная архитектура клиент-сервер.
Структура – клиент, сервер приложения и сервер базы данных.
При такой архитектуре функциональность приложения поддерживается специальным сервером, который при необходимости может масштабироваться. Клиенты освобождаются от поддержки функций приложения и обеспечивают лишь поддержку пользовательских интерфейсов. Такие клиенты называются тонкими.
Клиентские приложения обращаются не к серверу БД напрямую, а к специализированному ПО промежуточного слоя. Это может быть и одно звено (простейшая трехзвенная модель) и более сложная структура.
ПО промежуточного слоя называется сервером приложений, принимает запросы клиентов, обрабатывает их в соответствии с запрограммированными правилами бизнес-логики, при необходимости преобразует в форму, удобную для сервера БД и отправляет серверу.
Сервер БД выполняет полученные запросы и отправляет результаты серверу приложений, который адресует данные клиентам.
Рисунок — Многозвенная архитектура приложений БД
Таким образом, многозвенное приложение БД состоит из (рисунок ):
— «тонких» клиентских приложений, обеспечивающих лишь передачу, представление, редактирование и простейшую обработку данных;
— одного или нескольких звеньев ПО промежуточного слоя (сервер приложений), которые могут функционировать как на одном компьютере, так и распределенно — в локальной сети;
— сервера БД (Oralce, Sybase, MS SQL, InterBase и т. д.), поддерживающего функционирование базы данных и обрабатывающего запросы.
Более простая трехзвенная модель содержит следующие элементы:
— «тонкие» клиенты;
— сервер приложений;
— сервер БД.
Например, при чрезмерной загрузке сервера, сервер приложений может самостоятельно обрабатывать запросы пользователей (ставить их в очередь или отменять) без дополнительной загрузки сервера БД.
Наличие сервера приложений повышает безопасность системы, т. к. вы можете организовать здесь авторизацию пользователей, да и любые другие функции безопасности без прямого доступа к данным.
Примеры технологий доступа к внешним данным.
1) Технологии доступа к данным:
ADO;
BDE;
ODBC;
InterBase Express;
dbExpress.
2) Технологии доступа к данным для распределенных систем:
COM;
CORBA.
Технология клиент-сервер — SAP-документация
Технология клиент-сервер
Задача компонентов технологии клиент-сервер — предоставить повторно используемую среду выполнения для других компонентов, использующих технологию клиент-сервер для обработки запросов. Основное внимание уделяется оптимизации ресурсов операционной системы (ЦП, памяти и т. д.) с точки зрения производительности, масштабируемости и надежности.
В дополнение к компонентам ядра SAP имеются программы, регулирующие трафик данных в сети, такие как SAProuter и SAP Web Dispatcher, а также более мелкие программы мониторинга и тестирования.
Архитектура клиент/сервер SAP разработана на сервере приложений SAP NetWeaver.
Интеграция
Информацию об архитектуре сервера приложений SAP NetWeaver см. в разделе Архитектура сервера приложений SAP NetWeaver.
Функции
Компоненты
В таблице ниже перечислены компоненты ядра SAP, которые являются частью технологии клиент/сервер и для которых имеется подробная документация. Некоторые из этих функций существуют только в AS ABAP, другие также используются для AS Java.
CST Документация по подкомпонентам
Компонент | Документация |
---|---|
BC-CST-IC Менеджер интернет-коммуникаций | Диспетчер интернет-коммуникаций (ICM) Администрирование Internet Communication Manager Веб-диспетчер SAP |
BC-CST-EQ Постановка в очередь | Концепция блокировки SAP |
BC-CST-UP Обновление | Задача обновления в системе SAP |
BC-CST-MM Управление памятью | Управление памятью SAP |
BC-CST-MS Служба сообщений | Мониторинг и администрирование сервера сообщений SAP |
БК-КСТ-ЛЛ Функции низкого уровня | Функции трассировки |
БК-КСТ-НУ Буфер диапазона номеров | Буфер диапазона номеров SAP |
BC-CST-GW Шлюз/CPIC | Шлюз SAP |
BC-CST-NI Сетевой интерфейс, SAProuter | SAP-маршрутизатор |
BC-CST-SL Лицензия SAP | Процедура лицензирования SAP |
Транзакции
Следующие транзакции также участвуют в мониторинге компонентов и выполнении основных функций.
Операции мониторинга и администрирования
Операция | Код транзакции | Документация |
---|---|---|
Сервер SAP | СМ51 | Обзор серверов приложений SAP |
Область обзора процесса | СМ50 | Отображение и управление рабочими процессами |
Список пользователей | СМ04 | Отображение и управление сеансами пользователей |
Системные сообщения | СМ02 | Обработка системных сообщений SAP |
ICM-монитор | СМИКМ | Использование монитора ICM |
Монитор шлюза | Пистолет-пулемет | Использование SAP Gateway Monitor в системе SAP |
Монитор сервера сообщений | СММС | Монитор сервера сообщений |
Ресурсы сервера | САРФК | Конфигурация системных ресурсов для aRFC, tRFC, qRFC |
Инструменты для настройки и тестирования систем SAP
Вам доступны следующие дополнительные программы:
sapcpe. С помощью этой программы вы можете локально организовать дерево каталогов. Вы можете найти документацию здесь: Программа sapcpe.
lgtst, msprot и msmon — это программы для мониторинга и управления сервером сообщений SAP.
gwmon используется для мониторинга шлюза SAP.
Client_server Семь фактов и мифов, которые вам нужно знать
Дешевле? Программное обеспечение? Отделяйте факты от вымысла.
1. Клиент/сервер дешевле в эксплуатации, чем мейнфрейм.
Вероятно, нет. Некоторые компании могут сэкономить деньги с системой клиент/сервер, но не делают ставку на это. Хотя затраты на оборудование иногда ниже, программное обеспечение, устранение неполадок и обучение часто делают архитектуру клиент/сервер на 20–30 % дороже фактических затрат на технологии. Однако клиент/сервер может обеспечить огромный долгосрочный прирост производительности и доходов.
2. Среда клиент/сервер проще в использовании для конечного пользователя.
Верно. Графический пользовательский интерфейс, такой как Windows, в сочетании с удобным для пользователя программным обеспечением устраняет запутанные коды и высокоструктурированные рабочие шаблоны, привязанные к мейнфреймам. Однако важно выбирать хорошо интегрированные программные решения. Дополнительный бонус: затраты на обучение должны со временем снижаться по мере того, как сотрудники учатся пользоваться системой.
3. Реинжиниринг является автоматическим результатом архитектуры клиент/сервер.
Ложь. Клиент/сервер предоставляет множество основных инструментов для изменения рабочих и бизнес-процессов, но это не происходит автоматически. Большинство компаний считают, что команды или комитеты должны изучать технологии и внутренние процессы, чтобы найти новые способы более эффективного выполнения работы.
4. Прикладное программное обеспечение управляет системой клиент/сервер.
Ложь. Нет никаких сомнений в том, что программное обеспечение является ключевым компонентом, но клиент/сервер представляет собой невероятно сложное сочетание технологий. Мало того, что сеть должна быть настроена эффективно, очень важно иметь надежные серверы, ПК, оптимизированные для среды, хорошо совместимую реляционную базу данных и надежные приложения, работающие на рабочем столе. Нижняя линия? «Процессы должны быть согласованы с инфраструктурой, — говорит Джеймс Грин, консультант по рыночной стратегии компании Summit Strategy Inc. в Ньюбери, штат Массачусетс.
5. Важно принимать решения о клиенте/сервере, исходя из потребностей предприятия.
Верно. Легко и заманчиво обслуживать пищалку отдельной вотчины или ЛВС. Дело в том, что практически невозможно согласовать общекорпоративные стандарты в каждом конкретном случае, объясняет Сидни Даймонд, консультант из Стивенсона, штат Мэриленд. Точно так же крайне важно контролировать вычислительные платформы, операционные системы, программное обеспечение и обучение. Конечно, можно смешивать и сочетать компоненты, но это должно вписываться в общий план. Думайте о долгосрочной перспективе.
6. Человеческие ресурсы находятся в авангарде движения клиент/сервер.
Верно. Из-за транзакционного характера многих HR-задач человеческие ресурсы могут извлечь большую выгоду из этой технологии. И, не заблуждайтесь, HR одним из первых внедрил множество клиент-серверных приложений, включая сканирование, визуализацию, интерактивный голосовой ответ, киоски и технологию рабочего процесса.
7. Одноранговые сети убивают клиент/сервер.
Верно. Ну, все равно когда-нибудь. Но тогда вселенная тоже может в конце концов закончиться. Клиент-сервер будет существовать еще долгие годы, хотя он только начинает превращаться в зрелую вычислительную среду и может применяться, а может и не применяться для нужд HR-вычислений. Так называемая одноранговая сеть, при которой вычислительная мощность и данные распределяются по организации по множеству компьютеров, имеет преимущества в определенных компаниях и отраслях, но также создает множество проблем и все еще является экспериментальной.