Могут ли клиентская и серверная части приложения работать на одном компьютере
Обновлено: 29.10.2024
Архитектура клиент-сервер (рис. 1) делит приложение на две части: «клиент» и «сервер». Такое приложение реализовано в компьютерной сети, которая соединяет клиента с сервером. Серверная часть этой архитектуры обеспечивает центральную функциональность: т. е. любое количество клиентов может подключиться к серверу и запросить выполнение задачи. Сервер принимает эти запросы, выполняет требуемую задачу и при необходимости возвращает клиенту любые результаты.
В качестве примера рассмотрим книжный интернет-магазин. Приложение позволяет пользователю искать и просматривать детали большого ассортимента книг, а затем заказывать книгу. Программное приложение предоставляет интерфейс и средства выбора или поиска информации о книге, а также отображения информации о книге и создания заказа на книгу.
Приложение может иметь форму отдельного фрагмента программного обеспечения, загруженного из Интернета. Однако, если программное обеспечение является одним монолитным элементом, то каждый раз, когда что-либо изменяется или обновляется, все приложение должно распространяться заново. Очевидно, что в данном примере это не сработает, потому что каталог книг будет регулярно меняться. Улучшением может быть разделение приложения на две части. Одна часть, клиент, может предоставлять интерфейс для пользователей и распространяться среди них. Другая часть может быть сохранена и запущена на собственном сервере компании (рис. 1). Клиентское приложение может отображать информацию и использоваться для передачи информации на сервер для поиска, например названия книги. Это клиентское приложение или программное обеспечение довольно часто называют уровнем или уровнем «представления».
В этой модели клиент-сервер многие клиенты могут подключаться к серверному приложению и запрашивать информацию о книгах. Сервер должен обрабатывать эти запросы и отправлять ответ клиенту, который инициировал запрос, а не какому-либо другому клиенту. Пока сеть работает хорошо и сервер может отвечать на все получаемые им запросы, такое «разделенное» приложение будет обеспечивать почти такой же уровень обслуживания, как и монолитная версия. Эту простую клиент-серверную архитектуру также часто называют «двухуровневой архитектурой».
Кроме того, в двухуровневой архитектуре функциональность распределена по-разному. Например, предположим, что у вас есть клиент, который получает доступ к вашему банковскому счету в Интернете. Например, если этот клиент является веб-браузером, его можно использовать для запроса и отображения выписок по вашим счетам с сервера банка. Информация, которую вы можете получить, ограничена предопределенными представлениями информации, предоставляемой сервером. Таким образом, хотя информация сервера может включать баланс вашего счета, если вы хотите узнать общую сумму входящих и исходящих платежей за последнюю неделю или год, вам все равно придется рассчитать ее самостоятельно, основываясь на цифрах, которые предоставляет сервер. Кроме того, вы можете получить доступ к своему банковскому серверу через Интернет, используя другой, «более интеллектуальный» клиент, например, мобильное приложение. Этот клиент может включать в себя средство для извлечения цифр из ваших банковских выписок и выполнения любых расчетов, которые вам нужны. Такой клиент может также создавать гистограммы или круговые диаграммы, отображающие ваши доходы и расходы по различным категориям, которые вы определяете.
Клиент веб-браузера в примере интернет-банка просто отображает информацию, которую предоставляет сервер. «Более интеллектуальный» клиент мобильного приложения позволяет вам получать информацию, предоставляемую сервером, манипулировать ею и отображать ее различными способами в соответствии с вашими личными потребностями. Веб-браузер с небольшой собственной функциональностью часто называют тонким клиентом, а более интеллектуальный клиент обычно называют толстым (или «более толстым») клиентом.
Мы видели, что двухуровневый подход имеет некоторые преимущества, по крайней мере, для приложений, работающих в сети. Клиент, который распространяется среди пользователей, может изменяться, в то время как серверная часть может быть централизованным компонентом, который поддерживает динамические глобальные данные согласованным и безопасным способом для организации и для доступа и использования пользователями. Если сторонний компонент, такой как веб-браузер, обеспечивает функциональные возможности, необходимые для поддержки приложения, то его можно принять как часть решения со значительной экономией усилий по разработке. Существует потенциальный недостаток разделения приложения по сети, заключающийся в том, что данные должны передаваться по медленному или ненадежному соединению.
Есть и другие, чуть менее очевидные преимущества такого разделения приложения на компоненты.Вскоре мы рассмотрим некоторые из них более подробно, но давайте сейчас рассмотрим одно преимущество. Это преимущество, которым вы воспользуетесь, если когда-нибудь решите сменить свой веб-браузер. Например, вы могли перейти с Internet Explorer на Mozilla Firefox просто в качестве личного предпочтения. Когда вы сделали это, вы изменили клиентский компонент всех онлайн-приложений, которые вы используете. Это возможно только потому, что веб-браузеры в значительной степени основаны на общих стандартах и потому, что они не реализованы как неотъемлемая или встроенная часть любого из используемых вами приложений; другими словами, клиент слабо связан с серверным приложением.
Системы клиент-сервер часто хранят данные и выполняют обработку как на сервере, так и на клиенте, а это означает, что планирование на случай непредвиденных обстоятельств для этого типа системы должно учитывать потенциальные сбои в работе сервера, клиентов и подключения между клиентами и серверными компонентами системы. система. Стратегии на случай непредвиденных обстоятельств для клиент-серверных систем, которые следует учитывать владельцам систем, включают: [65]
Использование результатов анализа влияния на бизнес для определения требований на случай непредвиденных обстоятельств для смягчения возможных последствий.
Хранение резервных копий всех данных, а также клиентских и серверных программных компонентов вне офиса или на другом сайте.
Стандартизация оборудования, программного обеспечения и периферийных устройств для облегчения восстановления после сбоя нескольких клиентов.
Документирование информации о конфигурации системы и контактной информации поставщиков оборудования, программного обеспечения и других системных компонентов для помощи в восстановлении системы или закупке компонентов для замены.
Согласование решений на случай непредвиденных обстоятельств с политиками безопасности и элементами управления безопасностью системы, включая координацию мер безопасности между основными и альтернативными сайтами.
Сведение к минимуму объема данных, хранящихся на клиентских компьютерах, таких как рабочие станции пользователей, за счет рекомендации или требования хранения данных на сервере или в технологиях централизованного хранения.
Автоматизация резервного копирования системы и данных для серверных и клиентских компьютеров, а также настройка компьютеров таким образом, чтобы облегчить централизованное резервное копирование, например путем обеспечения того, чтобы компьютеры оставались включенными в течение ночи или во время запланированных окон резервного копирования.
Координация решений на случай непредвиденных обстоятельств с процедурами реагирования на кибер-инциденты, чтобы ограничить влияние на систему инцидентов безопасности и гарантировать, что конфиденциальность или целостность данных не будет нарушена во время непредвиденных операций.
К ключевым моментам принятия решения при выборе решений для непредвиденных обстоятельств клиент/сервер относятся выбор процедур резервного копирования, носителей, аппаратного и программного обеспечения, а также технологий шифрования и криптографических модулей для обеспечения достаточно надежной защиты съемных носителей, а также данных, хранящихся на клиенте и сервере. компьютеры.
Включение службы клиент-серверных приложений
Том Лашевски, Пракаш Наудури, Миграция в облако, 2012 г.
Замена клиент-серверных систем облачным приложением
Введение
Клиент-сервер
В системе клиент-сервер большое количество персональных компьютеров взаимодействует с общими серверами в локальной сети. Такая система очень похожа на среду TP, где большое количество устройств отображения подключается к общим серверам, на которых выполняются транзакции. В каком-то смысле системы ТП были оригинальными клиент-серверными системами с очень простыми настольными устройствами, а именно с тупыми терминалами. По мере того, как настольные устройства становятся все более мощными, системы TP и системы персональных компьютеров объединяются в единый тип вычислительной среды с различными типами серверов, такими как файловые серверы, коммуникационные серверы и серверы TP.
Существует намного больше типов систем, чем мы можем здесь включить. Вот некоторые примеры: встроенные системы, системы автоматизированного проектирования, системы потоковой передачи данных, электронные системы коммутации и системы управления трафиком.
Архивирование и хранение DVS
Архитектура клиент/сервер
Более крупные организации уже осознали преимущества использования системы клиент-сервер в корпоративной среде. Однако я считаю, что это особенно важно для малых и средних компаний. Microsoft NOS — это доступная по цене серверная операционная система (она предлагается по разным ценам), которая поставляется с набором решений. Этот сервер может предложить небольшим компаниям такую же экономичность и улучшенные процессы, как и гиганты отрасли.
Windows NOS включает в себя расширенные встроенные функции, такие как возможность подключения большего количества компьютеров к вашей сети, не прикасаясь к ней.Это достигается с помощью динамического протокола управления хостом (DHCP), поэтому, когда коллега посещает офис-спутник за городом, вам не нужно выяснять, как распечатать, отправить по электронной почте или передать его документы — просто подключите его. в сеть, и NOS автоматически назначит ему временный IP-адрес для доступа к сетевым ресурсам (дополнительную информацию о DHCP см. в главе 3). Windows NOS также включает встроенный административный доступ из удаленного местоположения с помощью служб терминалов и удаленного рабочего стола, который также можно использовать для удаленного просмотра видеоматериалов видеонаблюдения.
Архивирование и хранение DVS
Архитектура клиент/сервер
Более крупные организации уже осознали преимущества использования системы клиент-сервер в корпоративной среде. Однако я считаю, что это особенно важно (и я приведу несколько примеров) для малых и средних компаний. Microsoft NOS — это доступная по цене серверная операционная система (у нее есть несколько уровней цен), которая поставляется с набором решений. Этот сервер может предложить небольшим компаниям такую же эффективность затрат и улучшенные процессы, как и гиганты отрасли.
Windows NOS включает в себя расширенные встроенные функции, такие как возможность «подключать и воспроизводить» больше компьютеров в вашей сети, не прикасаясь к ней. Это достигается с помощью протокола динамического управления хостом (DHCP), поэтому, когда Джонни приезжает из вспомогательного офиса за городом, вам не нужно выяснять, как распечатать, отправить по электронной почте или передать его документы; просто подключите его к сети, и NOS автоматически назначит ему временный IP-адрес для доступа к сетевым ресурсам (дополнительную информацию о DHCP см. в главе 3).
Windows NOS также включает в себя встроенный административный доступ из удаленного местоположения с помощью служб терминалов и удаленного рабочего стола, который также можно использовать для удаленного просмотра видеозаписи (подробнее об этом позже).
Защита веб-приложений, служб и серверов
Восстановление приложения
Герхард Вейкум, Готфрид Фоссен, Transactional Information Systems, 2002
17.5.10 Применимость к многоуровневым архитектурам
Подробное представление метода регистрации ответов сервера в предыдущих подразделах основано на двухуровневой архитектуре системы клиент-сервер. Однако этот алгоритм применим в трехуровневых и даже более общих многоуровневых федеративных системах при соблюдении определенных предварительных условий. Ключевое свойство, на котором мы основывались, заключается в том, что клиент запускает один процесс приложения и что это приложение является кусочно-детерминированным. Таким образом, приложение должно быть однопоточным, должно использовать только синхронные сообщения, когда процесс приостанавливается после отправки сообщения и ждет, пока не будет получено ответное сообщение, и не должно зависеть от событий в реальном времени, таких как таймеры и другие внешние сигналы. р>
Хотя указанное выше свойство на первый взгляд кажется достаточно ограничивающим, многие интернет-приложения, в том числе трехуровневые, легко удовлетворяют этим условиям. Хитрость заключается в том, что мы можем рассматривать более сложное многопоточное приложение, как если бы оно было набором виртуальных клиентов, каждый из которых выполняет свое собственное однопоточное приложение. Этот подход прекрасно работает до тех пор, пока между потоками нет релевантного для приложения общего состояния. Таким образом, единственной более серьезной проблемой могут быть асинхронные события, такие как прерывание приложения по внешнему сигналу, но эти механизмы очень редко используются в основных бизнес-приложениях.
После концептуальной декомпозиции сложного приложения мы понимаем, что также не имеет значения, работает ли приложение на выделенном клиентском компьютере или на сервере приложений среднего уровня (например, на веб-сервере). Сервер приложений даже запускает несколько приложений, но с ними можно обращаться так, как если бы они были несколькими клиентами, за исключением случаев, когда между приложениями существует общее состояние, значимое для приложения (т. е. без учета низкоуровневых данных о состоянии, таких как очереди запросов, буферы и т. ). Сервер приложений будет выполнять серверную часть общего алгоритма, разработанного в этом разделе, в отношении каждого из своих клиентов, а также клиентскую часть в отношении серверов данных, с которыми он взаимодействует. Таким образом, алгоритм можно каскадировать по иерархии серверов, так что даже многоуровневые федеративные приложения попадают в область применимости. Однако это не означает, что алгоритм готов для всех возможных приложений электронных услуг в Интернете. Есть, конечно, сложные приложения, такие как децентрализованные аукционы или совместное авторство, которые требуют еще более далеко идущих форм восстановления приложений. Такие приложения требуют будущих исследований гарантий восстановления для произвольных многоуровневых систем.
Другие системы
Сводка издателя
В этой главе рассматривается ряд других систем аудита и вопросы соответствия.Аудит мейнфреймов и других устаревших систем намного проще, чем аудит современных клиент-серверных систем. Эти системы существуют гораздо дольше, и существуют обширные программы для управления ими. Во многих ИТ-аудитах принято исключать наиболее важные системы. Из-за сочетания непонимания и отвращения к старым технологиям устаревшие системы и мэйнфреймы часто игнорируются. AuditNet — один из лучших репозиториев программ аудита и комплаенса. Он предоставляет как бесплатный, так и платный доступ к большому количеству программ аудита для многих систем и структур соответствия. Мейнфреймы считаются устаревшей системой. Устойчивость этих систем в сочетании с высокой вычислительной мощностью и пропускной способностью означает, что у них есть свои сторонники, и они вряд ли исчезнут в ближайшее время. Они особенно широко распространены в средах, использующих сложные крупномасштабные базы данных, требующие обработки больших объемов данных, доступной в течение всего дня, каждый день. Многие аудиторы избегают мейнфреймов. Сочетание навыков специалистов и восприятия старых технологий подвергает эти системы риску.
Проблемы с ошибками 2000 года (Y2K)
I.A.1. Внутренние ИТ-системы
Внутренние ИТ-системы были наиболее очевидным источником потенциальных сбоев Y2K и риском, находящимся под непосредственным контролем компании. Уязвимые технологии включали мейнфреймы, клиент-серверные системы, сети, интрасети, персональные компьютеры (ПК) и другие компоненты аппаратной и программной инфраструктуры, а также прикладные программы, утилиты, базы данных и т. д. Характер риска Y2K часто зависел от степень, в которой компоненты информационных систем находились под непосредственным контролем компании. У многих фирм была комбинация систем, включая приложения, которые были полностью разработаны собственными силами, простые ванильные или модифицированные коммерческие готовые (COTS) программы, а также системы и приложения, созданные по индивидуальному заказу. Многие компании использовали программное обеспечение, разработанное третьими сторонами, для обеспечения экспертной разработки приложений и систем, недоступной собственными силами. Однако поставщики часто не желали предоставлять требуемый уровень поддержки Y2K, поскольку они сталкивались с рисками для своей прибыли и возможным риском ответственности из-за своих несоответствующих продуктов.
Компании часто зависели от соглашений об обслуживании и поддержке с несколькими поставщиками, ответственными за разные части системы, которые со временем были связаны друг с другом. Иметь дело с несколькими поставщиками ИТ-продуктов и услуг в обычное время было достаточно сложно, и было справедливо предположить, что Y2K вызовет новые и непредсказуемые последствия для этих отношений. Лоскутное одеяло взаимозависимых технологий, на которое полагалось большинство компаний, создавало дополнительные трудности, поскольку в 2000 году требовалась оценка, исправление и тестирование всей системы, за которую ни один поставщик не нес единоличной ответственности.
Спецификации ядра
Барри Дуайер Барри Дуайер, в журнале «Системный анализ и синтез», 2016 г.
5.3 Инфраструктура
Что мы понимаем под инфраструктурой? Инфраструктура — это технология, в которую встроены правила, определенные ядром. Общая инфраструктура — это система клиент-сервер, работающая через Интернет. Как правило, сервер имеет доступ к базе данных, и удаленные клиенты могут просматривать базу данных с помощью браузера. Сервер передает информацию из базы данных клиенту, чей браузер отображает информацию в соответствии с командами HTML (язык разметки гипертекста). Пользователь такой системы взаимодействует с ядром, заполняя HTML формы, которые клиентский процесс передает на сервер. Сервер интерпретирует данные пользователя и соответствующим образом запрашивает или обновляет базу данных.
В похожей ситуации, когда используется локальная сеть, сервер просто разрешает доступ к общей базе данных, а клиентские компьютеры содержат логику ядра. Это предлагает пользователю более тесное взаимодействие с логикой ядра.
На заре вычислительной техники пользователь мог взаимодействовать с ядром, загружая партию перфокарт в считывающее устройство, ожидая обработки задания и читая распечатанные отчеты — часто отмечая ошибки во входных данных. Благодаря этой технологии взаимодействие с пользователем было плохим и очень медленным.
Многие системы представляют собой смесь технологий с интерактивным внешним интерфейсом и серверной частью пакетной обработки. Например, банкомат может записывать операции в базу данных в интерактивном режиме по мере их совершения, а пакетная система может выдавать ежемесячные отчеты клиентов. В контексте розничной торговли заказы клиентов могут регистрироваться в интерактивном режиме, а в конце дня пакетная система может подготовить отчет, который позволит продавцам наиболее эффективно забирать товары и упаковывать их для отправки на следующий день. При подготовке этой книги я использую интерактивный редактор для создания текста, содержащего команды LaTeX, который в конечном итоге преобразуется в формат для печати с помощью пакетного процесса.
Инфраструктура самолета может содержать несколько микропроцессоров, каждый из которых предназначен для выполнения специализированной задачи. Один может быть предназначен для навигации, другой — для перемещения руля, третий — для стабилизации полета самолета и так далее. Пилот взаимодействует с системой, в том числе с помощью джойстика. Автомобиль может иметь компьютер управления двигателем, который управляет топливно-воздушной смесью, моментом зажигания и моментом открытия клапана в зависимости от частоты вращения двигателя и т. д. Водитель взаимодействует с системой, управляя дросселем, переключением передач и тормозами.
Причина, по которой существует так много разных инфраструктур, заключается в том, что они нацелены на оптимизацию разных целей: эффективное использование ограниченной полосы пропускания, эффективное использование общего ресурса, эффективное использование технологий хранения, эффективное использование человеческих ресурсов, потребность в надежности или необходимость минимизировать стоимость продукта. Короче говоря, оптимизировать что-то в ущерб простоте. Стоимость оптимизации – это дополнительное программное и аппаратное обеспечение, необходимое для обеспечения связи между различными частями системы. Например, в системе пакетной обработки файлы транзакций необходимы для передачи данных между этапами обработки. Эти файлы, которые могут быть довольно сложными, должны быть определены, их записи различных типов должны быть записаны и прочитаны, а записи должны быть расшифрованы для вызова соответствующих процедур. Подобное коммуникационное программное обеспечение должно быть написано почти для каждого вида инфраструктуры. Грубо говоря, около 90 % усилий по программированию уходит на инфраструктуру и только 10 % — на логику ядра.
В этой книге недостаточно места для подробного рассмотрения всех видов инфраструктуры. На самом деле цель этой книги вовсе не в том, чтобы иметь дело с инфраструктурой. Но его примеры и тематическое исследование должны быть установлены в некотором контексте, поэтому он в основном фокусируется на сервере базы данных с несколькими клиентами. Такая инфраструктура разделяет большинство проблем, присущих многим другим инфраструктурам. Тем не менее, читателю в значительной степени предоставляется возможность увидеть лежащее в основе единство системного синтеза и адаптировать сказанное к собственной специальности читателя.
Поэтому в идеале спецификация системы должна быть независимой от технологии, которую она использует в настоящее время, или от любой технологии, которую она может использовать в будущем. Это освободит системного аналитика от того, какие технологии существуют в настоящее время, и в то же время предоставит максимальную свободу в реализации. Таким образом, системный синтез — это акт объединения спецификации с подходящей технологической инфраструктурой. Синтез — это 10 % вдохновения и 90 % пота.
Спецификация будет состоять из двух частей: описания ее состояния или базы данных и описания событий, которые могут вызвать изменение ее состояния или привести к получению вывода. В идеале в спецификации ядра не должно быть никаких упоминаний об инфраструктуре. Единственный случай, когда спецификатор должен учитывать инфраструктуру, — это проектирование пользовательского интерфейса.
Архитектура клиент/сервер
В этой главе определяется распределенная обработка и то, как сервер Oracle и приложения базы данных работают в среде распределенной обработки. Этот материал применим практически ко всем типам системной среды баз данных Oracle. В эту главу входят:
Архитектура клиент/сервер Oracle
Хотя клиентское приложение и Oracle могут выполняться на одном и том же компьютере, может быть более эффективно и действенно, когда клиентская(ие) часть(и) и серверная часть выполняются на разных компьютерах, подключенных через сеть. В следующих разделах обсуждаются возможные варианты клиент-серверной архитектуры Oracle.
Распределенная обработка
- Клиент и сервер расположены на разных компьютерах; эти компьютеры подключены через сеть (см. рис. 20.1, часть A).
- Один компьютер имеет более одного процессора, и разные процессоры отделяют выполнение клиентского приложения от Oracle (см. рис. 20.1, часть B).
Рисунок 20. 1. Архитектура клиент/сервер и распределенная обработка
- Клиентские приложения не несут ответственности за выполнение какой-либо обработки данных. Клиентские приложения могут сосредоточиться на запросе данных от пользователей, запросе необходимых данных с сервера, а затем на анализе и представлении этих данных с использованием возможностей отображения клиентской рабочей станции или терминала (например, с помощью графики или электронных таблиц).
- Клиентские приложения можно разрабатывать независимо от физического расположения данных. Если данные перемещаются или распространяются на другие серверы баз данных, приложение продолжает работать с небольшими изменениями или без изменений.
- Oracle использует возможности многозадачности и общей памяти своей базовой операционной системы.В результате он обеспечивает максимально возможную степень параллелизма, целостности данных и производительности для своих клиентских приложений.
- Клиентские рабочие станции или терминалы можно оптимизировать для представления данных (например, за счет поддержки графики и мыши), а сервер можно оптимизировать для обработки и хранения данных (например, за счет наличия большого объема памяти и место на диске).
-
При необходимости Oracle можно масштабировать. По мере роста вашей системы вы можете добавить несколько серверов для распределения нагрузки по обработке базы данных по всей сети (горизонтально масштабируемой). В качестве альтернативы вы можете заменить Oracle на менее мощном компьютере, таком как микрокомпьютер, на Oracle, работающий на миникомпьютере или мэйнфрейме, чтобы воспользоваться преимуществами большей производительности системы (вертикально масштабируемой). В любом случае все данные и приложения поддерживаются с небольшими изменениями или без них, поскольку Oracle можно переносить между системами.
- В сетевых средах можно использовать недорогие недорогие клиентские рабочие станции для эффективного доступа к удаленным данным сервера.
- В сетевых средах клиентские приложения отправляют запросы к базе данных на сервер с помощью операторов SQL. После получения оператор SQL обрабатывается сервером, а результаты возвращаются клиентскому приложению. Сетевой трафик сведен к минимуму, поскольку по сети передаются только запросы и результаты.
SQL*Net
SQL*Net использует коммуникационные протоколы или прикладные программные интерфейсы (API), поддерживаемые широким спектром сетей, для предоставления распределенной базы данных и распределенной обработки для Oracle. Протокол связи — это набор стандартов, реализованных в программном обеспечении, которые регулируют передачу данных по сети. API – это набор подпрограмм, которые в случае сетей предоставляют средства для установления удаленной связи между процессами по протоколу связи.
Однако при использовании SQL*Net разработчику приложения не нужно заботиться о поддержке сетевых коммуникаций в приложении базы данных. Если базовый протокол изменяется, администратор базы данных вносит небольшие изменения, в то время как приложение не требует модификаций и продолжает работать.
Как работает SQL*Net
Драйверы SQL*Net берут операторы SQL из интерфейса инструментов Oracle и упаковывают их для передачи в Oracle через один из поддерживаемых стандартных отраслевых протоколов более высокого уровня или программных интерфейсов. Драйверы также принимают ответы от Oracle и упаковывают их для передачи инструментам через тот же механизм связи более высокого уровня. Все это делается независимо от сетевой операционной системы.
Дополнительная информация. В зависимости от операционной системы, в которой работает Oracle, программное обеспечение SQL*Net сервера базы данных может включать драйвер и запускать дополнительный фоновый процесс Oracle; подробности см. в документации по операционной системе Oracle.
Дополнительную информацию о SQL*Net см. в разделе Understanding SQL*Net или в соответствующей документации по SQL*Net.
< /p>
Сервер — это компьютер или система, которая предоставляет ресурсы, данные, службы или программы другим компьютерам, известным как клиенты, по сети. Теоретически всякий раз, когда компьютеры совместно используют ресурсы с клиентскими машинами, они считаются серверами. Существует множество типов серверов, включая веб-серверы, почтовые серверы и виртуальные серверы.
Отдельная система может предоставлять ресурсы и одновременно использовать их из другой системы. Это означает, что устройство может быть и сервером, и клиентом одновременно.
Некоторые из первых серверов были мейнфреймами или миникомпьютерами. Миникомпьютеры были намного меньше мэйнфреймов, отсюда и название. Однако по мере развития технологий они стали намного крупнее настольных компьютеров, что сделало термин «микрокомпьютер» несколько абсурдным.
Изначально такие серверы были подключены к клиентам, известным как терминалы, которые не выполняли никаких реальных вычислений. Эти терминалы, называемые «тупыми терминалами», существовали просто для того, чтобы принимать ввод с клавиатуры или устройства чтения карт и возвращать результаты любых вычислений на экран дисплея или принтер. Фактические вычисления выполнялись на сервере.
Позже серверы часто представляли собой отдельные мощные компьютеры, подключенные по сети к набору менее мощных клиентских компьютеров. Эту сетевую архитектуру часто называют моделью клиент-сервер, в которой и клиентский компьютер, и сервер обладают вычислительной мощностью, но некоторые задачи делегируются серверам. В предыдущих вычислительных моделях, таких как модель мэйнфрейм-терминал, мейнфрейм действовал как сервер, хотя и не назывался под этим именем.
По мере развития технологий менялось и определение сервера. В наши дни сервер может быть не чем иным, как программным обеспечением, работающим на одном или нескольких физических вычислительных устройствах. Такие серверы часто называют виртуальными серверами. Первоначально виртуальные серверы использовались для увеличения количества серверных функций, которые мог выполнять один аппаратный сервер. Сегодня виртуальные серверы часто управляются третьей стороной на оборудовании через Интернет, что называется облачными вычислениями.
Сервер может быть предназначен для выполнения одной задачи, например, почтовый сервер, который принимает и хранит электронную почту, а затем предоставляет ее запрашивающему клиенту. Серверы также могут выполнять несколько задач, таких как файловый сервер и сервер печати, которые одновременно хранят файлы и принимают задания на печать от клиентов, а затем отправляют их на сетевой принтер.
Как работает сервер
Для работы в качестве сервера устройство должно быть настроено на прослушивание запросов от клиентов по сетевому подключению. Эта функция может существовать как часть операционной системы в виде установленного приложения, роли или их сочетания.
Например, операционная система Microsoft Windows Server предоставляет функции прослушивания клиентских запросов и ответа на них. Дополнительно установленные роли или службы увеличивают количество типов клиентских запросов, на которые может отвечать сервер. В другом примере веб-сервер Apache отвечает на запросы интернет-браузера через дополнительное приложение Apache, установленное поверх операционной системы.
Когда клиенту требуются данные или функции с сервера, он отправляет запрос по сети. Сервер получает этот запрос и отвечает соответствующей информацией. Это модель запроса и ответа в сети клиент-сервер, также известная как модель вызова и ответа.
Сервер часто выполняет множество дополнительных задач в рамках одного запроса и ответа, включая проверку личности отправителя запроса, проверку наличия у клиента разрешения на доступ к запрошенным данным или ресурсам, а также правильное форматирование или возврат требуемого ответа. ожидаемым образом.
Типы серверов
Существует множество типов серверов, выполняющих разные функции. Многие сети содержат один или несколько распространенных типов серверов:
Файловые серверы
Файловые серверы хранят и распространяют файлы. Несколько клиентов или пользователей могут совместно использовать файлы, хранящиеся на сервере. Кроме того, централизованное хранение файлов предлагает более простые решения для резервного копирования или отказоустойчивости, чем попытки обеспечить безопасность и целостность файлов на каждом устройстве в организации. Аппаратное обеспечение файлового сервера может быть спроектировано так, чтобы максимизировать скорость чтения и записи для повышения производительности.
Серверы печати
Серверы печати позволяют управлять функциями печати и распределять их. Вместо того, чтобы подключать принтер к каждой рабочей станции, один сервер печати может отвечать на запросы печати от множества клиентов. Сегодня некоторые более крупные и высокопроизводительные принтеры поставляются со встроенным сервером печати, что устраняет необходимость в дополнительном сервере печати на базе компьютера. Этот внутренний сервер печати также функционирует, отвечая на запросы печати от клиента.
Серверы приложений
Серверы приложений запускают приложения вместо клиентских компьютеров, выполняющих приложения локально. Серверы приложений часто запускают ресурсоемкие приложения, совместно используемые большим количеством пользователей. Это избавляет каждого клиента от необходимости иметь достаточно ресурсов для запуска приложений. Это также избавляет от необходимости устанавливать и поддерживать программное обеспечение на многих компьютерах, а не только на одном.
DNS-серверы
Серверы системы доменных имен (DNS) — это серверы приложений, которые обеспечивают разрешение имен для клиентских компьютеров путем преобразования имен, понятных людям, в машиночитаемые IP-адреса. Система DNS представляет собой широко распространенную базу данных имен и других DNS-серверов, каждый из которых может использоваться для запроса неизвестного имени компьютера. Когда клиенту нужен адрес системы, он отправляет DNS-запрос с именем нужного ресурса на DNS-сервер. DNS-сервер отвечает необходимым IP-адресом из своей таблицы имен.
Почтовые серверы
Почтовые серверы — очень распространенный тип серверов приложений. Почтовые серверы получают электронные письма, отправленные пользователю, и хранят их до тех пор, пока клиент не запросит их от имени указанного пользователя. Наличие почтового сервера позволяет правильно настроить одну машину и постоянно подключать ее к сети. После этого он готов отправлять и получать сообщения, а не требует, чтобы на каждом клиентском компьютере постоянно работала собственная подсистема электронной почты.
Веб-серверы
Одним из самых распространенных типов серверов на современном рынке является веб-сервер. Веб-сервер — это особый тип сервера приложений, на котором размещаются программы и данные, запрашиваемые пользователями через Интернет или интрасеть.Веб-серверы отвечают на запросы от браузеров, запущенных на клиентских компьютерах, для веб-страниц или других веб-служб. Общие веб-серверы включают веб-серверы Apache, серверы Microsoft Internet Information Services (IIS) и серверы Nginx.
Серверы баз данных
Объем данных, используемых компаниями, пользователями и другими службами, ошеломляет. Большая часть этих данных хранится в базах данных. Базы данных должны быть доступны нескольким клиентам в любой момент времени, и для этого может потребоваться огромное количество дискового пространства. Обе эти потребности хорошо подходят для размещения таких баз данных на серверах. Серверы баз данных запускают приложения баз данных и отвечают на многочисленные запросы клиентов. Общие приложения сервера баз данных включают Oracle, Microsoft SQL Server, DB2 и Informix.
Виртуальные серверы
Виртуальные серверы штурмом захватывают мир серверов. В отличие от традиционных серверов, которые устанавливаются как операционная система на машинном оборудовании, виртуальные серверы существуют только в рамках специализированного программного обеспечения, называемого гипервизором. Каждый гипервизор может одновременно запускать сотни или даже тысячи виртуальных серверов. Гипервизор представляет серверу виртуальное оборудование, как если бы это было реальное физическое оборудование. Виртуальный сервер, как обычно, использует виртуальное оборудование, а гипервизор передает фактические потребности в вычислениях и хранении на нижележащее реальное оборудование, которое совместно используется всеми другими виртуальными серверами.
Прокси-серверы
Прокси-сервер действует как посредник между клиентом и сервером. Часто используемый для изоляции клиентов или серверов в целях безопасности, прокси-сервер принимает запрос от клиента. Вместо ответа клиенту он передает запрос другому серверу или процессу. Прокси-сервер получает ответ от второго сервера, а затем отвечает исходному клиенту, как если бы он отвечал сам. Таким образом, ни клиенту, ни отвечающему серверу не нужно напрямую подключаться друг к другу.
Серверы мониторинга и управления
Некоторые серверы предназначены для мониторинга или управления другими системами и клиентами. Существует множество типов серверов мониторинга. Некоторые из них прослушивают сеть и получают каждый клиентский запрос и ответ сервера, но некоторые сами не запрашивают данные и не отвечают на них. Таким образом, сервер мониторинга может отслеживать весь сетевой трафик, а также запросы и ответы клиентов и серверов, не мешая этим операциям. Сервер мониторинга будет отвечать на запросы от клиентов мониторинга, таких как те, которыми управляют сетевые администраторы, следящие за состоянием сети.
Структуры серверов
Концепция серверов так же стара, как и сама сеть. В конце концов, смысл сети в том, чтобы позволить одному компьютеру общаться с другим компьютером и распределять либо работу, либо ресурсы. С тех пор вычислительная техника развивалась, что привело к появлению нескольких типов серверных структур и аппаратного обеспечения.
Мейнфрейм или миникомпьютер (AS/400)
Можно сказать, что первоначальные серверы, мэйнфреймы, а позже и миникомпьютеры решали почти все вычислительные задачи, кроме взаимодействия с пользователем через экран и клавиатуру, которые предоставлялись клиентской системе.
Сервер компьютерного оборудования
Следующая крупная волна серверов включала компьютерные серверы. Во многих отношениях эти серверы были не чем иным, как более крупными и мощными настольными компьютерами. Такие серверы, как правило, были более дорогими и занимали гораздо больше памяти и дискового пространства, чем большинство клиентских компьютеров. Каждый сервер по-прежнему был автономным блоком со своей материнской платой, процессором, памятью, дисководами и блоком питания. Подобные серверы часто хранились в помещениях с кондиционерами, называемых серверными, а позже были закреплены в стойках для лучшего хранения и доступности.
Блейд-серверы
Исходное компьютерное серверное оборудование было большим и хранилось в стеллажах, которые могли вместить сотни фунтов. Однако со временем более быстрые средства подключения оборудования привели к тому, что части сервера были извлечены из одного автономного устройства. Благодаря удалению жестких дисков, устранению внутреннего охлаждения и продолжающейся миниатюризации вычислительных частей серверы в конечном итоге были уменьшены до одного тонкого сервера, известного как блейд-сервер. Хотя блейд-серверы по-прежнему хранятся в стойках в серверных, они меньше по размеру и их легче заменить.
Объединение серверов
Даже до виртуализации серверы извлекались из стандартной модели операционной системы с одним сервером, установленной на аппаратном компьютере. Такие технологии, как сетевое хранилище, избавили сервер от необходимости иметь собственное хранилище. Другие технологии, такие как зеркалирование и кластеризация, позволяли объединять части оборудования в более крупные и мощные серверы.Такой сервер может состоять из нескольких блейд-модулей, нескольких подключенных устройств хранения данных и внешнего источника питания, и каждую часть можно заменять на другую во время работы сервера.
Виртуальные серверы
Для виртуальных серверов по-прежнему требуется аппаратное обеспечение, но на этом оборудовании теперь работает другой процесс, известный как гипервизор. В некоторых случаях, таких как Microsoft Hyper-V, полная операционная система продолжает работать на самом оборудовании. В других случаях так называемые «голые» гипервизоры могут быть установлены непосредственно на серверное оборудование. В обоих случаях само оборудование часто распределено по массиву блейд-серверов, сетевых хранилищ и блоков питания, что приводит к среде, в которой невозможно сказать, где заканчивается один отдельный сервер и начинается другой.
Раздел 404 Закона Сарбейнса-Оксли (SOX) требует, чтобы все публичные компании установили внутренний контроль и процедуры.
Закон о защите конфиденциальности детей в Интернете от 1998 года (COPPA) – это федеральный закон, который налагает особые требования на операторов доменов .
План North American Electric Reliability Corporation по защите критически важной инфраструктуры (NERC CIP) представляет собой набор стандартов.
Стандарт безопасности данных платежных приложений (PA-DSS) – это набор требований, призванных помочь поставщикам программного обеспечения в разработке безопасных .
Взаимная аутентификация, также называемая двусторонней аутентификацией, представляет собой процесс или технологию, в которой оба объекта обмениваются данными .
Экранированная подсеть или брандмауэр с тройным подключением относится к сетевой архитектуре, в которой один брандмауэр используется с тремя сетями .
Медицинская транскрипция (МТ) – это ручная обработка голосовых сообщений, продиктованных врачами и другими медицинскими работниками.
Электронное отделение интенсивной терапии (eICU) — это форма или модель телемедицины, в которой используются самые современные технологии.
Защищенная медицинская информация (PHI), также называемая личной медицинской информацией, представляет собой демографическую информацию, медицинскую .
Снижение рисков – это стратегия подготовки к угрозам, с которыми сталкивается бизнес, и уменьшения их последствий.
Отказоустойчивая технология — это способность компьютерной системы, электронной системы или сети обеспечивать бесперебойное обслуживание.
Синхронная репликация — это процесс копирования данных по сети хранения, локальной или глобальной сети, поэтому .
Коэффициент усиления записи (WAF) – это числовое значение, представляющее объем данных, передаваемых контроллером твердотельного накопителя (SSD) .
API облачного хранилища — это интерфейс прикладного программирования, который соединяет локальное приложение с облачным хранилищем.
Интерфейс управления облачными данными (CDMI) – это международный стандарт, определяющий функциональный интерфейс, используемый приложениями.
Читайте также: