Какой вид клиентского приложения используется для работы с сервером хранилища
Архитектура «Клиент-Сервер» (также используются термины «сеть Клиент-Сервер» или «модель Клиент-Сервер») предусматривает разделение процессов предоставление услуг и отправки запросов на них на разных компьютерах в сети, каждый из которых выполняют свои задачи независимо от других.
В архитектуре «Клиент-Сервер» несколько компьютеров-клиентов (удалённые системы) посылают запросы и получают услуги от централизованной служебной машины – сервера (server – англ. «официант, обслуга»), которая также может называться хост-системой (host system, от host – англ. «хозяин», обычно гостиницы).
Клиентская машина предоставляет пользователю т.н. «дружественный интерфейс» (user-friendly interface), чтобы облегчить его взаимодействие с сервером.
Рис. 1. Архитектура «Клиент-Сервер».
Типы клиент-серверной архитектуры
Архитектуру «клиент-сервер» принято разделять на три класса: одно-, двух- и трёхуровневую. Однако, нельзя сказать, что в вопросе о таком разделении в сообществе ИТ-специалистов существует полный консенсус. Многие называют одноуровневую архитектуру двухуровневой и наоборот, то же можно сказать о соотношении двух- и трёхуровневой архитектур.
Постараемся внести ясность в этот вопрос.
Одноуровневая архитектура (1-Tier)
Одноуровневая архитектура «клиент-сервер» (1-Tier) – такая, где все прикладные программы рассредоточены по рабочим станциям, которые обращаются к общему серверу баз данных или к общему файловому серверу. Никаких прикладных программ сервер при этом не исполняет, только предоставляет данные.
Рис. 2. Одноуровневая архитектура «клиент-сервер» (1-Tier).
В целом, такая архитектура очень надёжна, однако, ей сложно управлять, поскольку в каждой рабочей станции данные будут присутствовать в разных вариантах. Поэтому возникает проблема их синхронизации на отдельных машинах. В общем, как можно видеть из рисунка, в этой архитектуре просматривается ещё один уровень – базы данных, что даёт повод во многих случаях называть её двухуровневой.
Двухуровневая архитектура (2-Tier)
К двухуровневой архитектуре «клиент-сервер» следует относить такую, в которой прикладные программы сосредоточены на сервере приложений (Application Server), например, сервере 1С или сервере CRM, а в рабочих станциях находятся программы-клиенты, которые предоставляют для пользователей интерфейс для работы с приложениями на общем сервере.
Рис. 3. Двухуровневая архитектура «клиент-сервер» (2-Tier).
Такая архитектура представляется наиболее логичной для архитектуры «клиент-сервер». В ней, однако, можно выделить два варианта. Когда общие данные хранятся на сервере, а логика их обработки и бизнес-данные хранятся на клиентской машине, то такая архитектура носит название “fat client thin server” (толстый клиент, тонкий сервер). Когда не только данные, но и логика их обработки и бизнес-данные хранятся на сервере, то это называется “thin client fat server” (тонкий клиент, толстый сервер). Такая архитектура послужила прообразом облачных вычислений (Cloud Computing).
Преимущества двухуровневой архитектуры:
- Легко конфигурировать и модифицировать приложения;
- Пользователю обычно легко работать в такой среде;
- Хорошая производительность и масштабируемость.
Однако, у двухуровневой архитектуры есть и ограничения:
- Производительность может падать при увеличении числа пользователей;
- Потенциальные проблемы с безопасностью, поскольку все данные и программы находятся на центральном сервере;
- Все клиенты зависимы от базы данных одного производителя;
Трёхуровневая архитектура (3-Tier)
В трёхуровневой архитектуре сервер баз данных, файловый сервер и другие представляют собой отдельный уровень, результаты работы которого использует сервер приложений. Логика данных и бизнес-логика находятся в сервере приложений. Все обращения клиентов к базе данных происходят через промежуточное программное обеспечение (middleware), которое находится на сервере приложений. Вследствие этого, повышается гибкость работы и производительность.
Рис. 4. Трёхуровневая архитектура «клиент-сервер» (3-Tier).
Преимущества трёхуровневой архитектуры:
- Целостность данных;
- Более высокая безопасность, по сравнению с двухуровневой архитектурой;
- Защищённость базы данных от несанкционированного проникновения.
- Более сложная структура коммуникаций между клиентов и сервером, поскольку в нём также находится middleware.
Многоуровневая архитектура (N-Tier)
В отдельный класс архитектуры «клиент-сервер» можно вынести многоуровневую архитектуру, в которой несколько серверов приложений используют результаты работы друг друга, а также данные от различных серверов баз данных, файловых серверов и других видов серверов.
По сути, предыдущий вариант, трёхуровневая архитектура – не более, чем частный случай многоуровневой архитектуры.
Рис. 5. Многоуровневая архитектура «клиент-сервер» (N-Tier).
Преимуществом многоуровневой архитектуры является гибкость предоставления услуг, которые могут являться комбинацией работы различных приложений серверов разных уровней и элементов этих приложений.
Очевидным недостатком является сложность, многокомпонентность такой архитектуры.
Характеристики архитектуры «клиент-сервер»
Практические применения архитектуры «клиент-сервер»
Архитектуры «клиент-сервер» - один из основных принципов работы сети Интернет. Любой веб-сайт, или приложение в Интернет работает на сервере, а его пользователи являются клиентами. Социальные сети (Фейсбук, ВК и пр.), сайты электронной коммерции (Amazon, Озон и др.) , мобильные приложения (Instagram и т.д.), устройства Интернета вещей (умные колонки или смарт-часы) работают на основе клиент-серверной архитектуры.
Хорошим примером работы системы «клиент-сервер» является автомобильный навигатор. Приложение навигации на сервере собирает данные с многих смартфонов пользователей, на которых установлены клиенты приложения. Кроме того, приложение навигации использует ещё и данные с сервера базы данных – геоинформационной системы, который предоставляет данные, например, о текущих ремонтах дорог, о появлении новых дорог и пр. Данные со многих клиентов (местоположение, скорость) обрабатывается сервером навигации и выдаётся на смартфоны пользователей в виде информации о средней скорости движения по тому или иному участку маршрута.
Практически любая корпоративная сеть или ИТ-система предприятия, как правило, строится по архитектуре «клиент-сервер». В небольших сетях (3-5 компьютеров в компании) функции сервера может выполнять один из рабочих компьютеров. Если число машин в организации более 10, то лучше сделать выделенный сервер (почтовый сервер, приложений, баз данных и пр.), который будет заниматься обслуживанием клиентов – компьютеров и телефонов сотрудников организации.
В домашних сетях архитектура «клиент-сервер» тоже используется довольно часто. Например, в домашнюю сеть могут быть объединены компьютеры членов семьи, один из которых выполняет функции сервера. В домашнюю сеть также могут быть включены такие устройства, как умные колонки, умные домашние устройства (пылесосы-роботы, фотоаппараты, DVD-плееры и пр.), а также «умные» счётчики (вода, электричество) и т.д. Тогда в системе управления сервера, будут видны все параметры, данные и медифайлы (музыка, видео, фото), а также «умные устройства».
Преимущества и недостатки архитектуры «клиент-сервер»
К преимуществам архитектуры «клиент-сервер» можно отнести:
- Централизованность, поскольку все данные и управление сосредоточены в центральном сервере;
- Информационная безопасность, поскольку ресурсы общего пользования администрируются централизованно;
- Производительность, использование выделенного сервера повышает скорость работы ресурсов общего пользования;
- Масштабируемость, количество клиентов и серверов можно увеличивать независимо друг от друга.
К недостаткам архитектуры «клиент-сервер» следует отнести:
- Перегрузку трафика в сети, что является главной проблемой в сетях «клиент-сервер». Когда большое число клиентов одновременно запрашивают одну услугу на сервере, то число запросов может создать перегрузку в сети;
- Наличие единой точки отказа в небольших сетях с одним сервером. Если он отказывает, все клиенты остаются без обслуживания;
- Превышение пределов ресурсов сервера, когда новые клиенты, запрашивающие услугу, остаются без обслуживания. В таких случаях, требуется срочное расширение ресурсов сервера;
- Иногда клиентские программы могут не работать на терминалах пользователей, если не установлены соответствующие драйверы. Например, пользователь посылает запрос на печать документа, а на сервере нет подходящего драйвера для печати данного формата документа на определённом принтере.
Заключение
В настоящее время можно встретить термин Serverless Architecture, т.н. «бессерверная архитектура». Однако, по сути, она представляет собой процесс получения функций сервера в виде облачной услуги. То есть, серверы в облаке тоже есть, но для конечного пользователя они не видны, и он получает их сервисы в виде абстрактной «функции как услуги» FaaS (Function as a Service).
Архитектура «клиент-сервер» является основой большинства корпоративных сетей и берёт свое начало от самых первых вычислительных машин, т.н. «мэйнфреймов». Программное обеспечение для локальных компьютерных сетей, подавляющее большинство которых основано на архитектуре «клиент-сервер», начало создаваться около 50 лет назад.
Дальнейшее развитие информационных технологий также будет происходить в значительной степени с использованием архитектуры «клиент-сервер».
После того, как Вы установили платформу, создали пустую конфигурацию (или установили какую-нибудь учебную демо-конфигурацию), то при запуске стартера 1С Вы увидите две кнопки: «1С Предприятие» и «Конфигуратор» (для этого необходимо выделить какую-нибудь базу из списка, см. рис. 1.1.1).
Рис. 1.1.1. Стартер 1С
По большому счету это и есть два основных вида клиентских приложений.
После выхода платформы 8.2, «1С: Предприятие» в режиме пользовательского приложения может работать в тонком и толстом клиенте, а также появился web-клиент, который позволяет работать с «1С: Предприятием» из web-браузера.
Итого, на данный момент существует четыре вида клиентских приложений:
- «Тонкий клиент»
- «Толстый клиент»
- Web-клиент
Почему появилась необходимость разделения обычного клиентского приложения на три вида: «тонкий», «толстый» и web-клиент? Виной этому развитие технологий вообще и интернета в частности. Очень часто стала появляться необходимость в работе с «1С: Предприятием» через сеть интернет, и это стало накладывать определенные ограничения, поскольку пропускная способность сети интернет гораздо уже, чем обычной локальной сети. Поэтому те технологии платформы, которые существовали при редакциях 8.0 и 8.1, стали неприменимы в новых реалиях. Как следствие, была разработана платформа 8.2, в которой обычное приложение разделилось на три вида: «толстый», «тонкий» и web-клиент.
Разберем все виды клиентов подробнее.
«Тонкий клиент»
Этот вид клиентского приложения поставляется в виде отдельного дистрибутива, который так и называется «Тонкий клиент 1С:Предприятия для Windows», скачивается с сайта 1С (при наличии ИТС-подписки) и устанавливается на локальной машине. Исполняемый файл в операционной системе Windows называется 1Cv8с.exe.
Разберем работу «тонкого клиента» по разными протоколами. Первым делом, начнем с привычного нам TCP/IP (кто не знает, это самый распространенный протокол работы локальной сети Ethernet). Возможны два варианта работы с тонким клиентом по сети Ethernet: клиент-серверный вариант и работа с файловой базой.
Рассмотрим оба этих варианта работы «1С: Предприятия»:
Файловый вариант применим, когда работает один или несколько пользователей в рамках небольшой сети, а также в том случае, когда не используются большие объемы данных или громоздкие вычисления. В этом варианте работы все данные расположены в одном файле 1Cv8.1CD, который так и называется – файловая база данных «1С: Предприятия». Схематически работу файлового варианта можно представить так:
Рис. 1.1.2 Схематичное представление работы файлового варианта
Рис. 1.1.3 Схематичное представление работы клиент-серверного варианта
Вернемся к «тонкому клиенту». Как было выше сказано, это клиентское приложение посредством протокола TCP/IP может работать как c вариантом файловой базы, так и с вариантом клиент-серверной архитектуры.
При файловом варианте работы (рис. 1.1.4) «тонкий клиент» взаимодействует непосредственно с файловой базой данных. При этом на стороне «тонкого клиента» организуется специализированная серверная среда, которая, по сути, эмулирует работу сервера. Эта специализированная серверная среда не выделяется отдельным процессом в операционной системе, а входит в процесс «тонкого клиента». Она берет на себя загрузку прикладной конфигурации и прочие серверные действия, необходимые для нормального функционирования «тонкого клиента».
В случае клиент-серверного варианта (рис 1.1.5) «тонкий клиент» напрямую взаимодействует с кластером серверов «1С:Предприятия» посредством локальной сети Ethernet. В этом варианте принципы работы точно такие же, как и для «толстого клиента».
Почему же нужно применять «тонкий клиент» при работе по локальной сети, когда для этого можно работать под «толстым клиентом»? Не всегда в локальной сети предприятия используются хорошие быстрые машины, способные на себя брать какие-то вычисления. Очень часто это могут быть «убитые в хлам» компьютеры, и в данном случае работа под «тонким клиентом» вполне оправдана. При работе в «тонком клиенте» по локальной сети проходят меньшие объемы данных, все вычисления ведутся на сервере, а не на локальной машине, и поэтому устанавливаются более низкие требования к производительности компьютеров, на которых запущен этот вид клиентского приложения (в том случае, когда используется клиент-серверный вариант работы базы).
Теперь перейдем к работе с «тонким клиентом» через сеть Internet. Работа с этим видом клиентского приложения посредством сети Internet возможна как в файловом варианте, так и в клиент-серверном варианте.
В этой книге мы не будем подробно разбирать механизмы настройки «тонкого клиента» и web-клиента для работы через интернет, а коснемся только общих моментов, для того чтобы Вам был понятен принцип действия.
И последняя важная особенность «тонкого клиента»: под ним у Вас нет возможности работать с конфигуратором. Когда Вы запустите «тонкий клиент», то кнопка «конфигуратор» в стартере 1С будет отсутствовать (см. рис 1.1.8). В принципе, это логично: нет смысла давать доступа к «тяжелому» конфигуратору, когда у Вас ограничены ресурсы сети.
Рис. 1.1.8. Вид окна запуска «тонкого клиента»
Web-клиент
Следующий интересный вид клиента, который мы разберем, это web-клиент. Этот вид клиентского приложения необходим для работы только по сети Internet. Причем, если для работы «тонкого клиента» на локальной машине необходимо было устанавливать программное обеспечение, то для работы под web-клиентом этого делать не нужно. Вся работа с данным клиентом может осуществляться посредством интернет-браузера (Mozilla, Opera, Internet Explorer и др.). Это очень удобный вид «тонкого клиента»: любой пользователь, в любой точке мира с любого устройства может запустить интернет-браузер, ввести адрес web-сервера, где опубликована база, и получить доступ к этой самой базе. Нет необходимости ни в скачивании, ни в установке какого-либо программного обеспечения.
Web-клиент может работать как с обычной файловой базой, так и с клиент-серверной архитектурой. Единственно, что в обоих случаях, как и в случае работы «тонкого клиента» посредством сети Internet, необходимо на стороне сервера установить специальное программное обеспечение – web-сервер (как правило, это Apache или IIS).
Принципы работы web-клиента в случае файловой базы и клиент-серверной архитектуры представлены на рис. 1.1.9 и 1.1.10
Рис. 1.1.9. Схема работы web-клиента в файловом варианте | Рис. 1.1.10. Схема работы web-клиента в клиент-серверном варианте |
«Толстый клиент»
Одна из особенностей «толстого клиента» то, что он поддерживает работу в обычном режиме, т.е. под «толстым клиентом» Вы можете запускать приложения, разработанные под платформами 8.1 и 8.0. – обычные приложения. А также в управляемых приложениях запускать обычные формы, что естественно нельзя сделать в «тонком клиенте».
Про обычные и управляемые приложения мы подробно поговорим в следующей главе.
«Толстый клиент» устанавливается обычным дистрибутивом и в операционной системе Windows запускается исполняемым файлом 1Cv8.exe.
Поскольку для работы с «толстым клиентом» необходимы значительные вычислительные мощности, то связываться с базой данных можно или напрямую, или посредством локальной сети Ethernet. Этот вид клиентского приложения может работать как с файловой базой данных, так и с клиент-серверной архитектурой (по протоколу TCP/IP).
В том случае, когда используется клиент-серверный вариант работы «толстого клиента» (рис. 1.1.13), то «толстый клиент» по локальной сети подключается к кластеру серверов «1С:Предприятия», а кластер серверов взаимодействует с SQL-сервером (СУБД). Причем кластер серверов и СУБД могут находиться на разных компьютерах, администратор имеет возможность их разнести, чтобы оптимизировать производительность серверов.
Рис. 1.1.11 Окно запуска «толстого клиента»
Рис. 1.1.12. Схема работы «толстого клиента» в файловом варианте | Рис. 1.1.13. Схема работы «толстого клиента» в клиент-серверном варианте |
И в заключение приведем таблицу, которая наглядно дает понять, чем отличаются эти три вида клиентских приложений: «толстый клиент», «тонкий клиент» и web-клиент.
Табл. 1.1.1 Отличия различных клиентских приложений.
Уникальная авторская методика!
Эта книга подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
- Без сложных технических терминов;
- Более 600 страниц практического материала;
- Каждый пример сопровождается рисунком (скриншот);
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Есть несколько архитектурных стратегий по разработк е приложения, которые пользуются популярностью. На них мы остановимся немного подробнее.
Многослойная архитектура
слой представления — отвечает за интерфейс пользователя;
слой бизнес-логики — отвечает за функционал и логику приложения и не отвечает за интерфейс;
слой передачи данных — отвечает за работу с базами данных и обработку информации.
простой в реализации;
абстрактной;
защищенной за счет изолированности каждого слоя;
легко управляемой и масштабируемой.
Многоуровневая архитектура приложений
одноуровневая,
двухуровневая,
трехуровневая.
клиент — отвечает за обработку интерфейса, логики приложения и передачу информации;
сервер — отвечает за работу хранилищ и баз данных, а также за обработку информации.
клиент,
сервер для обработки,
базы данных для хранения.
Микросервисная архитектура приложений
изолированность каждого отдельного компонента;
сбой одного компонента не затрагивает работоспособность всего приложения;
удобно масштабировать и внедрять обновления;
и др.
Заключение
Архитектура приложений — это далеко не однозначный вопрос. При разработке приложения существует очень много факторов , влияющих на выбор архитектуры. Поэтому многие доступные виды « родились » совсем недавн о б лагодаря трудам неравнодушных разработчиков. Если ваша цель — разработать собственную архитектуру приложений, тогда вам обязательно нужно прочитать книгу « Руководство Microsoft по проектированию архитектуры приложений » .
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Клиентское приложение - это программа, работающая на компьютере пользователя и обеспечивающая интерактивное взаимодействие системы 1С: Предприятие 8 с пользователем. В системе 1С:Предприятие 8 существует 4 клиентских приложения:
- Толстый клиент,
- Тонкий клиент,
- Веб-клиент,
- Мобильный клиент,
В сводном виде возможности этих клиентских приложений можно представить следующим образом:
Толстый клиент
«Толстым» клиент называется потому, что может исполнять практически всю функциональность, предоставляемую встроенным языком, в том числе умеет работать с прикладными типами данных, такими как: Справочник Объект.<имя>, Документ Объект.<имя> и т.д. Но, по этой же причине, он требует значительного количества аппаратных ресурсов на компьютере пользователя и может «общаться» с базой данных или с кластером серверов 1С:Предприятия 8 только посредством файлового доступа или по локальной сети.
Клиент-серверный вариант
Если система 1С: Предприятие 8 работает в клиент-серверном варианте, то толстый клиент подключается к кластеру серверов 1С:Предприятия 8. А кластер взаимодействует с одной из систем управления базами данных. Подключение выполняется по протоколу TCP/IP по локальной сети. Это наиболее распространенный сценарий работы. Менее распространенным, но возможным, является вариант, когда толстый клиент работает на том же компьютере, на котором находится кластер. Такой вариант может использоваться при разработке, в тестовых целях или для выполнения каких-то административных действий.
Файловый вариант работы
Если система 1С: Предприятие работает в файловом варианте, то толстый клиент взаимодействует непосредственно с файловой базой данных. В этом варианте работы толстому клиенту требуется непосредственный файловый доступ к базе данных, например, через общий сетевой ресурс. При этом возможен и такой вариант, когда толстый клиент работает на том же компьютере, на котором находится файловая база данных. Толстый клиент самостоятельно реализует всю функциональность файловой СУБД.
Тонкий клиент
«Тонким» клиент называется потому, что умеет исполнять ограниченный набор функциональности встроенного языка. В частности на тонком клиенте недоступны все прикладные типы данных. Вместо этого тонкий клиент оперирует ограниченным набором типов встроенного языка, предназначенным лишь для отображения и изменения данных в памяти. Вся работа с базой данных, объектными данными, исполнение запросов – выполняется на стороне сервера. Тонкий клиент только получает готовые данные, подготовленные для отображения.
Подключение через Интернет
Клиент-серверный вариант работы
В клиент-серверном варианте работы тонкий клиент взаимодействует с кластером серверов напрямую, по протоколу TCP/IP. Программа, работающая у пользователя, (клиентское приложение) взаимодействует с кластером серверов 1С:Предприятия 8, а кластер, при необходимости, обращается к серверу баз данных.
Файловый вариант работы
Если система 1С: Предприятие работает в файловом варианте, то тонкий клиент взаимодействует непосредственно с файловой базой данных. В этом варианте работы толстому клиенту требуется непосредственный файловый доступ к базе данных, например, через общий сетевой ресурс.
При работе тонкого клиента в файловом варианте работы на компьютере, где запущен сам тонкий клиент, организуется специализированная среда. В рамках этой специализированной среды выполняются:
- загрузка необходимых для работы системы серверных компонентов,
- загрузка прикладной конфигурации,
- другие действия, необходимые для организации нормальной работы системы с информационной базой.
С точки зрения тонкого клиента, данная среда выступает в роли сервера. С точки зрения операционной системы, данная специализированная среда не выделена в отдельный процесс и выполняется в рамках процесса тонкого клиента.
Веб-клиент
Веб-клиент - это одно из клиентских приложений системы 1С: Предприятие 8. В отличие от "привычных" клиентских приложений (толстого клиента и тонкого клиента), его не нужно предварительно устанавливать на компьютер пользователя. У веб-клиента нет исполняемого файла. Веб-клиента вы не найдете ни в меню, ни среди исполняемых файлов. Потому он и веб-клиент, что ему для начала работы не нужно иметь никаких файлов на компьютере пользователя.
Веб-клиент, в отличие от толстого и тонкого клиентов, исполняется не в среде операционной системы компьютера, а в среде интернет-браузера (Windows Internet Explorer, Mozilla Firefox, Google Chrome или Safari). Поэтому любому пользователю достаточно всего лишь запустить свой браузер, ввести адрес веб-сервера, на котором опубликована информационная база, – и веб-клиент сам "приедет" к нему на компьютер и начнет исполняться.
Мобильный клиент
Мобильный клиент - это одно из клиентских приложений системы 1С: Предприятие 8. Мобильный клиент это тонкий клиент для мобильных устройств, который обладает интерфейсом, аналогичным мобильной платформе. Дистрибутив мобильного клиента содержит все необходимые исполняемые файлы, из которых разработчик может собрать приложение для мобильного устройства аналогично тому, как собираются мобильные приложения из мобильной платформы.
Такое приложение, с одной стороны, может напрямую взаимодействовать с кластером серверов 1С: Предприятия точно так же, как это делает тонкий клиент. С другой стороны мобильный клиент обеспечивает автоматическую трансформацию форм, декларативно описанных в конфигурации, в интерфейс, аналогичный интерфейсу мобильной платформы.
Для того, чтобы эта трансформация выполнялась ещё лучше, специально для мобильного клиента разработчику нужно указать некоторые новые свойства элементов формы, избавиться от каких-то особенных и нестандартных интерфейсных решений. То есть требуется некоторая доработка, но она гораздо проще, чем создание специализированного полнофункционального мобильного приложения.
Остались вопросы? Звоните специалистам IT – компании LIGASOFT, они помогут разобраться
Читайте также: