Файл: Программные средства создания клиентских программ (Операционная система клиента).pdf
Добавлен: 01.04.2023
Просмотров: 126
Скачиваний: 2
СОДЕРЖАНИЕ
Архитектура клиент-серверных систем
Основные принципы взаимодействия компонентов системы
Программное обеспечение клиента и сервера
Средства разработки клиентских программ
Интегрированные среды разработки программ и их ключевые особенности
Основы разработки программ в Dev-C++
- Быстрый процессор (с поддерживающей RISC архитектурой);
- Отказоустойчивые возможности:
- Двойной блок питания для предотвращения проблем с первым блоком;
- Резервный источник питания для защиты от отказа линии электропередачи;
- Проверка ошибок и исправление памяти для защиты от сбоев модуля памяти;
- Избыточный массив независимых дисков (RAID) для защиты оборудования от физических сбоев.
В теории любой компьютерный процесс, в котором могут быть четко выделены клиентские и серверные компоненты, может быть реализован при помощи клиент-серверной модели. При правильной реализации принципы клиент-серверной архитектуры распределения процессов преобразуются в следующие преимущества процесса сервера:
- Независимость от местоположения;
Серверный процесс может быть расположен где угодно в сети.
- Оптимизация ресурсов;
Серверный процесс может быть общим.
- Масштабируемость;
Серверный процесс может быть модернизирован для работы на более мощных платформах.
Эти преимущества вкупе с принципами независимости аппаратного и программного обеспечения модели клиент / сервер облегчают интеграцию компьютеров, мобильных устройств и мэйнфреймов в практически цельную среду [4.] (рисунок 1). К наиболее популярным из так называемых портативных компьютеров относятся ноутбуки, планшеты и смартфоны. Мобильные устройства, такие как планшеты и смартфоны, позволяют преодолеть недостаток ноутбуков, то есть они менее громоздки.
Рисунок 1. Общая среда клиент-серверной архитектуры
Программное обеспечение и требования к нему рассматриваются в следующем подразделе.
Программное обеспечение клиента и сервера
Операционная система клиента
Программное обеспечение для поддержки определенных функций, таких как редактирование полей, контекстно-зависимая справка, навигация, подготовка и хранение личных данных, а также манипулирование ими, часто выполняется на клиентской рабочей станции. Все эти функции используют графический интерфейс и функциональность окон. Дополнительная бизнес-логика для расчетов и анализа может находиться на рабочей станции клиента. Она использует локальную операционную систему для размещения как основных служб, так и интерфейсов сетевой операционной системы. Эта операционная система может быть такой же или отличаться от операционной системы сервера. Запуск BIOS включает проверку оборудования, подключенного к компьютеру, например, клавиатуры, чтобы убедиться, что оно работает и может обмениваться данными с операционной системой компьютера. Запуск операционной системы завершает процесс загрузки (запуска компьютера) и подготавливает компоненты и среду компьютера для фактического использования. Unix, Linux, Mac OS, Windows XP, Windows 7, 8 и 10 являются примерами операционных систем.
Когда клиентская рабочая станция подключена к локальной сети, она имеет доступ к услугам, предоставляемым сетевой операционной системой, в дополнение к услугам, предоставляемым клиентской рабочей станцией. Рабочая станция может загружать программное обеспечение и сохранять текстовые документы с сервера и, следовательно, использовать функции файлового сервера, предоставляемые через сетевую операционную систему. Она также может выполнять печать на удаленном принтере через эту систему. Клиентская рабочая станция может использоваться в качестве терминала для доступа к приложениям, размещенным на главном миникомпьютере или процессоре мэйнфрейма. Это позволяет одной рабочей станции заменить терминал, а также обеспечить функциональность клиентской рабочей станции.
Операционная система сервера
Серверы предоставляют платформу для приложений, баз данных и услуг связи, а также предоставляют и контролируют общий доступ к собственным ресурсам. Приложения на сервере должны быть изолированы друг от друга, чтобы ошибка одного из них не могла повредить другому. Упреждающая многозадачность гарантирует, что ни один процесс не может полностью использовать ресурсы сервера и препятствовать предоставлению обслуживания другими процессами. Должны быть средства определения относительного приоритета задач на сервере. Эти требования специфичны для реализации клиент / сервер, но не для реализации файлового сервера. Поскольку файловые серверы выполняют только одну задачу файловой службы, они могут работать в более ограниченной операционной среде без необходимости изоляции приложений и вытесняющей многозадачности.
Сервер является многопользовательским компьютером. Не существует специальных требований к оборудованию, которые превращают компьютер в сервер. Аппаратная платформа должна быть выбрана исходя из требований приложений и экономической эффективности. Не существует также какой-то выдающейся аппаратной технологии для сервера. Основной характеристикой сервера является его поддержка нескольких одновременных запросов клиентов на обслуживание. Следовательно, сервер должен обеспечивать поддержку многозадачности и службы разделяемой памяти. Серверы для клиент-серверных приложений работают лучше всего, когда они настроены на использование операционной системы, поддерживающей общую память, изоляцию приложений и многозадачность. Высокопроизводительные процессоры Intel, RISC, IBM System являются кандидатами для серверной платформы. Сервер отвечает за управление интерфейсом сервер-запросчик (исполнитель запроса), так что индивидуальный ответ на запрос клиента синхронизируется и направляется обратно только клиентскому запросчику. Это подразумевает как безопасность при авторизации, так и целостность ответа на запрос.
Сетевая операционная система
Сетевая операционная система (англ. Network Operating System, NOS) – это системное программное обеспечение, которое управляет сетью и ее трафиком, а также очередями сообщений (например, пакетами), контролирует доступ нескольких пользователей к сетевым ресурсам, таким как файлы, и обеспечивает определенные административные функции, включая безопасность. Также она включает в себя специальные функции для подключения компьютеров и устройств в локальную сеть (LAN) или межсетевое взаимодействие.
Сетевая операционная система (NOS) – это операционная система, которая была специально написана для поддержания оптимальной производительности сетей с собственной структурой для использования в сетевой среде [5.]. Некоторые из наиболее важных функций сетевой операционной системы включают в себя:
- Предоставление файлов, печати, веб-сервисов, услуг резервного копирования и репликации;
- Обеспечение базовых функций операционной системы, таких как поддержка процессоров, протоколов, автоматическое обнаружение аппаратного обеспечения и поддержка множественной обработки приложений;
- Функции безопасности, такие как аутентификация, авторизация, ограничения входа в систему и контроль доступа;
- Управление пользователями и поддержка инструментов входа и выхода, удаленного доступа, управления системой, администрирования.
- Поддержка межсетевого взаимодействия. Некоторые из компонентов, которые обычно встроены в NOS и могут отсутствовать в обычной операционной системе, включают поддержку сетевой карты, общий доступ к файлам, вход на сервер, сопоставление дисков и поддержку собственного протокола. Большинство операционных систем могут поддерживать все эти компоненты с надстройкой либо от первоначального производителя операционной системы, либо от стороннего поставщика.
Некоторые из систем, доминирующих в сетевых операционных системах, – это JUNOS, Cisco IOS, ZyNOS, RouterOS и т. д.
Веб-браузер
Веб-браузер (обычно называемый браузером) – это программное приложение для доступа к информации во Всемирной паутине [6.]. Когда пользователь клиентского компьютера открывает определенный веб-сайт, веб-браузер получает необходимый контент с веб-сервера, а затем отображает получившуюся веб-страницу на устройстве пользователя.
Веб-браузер – это не то же самое, что поисковая система, хотя их часто путают. Для пользователя поисковая система – это просто веб-сайт, такой как Google Search, Bing или DuckDuckGo, который хранит доступные для поиска данные о других веб-сайтах. Однако для подключения к серверу веб-сайта и отображения его веб-страниц у пользователя должен быть установлен веб-браузер.
По состоянию на март 2019 года более 4,3 миллиарда человек используют браузер, что составляет около 55% населения мира. Три самых популярных браузера – это Chrome, Firefox и Safari (рисунок 2).
Рисунок 2. Наиболее популярные веб-браузеры в 2019 году
Средства разработки клиентских программ
Современные системы средств для разработки и отладки программ позволяют провести весь этап разработки продукта – от выработки первых идей, лежащих в основе ранних его версий, до выпуска полного набора программной документации и моделирования ключевых сущностей, составляющих основу продукта. Автоматизация многих процессов с целью упрощения конструирования основных парадигм и графического интерфейса пользователя прикладным программистом стала возможной благодаря эволюции интегрированных сред разработки программ [7.].
Интегрированные среды разработки программ и их ключевые особенности
Интегрированные среды разработки предназначены для охвата всех необходимых задач программиста в одном приложении. Современные среды предлагают единый интерфейс, который включает в себя все инструменты, которые требуются разработчику. Обычно они включают в себя [8.]:
- Редактор кода: как правило, он представляет собой текстовый редактор, предназначенный для написания и редактирования исходного кода программы на выбранном языке программирования. Редакторы исходного кода отличаются от текстовых редакторов тем, что упрощают написание и редактирование кода.
- Компилятор и/или интерпретатор: этот инструмент преобразует исходный код, написанный на понятном для человека и доступном для записи языке, в форму, выполняемую компьютером (машинный код).
- Отладчик: этот инструмент используется во время тестирования для отладки прикладных программ.
- Средства автоматизации сборки: эти инструменты позволяют автоматизировать непосредственные задачи разработчика.
Кроме того, большинство современных интегрированных сред разработки имеют систему интеллектуального автоматического завершения кода. Некоторые из них также имеют средства для просмотра классов, обозреватель решений и возможность создания диаграммы иерархии классов при использовании объектно-ориентированной парадигмы разработки программного обеспечения.
Классифицировать средства разработки можно по нескольким категориям, например, исходя из поддерживаемого ими языка программирования, работоспособности созданных приложений на той или иной платформе, наличия в них тех или иных библиотек и визуальных средств и т.д. Почти любое средство разработки, которое позволяет назвать себя универсальным, можно заставить работать с любой базой данных, достаточно поддержки применения в этом средстве разработки сторонних библиотек и наличия у базы данных API для платформы, на которой должны работать разработанные приложения. Однако далеко не любая связка "средство разработки + система управления базами данных" может быть выгодной с точки зрения трудозатрат, связанных с созданием подобных программ. Можно написать полноценное приложение, вызывающее функции клиентского API и реализующего удобный пользовательский интерфейс с помощью компилятора языка С и простейшей графической библиотеки (например, позволяющей изменять цвет пикселов на экране) для той операционной системы, в которой будет работать данное приложение. Но затраты, связанные с реализацией подобного проекта, могут оказаться совершенно неоправданными - ведь в этом случае разработчикам придется реализовывать функции, которые уже содержатся в библиотеках классов и компонентов средств разработки, более глубоко ориентированных на создание приложений с базами данных или включающих поддержку создания таких приложений.
Основным предназначением интегрированных сред разработки программ, а также их главным преимуществом можно назвать повышение производительности труда программистов и автоматизацию создания исходных кодов программ. Интегрированные среды повышают производительность за счет сокращения времени установки, увеличения скорости выполнения задач разработки, возможности поддержки и стандартизации процесса разработки [9.].
- Ускоренная настройка. Без графического интерфейса, предоставляемого визуальной интегрированной средой, разработчикам придется тратить время на настройку нескольких инструментов разработки. Благодаря возможностям интегрированной среды разработчики получают один и тот же набор функций в одном месте без необходимости постоянного переключения инструментов.
- Ускоренные задачи разработки. Более тесная интеграция всех задач разработки повышает производительность труда разработчиков. Например, код может быть проанализирован лексически и синтаксически во время редактирования, если среда обеспечивает мгновенную обратную связь при появлении синтаксических ошибок. Разработчикам не нужно переключаться между приложениями для выполнения задач. Кроме того, инструменты и функции интегрированной среды разработки помогают разработчикам оптимизировать ресурсы, предотвращать ошибки и использовать наиболее рациональные способы решения задач. Кроме того, интегрированные среды разработки улучшают мыслительный процесс, заставляя разработчиков думать о своих действиях с точки зрения всего жизненного цикла разработки, а не как серии отдельных задач.
- Непрерывное обучение. Поддержка проектов и самообразование при помощи интегрированных сред – еще одно преимущество. Например, разделы справки или помощи в современных средах разработки постоянно обновляются, а также появляются новые образцы кода, шаблоны проектов и т.д. Программисты, которые постоянно учатся и знакомятся с лучшими практиками, с большей вероятностью будут приносить пользу команде и предприятию и повышать производительность.
- Стандартизация. Интерфейс интегрированной среды стандартизирует процесс разработки, что помогает разработчикам более комфортно работать вместе и быстрее привлекать к совместному сотрудничеству новых специалистов.