Чем отличается сервер от клиента. Файл - серверные и клиент - серверные технологии

Как известно, при добавлении новой базы 1С необходимо выбрать её местоположение: либо указать папку на компьютере, либо путь к базе данных (БД). Чем отличаются оба варианта?

Информационная база (ИБ) 1С может работать в 2 режимах, это:

  • Файл-серверный режим
  • Клиент-серверный вариант

Это принципиально разные варианты работы.

Файл-серверный вариант предполагает хранение файла с базой на жёстком диске компьютера. Работа с этим файлом осуществляется клиентским приложением 1С.

Клиент-серверный вариант работы отличается от файлового тем, что между файлом базы данных и программой 1С есть ещё 2 прослойки: сервер 1С и СУБД. Сервер 1С отвечает за трансляцию и передачу команд серверу СУБД, а также обеспечивает права доступа к объектной модели системы. СУБД обеспечивает все операции чтения/записи над данными.

Таким образом, элементами клиент-серверной архитектуры последовательно являются:

  • Операционная система
  • Система управления базами данных (СУБД)
  • Сервер 1С
  • Клиентское приложение 1С:Предприятие 8.

Цепочка взаимодействия при таком варианте следующая:

  • Файловая система компьютера хранит данные базы
  • СУБД периодически обращается к этому файлу, чтобы совершить операции чтения/записи
  • Данные передаются серверу 1С
  • Сервер 1С распределяет данные между клиентскими приложениями 1С.

Стоит понимать, что файловый вариант работы с базой – это базовый вариант её использования. База 1С должна быть достаточно небольшой (до 2 Гб), чтобы в ней можно было совершать регламентные операции. Плюсы у клиент-серверного варианта работы следующие:

  • Возможность ведения больших БД (более 2 Гб)
  • Одновременная работа большого числа пользователей
  • Регулируемое распределение нагрузки на сервер
  • Серверные функции 1С исполняются отдельно (в т.ч. регламентные задания)
  • Хорошая защита целостности и доступа к данным.

Теперь более подробно рассмотрим клиентское приложение 1С. Клиент 1С бывает нескольких видов:

  • Толстый клиент – обычное клиентское приложение 1С. С сервером 1С связь происходит по протоколу TCP/IP.
  • Тонкий клиент – клиентское приложение, использующее механизм управляемых форм. Имеет отличный от обычного клиента интерфейс. С сервером 1С связь происходит либо по протоколу TCP/IP, либо через web-сервер по протоколам HTTP и HTTPS.
  • Web-клиент – использует в качестве среды отображения своих элементов интернет-браузер. С сервером 1С связь происходит исключительно через web-сервер по протоколам HTTP и HTTPS.

Любое клиентское приложение 1С передаёт данные, действия пользователя через сервер 1С. Затем эстафета передаётся СУБД. Стоит также сказать что 1С:Предприятие поддерживает работу не со всеми СУБД, а только с определёнными:

  • Microsoft SQL Server
  • Postgre SQL
  • IBM DB2
  • Oracle Database

Таким образом, при выборе режима работы с ИБ 1С и выборе подходящего вида клиента 1С нужно учитывать вышесказанное.

На основе даталогической модели строится физическая модель.

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

В частности для реляционной БД она уже учитывает:

1. физические аспекты хранения таблиц в определенных файлах,

2. создания индексов, оптимизирующих скорость выполнения операций над данными с помощью приложения,

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

Архитектура БД

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

Централизованная БД подразумевает, что работа с БД возможна только локально. Если компьютер работает в сети, то доступ к информации может осуществляться удаленно с других компьютеров сети. Централизованные БД наиболее распространены в настоящее время. При этом возможны несколько вариантов обработки данных.

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

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

В основе концепции клиент-сервер лежит идея о том, что помимо хранения файлов БД, центральный сервер должен выполнять основную часть обработки данных. Пользователи обращаются к серверу с помощью специального языка структурированных запросов (SQL, Structed Query Language), на которм описывается список задач, выполняемых сервером. Запросы принимаются сервером и порождают процессы обработки данных. В ответ пользователь получает уже отработанный набор данных. Технология клиент-сервер позволяет избежать передачи по сети огромных объемов информации, переложив всю обработку на центральный сервер. Такой подход также позволяет избежать конфликтов при редактировании одних и тех же данных множеством пользователей.

Трехуровневая архитектура («Тонкий клиент» - сервер приложений - сервер базы данных)функционирует в Интранет- и Интернет-сетях.. Клиентская часть ("тонкий клиент"), взаимодействующая с пользователем, представляет собой HTML-страницу в Web-браузере либо Windows-приложение, взаимодействующее с Web-сервисами. Вся программная логика вынесена на сервер приложений, который обеспечивает формирование запросов к базе данных, передаваемых на выполнение серверу баз данных. Сервер приложений может быть Web-сервером или специализированной программой.

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

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

Файл-серверная технология;

Технология клиент-сервер.

Файл-серверная технология – это работа в сетевом пространстве с доступом к файлам СУБД, хранящимся на сервере.

При небольших объемах данных эта схема вполне удовлетворяет всем современным требованиям, но с увеличением числа компьютеров в сети или ростом БД начинают возникать проблемы, связанные с резким падением производительности. Это связано с увеличением объема данных, передаваемых по сети, так как вся обработка производится на компьютере пользователя. Если пользователю требуется пара строк из таблицы объемом в сотни тысяч записей, то сначала вся таблица с файл-сервера передается на его компьютер, а затем СУБД отбирает нужные записи. В этом случае длительные перерывы в работе можно сократить, перейдя на технологию клиент-сервер .

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

10. Типы баз данных. Особенности реляционных субд ms Access и субд OpenOffice.Org Base. Назначение объектов субд Access и Base: таблицы, формы, запросы, отчеты. Типы данных.

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

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

Третий признак классификации баз данных - по структуре организации данных.Это: реляционная, иерархическая и сетевая. Реляционные базы данных являются наиболее эффективными.

КЛАССИФИКАЦИЯ ПО СРЕДЕ ПОСТОЯННОГО ХРАНЕНИЯ

Во вторичной памяти, или традиционная (англ. conventional database): средой постоянного хранения является периферийная энергонезависимая память (вторичная память) - как правиложёсткий диск.

В оперативную память СУБД помещает лишь кеш и данные для текущей обработки.

В оперативной памяти (англ. in-memory database, memory-resident database, main memory database): все данные на стадии исполнения находятся в оперативной памяти.

В третичной памяти (англ. tertiary database): средой постоянного хранения является отсоединяемое от сервера устройство массового хранения (третичная память), как правило на основемагнитных лент или оптических дисков.

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

КЛАССИФИКАЦИЯ ПО СОДЕРЖИМому

Географическая

Историческая

Научная

Мультимедийная.

КЛАССИФИКАЦИЯ ПО СТЕПЕНИ РАСПРЕДЕЛЁННОСТИ

Централизованная, или сосредоточенная (англ. centralized database): БД, полностью поддерживаемая на одном компьютере.

Распределённая (англ. distributed database): БД, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием.

Неоднородная (англ. heterogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами более одной СУБД

Однородная (англ. homogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами одной и той же СУБД.

Access – мощное приложение Windows. Поскольку оба эти продукта – детища компании Miсrosoft, они прекрасно взаимодействуют между собой. Система Access работает под управлением ОСWindows, так что при работе с ней пользователю доступны все преимущества Windows. Можно вырезать, копировать и вставлять данные из любого приложения Windows в Access и наоборот; можно создать проект формы в Access и вставить его в конструктор форм. Работая в среде Miсrosoft Office, пользователь получает в своё распоряжение полностью совместимые между собой Access и Word,Excel и PowerPoint.

Основные объекты базы данных в Base:

Таблицы. Базовый объект БД, в них хранится вся информация, остальные объекты являются производными, т.е. создаются на основе таблиц.

Запросы. Осуществляют отбор данных из таблиц БД на основании заданных условий.

Формы. Позволяют отображать данные таблиц и запросов в более удобном для восприятия виде, добавлять в таблицы новые данные, а также редактировать и удалять существующие.

Отчеты. Предназначены для печати данных, содержащихся в таблицах и запросах, в красиво оформленном виде.

11. Глобальные компьютерные сети. Основные принципы, на которых организован Интернет. TCP/IP протокол. Глобальная компьютерная сеть, ГКС (англ. Wide Area Network , WAN ) - компьютерная сеть , охватывающая большие территории и включающая в себя большое число компьютеров.

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

Некоторые ГКС построены исключительно для частных организаций, другие являются средством коммуникации корпоративных ЛВС с сетью Интернет или посредством Интернет с удалёнными сетями, входящими в состав корпоративных. Чаще всего ГКС опирается на выделенные линии, на одном конце которых маршрутизатор подключается к ЛВС, а на другом коммутатор связывается с остальными частями ГКС.

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

Интерне́т (англ. Internet, МФА: [ˈɪn.tə.net]) - всемирная система объединённых компьютерных сетей

Web Всеми́рная паути́на (англ. World Wide Web) - распределённая система, предоставляющая доступ к связанным между собой документам, расположенным на различных компьютерах, подключенных к Интернету. Для обозначения Всемирной паутины также используют слово веб (англ. web «паутина») и аббревиатуру WWW.

Всемирную паутину образуют сотни миллионов веб-серверов. Большинство ресурсов всемирной паутины основаны на технологии гипертекста. Гипертекстовые документы, размещаемые во Всемирной паутине, называются веб-страницами. Несколько веб-страниц, объединённых общей темой, дизайном, а также связанных между собой ссылками и обычно находящихся на одном и том же веб-сервере, называются веб-сайтом. Для загрузки и просмотра веб-страниц используются специальные программы - браузеры (англ. browser).

Стек протоколов TCP/IP - набор сетевых протоколов передачи данных, используемых в сетях, включая сеть Интернет. Название TCP/IP происходит из двух наиважнейших протоколов семейства - Transmission Control Protocol (TCP) и Internet Protocol (IP), которые были разработаны и описаны первыми в данном стандарте.

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

Файл-серверная технология;

Технология клиент-сервер.

Файл-серверная технология – это работа в сетевом пространстве с доступом к файлам СУБД, хранящимся на сервере.

Обработка запроса одного пользователя:

· Обращение к БД (запрос)

· Перекачка данных с блокировкой доступа других пользователей

· Обработка данных на компьютере пользователя

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

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

Недостатки файл-серверной системы очевидны:

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

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

· Блокировка данных при редактировании одним пользователем делает невозможной работу с этими данными других пользователей.

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

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

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

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

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

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

Таким образом, все вышеперечисленные недостатки файл-серверной схемы устраняются в архитектуре клиент-сервер :

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

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

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

Клиент – компьютер, использующий ресурсы сервера и предоставляющий пользователю возможность взаимодействия с системой и сетью.

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

Сравнение

Наглядно эту модель взаимодействия можно представить, вспомнив многопользовательские программы и игры: мы запускаем на своем устройстве клиентское приложение и видим на экране ферму, танки или собственную фотогалерею в Dropbox. Если нет подключения к глобальной или локальной сети (в зависимости от места размещения), кормить коров и сражаться в команде не получится: все файлы и данные хранятся на сервере.

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

У компьютеров, выполняющих серверные роли в сети с большим количеством клиентов, аппаратная часть обычно усилена несколькими массивами накопителей с высокой скоростью чтения и записи данных. Также эти машины снабжены максимально возможными объемами оперативной памяти. Зато периферийные устройства для них лишние: мониторы, клавиатуры, мыши, аудиосистемы ввиду отсутствия прямого контакта с пользователем просто исключены из системы.

Итак, в чем разница между клиентом и сервером функционально? Первый инициирует работу программного обеспечения (при участии пользователя или без такового), второй ожидает от него запроса. Клиенту известен полный адрес сервера и способ обращения к нему, а тот получает сведения о клиенте после начала взаимодействия. Рабочие станции могут отключаться по расписанию или желанию пользователя, серверный ПК же работает всегда (или пока запущено серверное приложение). Неработоспособность одного из клиентов ни на что не повлияет, тогда как выход из строя серверного оборудования означает недоступность обслуживания для всех подключаемых к нему узлов сети.

Таблица

Клиент Сервер
Отправляет запросы серверу по сети Получает запросы, обрабатывает и возвращает результат клиенту
Установлено клиентское ПО Установлено серверное ПО
Требования к аппаратным ресурсам системы минимальны В зависимости от количества клиентов и сложности задач требует соответствующей производительности
Напрямую взаимодействует с пользователем Не взаимодействует с пользователем, поэтому может не иметь периферийных устройств
Может включаться и отключаться произвольно Работает всегда, пока есть необходимость обслуживания клиентов
Заранее известен способ обращения к серверу и его адрес Получает сведения о клиенте из запроса