Технология клиент сервер: сервер — о технологии простыми словами

6.5. Технология «клиент – сервер»

Информатика и вычислительная техника / Информационные технологии / 6.5.        Технология «клиент – сервер»

Технология «клиент-сервер», заменившая технологию «файл-сервер», является более мощной, так как позволила совместить достоинства однопользовательских систем (высокий уровень диалоговой поддержки, дружественный интерфейс, низкую цену) с достоинствами более крупных компьютерных систем (поддержкой целостности, защитой данных, многозадачностью). Она за счет распределения обработки сообщения между многими ПК повышает производительность, позволяет пользователям электрон­ной почты распределять работу над документами, обеспечивает доступ к более совершенным доскам объявлений и конференциям.

В классическом понимании СУБД представляет собой набор программ, позволяющих создавать и поддерживать базу данных в актуальном состоянии и обслуживать запросы пользователей. Функционально СУБД состоит из трех частей: ядра базы данных, языка и инструментальных средств программирования.

Инструментальные средства программирования относятся к интерфейсу клиента, или внешнему интерфейсу. Они могут включать процессор обработки данных на языке запросов. Наиболее употребительными языками являются SQL и QBE. Язык – это совокупность процедурных и непроцедурных команд, поддерживаемых СУБД. В последнее время наблюдается тенденция применения объектно-ориентированных языков (Visual Objects – VO) для разработки приложений с использованием СУБД. Например, такие СУБД, как FoxPro, Dbase, расширены визуальными редакторами.

Ядро выполняет все остальные функции, которые включены в понятие «обработка базы данных». Термины «ядро», «сервер базы данных», «внутренний интерфейс»синонимы.

Основная идея технологии «клиент-сервер» заключается в том, что­бы расположить серверы на мощных машинах, а приложения клиентов, использующих язык инструментальных средств, – на менее мощных машинах.

Тем самым будут задействованы ресурсы более мощного сервера и менее мощных машин клиентов. Ввод-вывод к базе основан не на физиче­ском дроблении данных, а на логическом, т.е. клиентам отправляется не полная копия базы, а сервер посылает только логически необходимые порции, тем самым, сокращая трафик сети. Трафик сети – это поток сообще­ний сети. В технологии «клиент-сервер» программы клиента и его запросы хранятся отдельно от СУБД. Сервер обрабатывает запросы клиентов, вы­бирает необходимые данные из базы данных, посылает их клиентам по сети, производит обновление информации, обеспечивает целостность и сохранность данных.

Рассмотрим основные виды технологии распределенной обработки данных:

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.

1 и RACF V2R2. Посредст­вом Web-сервера можно подключаться к сети Internet и вести коммерче­скую деятельность. Операционная система OS/390 имеет средства работы с Java-приложениями.

Компания Oracle совместно с Hewlett-Packard и ЕМС предложила другое решение. Для хранения данных предназначены направляемые дис­ковые подсистемы Integrated Cached Disk Array ЕМС Symmetrix 3500, рабо­тающие под управлением операционной системы HP-UX 100. Суммарная информационная емкость таких систем от 500 Гбайт до 1 Тбайт. Такие системы являются основой для создания информационных хранилищ.

6.2 Технология Клиент-сервер

Создание большинства бизнес-приложений требует решения целого комплекса задач по хранению данных, обеспечению параллельного доступа к ним, их целостности и защиты.

Архитектура клиент-сервер — архитектурная модель взаимодействия функциональных компонентов систем обработки данных различного назначения.

Предусматривается выделение одного из функциональных компонентов называемого сервером, для оказания некоторого набора услуг по запросам других компонентов, называемых клиентами.

Клиентская часть — обеспечивает интерактивный, легкий в использовании, обычно графический интерфейс – находится на компьютере пользователя.

Сервер – обеспечивает управление данными, разделение информации, администрирование и безопасность – находится на специально выделенных компьютерах или даже мейнфреймах.

По технологии клиент-сервер клиентское приложение формирует запрос к серверу, на котором выполняются все команды. Результаты команд посылаются клиенту для использования и просмотра.

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

(БД сосредоточенная – БД, полностью поддерживаемая на одном компьютере и доступная по запросам пользователей, работающих непосредственно на этом компьютере, либо предоставляемая для сетевого доступа.

БД распределенная – БД, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием. При создании распределенных БД используется 2 метода распределения данных – фрагментация и тиражирование. Части БД на отдельных узлах могут использоваться одновременно как локальные БД.)

Двухзвенная архитектура клиент-сервер.

Сервер поддерживает базу данных и обрабатывает запросы, поступающие от клиентов. Клиентские узлы поддерживают пользовательский интерфейс и функциональность приложений.

Недостатки: Ограниченные возможности масштабирования и наращивание нагрузки на сервер базы данных выше некоторого порога приводит к резкому снижению производительности системы. Усложняется процесс модификации приложений – изменения могут затрагивать целый ряд клиентских систем.

(Масштабируемость – способность программного обеспечения приложения адаптироваться к наращиванию аппаратных ресурсов системы для сохранения или повышения достигнутого уровня производительности в условиях, когда увеличивается объем хранимых и обрабатываемых данных, возрастает поток транзакций и/или количество пользователей.

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

Трехзвенная архитектура клиент-сервер.

Структура – клиент, сервер приложения и сервер базы данных.

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

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

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

Сервер БД выполняет полученные запросы и отправляет результаты серверу приложений, который адресует данные клиентам.

Рисунок — Многозвенная архитектура приложений БД

Таким образом, многозвенное приложение БД состоит из (рисунок ):

— «тонких» клиентских приложений, обеспечивающих лишь передачу, представление, редактирование и простейшую обработку данных;

— одного или нескольких звеньев ПО промежуточного слоя (сервер приложений), которые могут функционировать как на одном компьютере, так и распределенно — в локальной сети;

— сервера БД (Oralce, Sybase, MS SQL, InterBase и т. д.), поддерживающего функционирование базы данных и обрабатывающего запросы.

Более простая трехзвенная модель содержит следующие элементы:

— «тонкие» клиенты;

— сервер приложений;

— сервер БД.

Например, при чрезмерной загрузке сервера, сервер приложений может самостоятельно обрабатывать запросы пользователей (ставить их в очередь или отменять) без дополнительной загрузки сервера БД.

Наличие сервера приложений повышает безопасность системы, т. к. вы можете организовать здесь авторизацию пользователей, да и любые другие функции безопасности без прямого доступа к данным.

Примеры технологий доступа к внешним данным.

1) Технологии доступа к данным:

    1. ADO;

    2. BDE;

    3. ODBC;

    4. InterBase Express;

    5. dbExpress.

    2) Технологии доступа к данным для распределенных систем:

    1. COM;

    2. 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-вычислений. Так называемая одноранговая сеть, при которой вычислительная мощность и данные распределяются по организации по множеству компьютеров, имеет преимущества в определенных компаниях и отраслях, но также создает множество проблем и все еще является экспериментальной.

    Оставить комментарий

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *