Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы 11-20.docx
Скачиваний:
15
Добавлен:
25.09.2019
Размер:
276.12 Кб
Скачать

19). Методы реализации идеологии 'клиент/сервер' в сети InterNet, примеры, сравнительная характеристика.

Как и любая другая сеть, Интернет состоит из множества компьютеров, соединенных между собой линиями связи, и установленного на этих компьютерах программного обеспечения. Тип программного обеспечения определяется идеологией "клиент-сервер".

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

К сети может быть подключен как отдельный компьютер, так и локальная сеть. Считается, что к сети Интернет подсоединены все компьютеры данной локальной сети, если с Интернетом соединен хотя бы один компьютер этой сети.

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

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

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

Классическая (двухуровневая) модель.

Исторически это первая модель в рассматриваемой архитектуре, возникшая как попытка организовать распределенные вычисления с ярко выраженной централизацией. Здесь клиентская часть отвечает за предоставление пользовательского интерфейса и при функционировании взаимодействует с сервером базы данных. При этом бизнес-логика реализуется либо непосредственно самим клиентом, либо компонентами сервера базы данных (например, хранимыми процедурами), либо и тем, и другими. Клиентская часть обычно взаимодействует с сервером базы данных, используя различные API: или специфичные для данного сервера (DB-Library API, SQL*Net и т. д.), или более универсальные (например, ODBC). Клиентские ("front-end") компоненты системы размещаются на связанных в корпоративную сеть персональных рабочих станциях. В той же сети на PC-сервере функционирует и серверный ("back-end") компонент. Как правило, сервер находится в состоянии пассивного ожидания запросов от клиентов на информацию или на определенный ресурс. Обслужив запрос, сервер посылает информацию клиенту, который отображает ее для пользователя. Очевидный недостаток такой модели – это значительные трудности масштабирования и модификации бизнес-логики, поскольку последняя в значительной степени располагается на клиенте, что приводит, в частности, к значительным затратам на синхронизацию клиентских приложений между собой. Еще один существенный недостаток – значительный перенос нагрузки на клиентскую часть и на среду передачи данных (например, локальную сеть) – типичные проблемы "толстого" клиента. Заметим, что при этом сервер может быть почти или полностью не загружен.

Трехуровневая модель.

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

• снижение требований к мощности клиентского рабочего места;

• возможность независимо (или почти независимо) изменять

бизнес-логику, логику представления и логику хранения данных;

• значительно более широкие возможности обеспечения контроля

доступа, целостности;

• в отдельных случаях – увеличение производительности.

Именно по описываемой модели построены intranet-системы, их характерной особенностью является фиксация протокола обмена между клиентской частью и сервером приложений – HTTP, что дает возможность использовать универсальный (или относительно универсальный) клиент – Web-browser. Сервер приложений в системах такого типа принято называть Web-сервером.

Многоуровневая распределенная модель.

У рассмотренной трехуровневой модели, несмотря на ее привлекательные стороны, имеется несколько существенных требований к отдельным частям системы, в особенности к серверу приложений. Поскольку вся бизнес-логика перенесена на сервер приложений, нагрузка на него существенно возрастает, что требует высокой производительности, кроме этого возникают дополнительные проблемы, связанные с обеспечением безопасности, одновременного доступа, целостности данных и т. п. В большей части случаев становится возможным найти общий подход к решению такого рода проблем. Именно это привело к созданию множества продуктов, предназначенных для их решения, в общем случае – мониторов транзакций, серверов сообщений, координаторов взаимодействия и т. д. Таким образом, средний уровень разрастался, становился более распределенным, в нем стало возможно выделить несколько собственных уровней. Особенно интенсивно такого рода прогресс наблюдался в intranet-системах и приблизительно те же процессы – в системах, организующих хранение данных, – т. е. стало возможным взаимодействие с разнородными источниками данных. Все изложенное указывает на то, что трехуровневые монолитные системы в реальности становились многоуровневыми распределенными. Можно сказать, что распределенные системы распределены двояко: можно выделить логическую и физическую распределенности. Логическая распределенность подразумевает наличие в системе нескольких независимо функционирующих компонентов. Эти компоненты, в свою очередь, можно разбить на три группы: компоненты представления данных, компоненты бизнес-логики, компоненты доступа к данным. Таким образом, перед пользователем снова появляются три уровня организации. Физическая распределенность предполагает распределенность отдельных функциональных узлов по нескольким машинам, даже по нескольким платформам. Используя множество небольших компьютеров, разработчики систем клиент-сервер могут эмулировать вычислительную мощность больших ЭВМ, распределяя прикладную задачу по различным микрокомпьютерам и серверам. Каждый из них берет на себя свою часть вычислительной нагрузки, используя информацию совместно с другими процессорами сети. Суть идеи – в повышении мощности системы без наращивания производительности одного компьютера, а суммированием средств многих.

Быстродействие – основной фактор целесообразности разработки систем для архитектуры клиент-сервер. Применение средств быстрой разработки программ (Rapid Application Development – RAD), таких как Delphi компании Inprise, PowerBuilder фирмы PowerSoft и Visual Basic корпорации Microsoft, позволяет разработчикам создавать прикладные системы для архитектуры клиент-сервер в рекордно короткие сроки. Технология серверов баз данных также становится проще в использовании и сочетается в единых системах со средствами RAD. Таким образом, ожидается, что с помощью этой скоростной и практически защищенной от несанкционированного использования платформы разработки сократится время, необходимое для подготовки и передачи прикладной программы пользователю. Однако идеология клиент-сервер сама по себе не содержит универсальных рецептов. Она лишь дает общее представление о том, как должна быть организована современная распределенная информационная система. В качестве примера рассмотрим один из основных принципов создания программных систем в среде технологии клиент-сервер. Он заключается в разделении функций стандартного приложения на три группы, имеющие различную природу. Первая группа – это функции ввода и отображения данных. Вторая группа объединяет чисто прикладные функции, характерные для данной предметной области. Наконец, к третьей группе относятся фундаментальные функции хранения и управления данными (базами данных, файловыми системами и т. д.). При этом в любом приложении выделяются следующие логические компоненты:

• компонент представления (presentation), реализующий функции

первой группы;

• прикладной компонент (business application), поддерживающий

функции второй группы;

• компонент доступа к информационным ресурсам (resource acces),

или менеджер ресурсов (Resource manager), поддерживающий функции

третьей группы.

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

Подводя итог, перечислим основные преимущества распределенных клиент-серверных систем:

– компонентная архитектура;

– функциональность на уровне компонентов;

– нагрузка на отдельные компоненты, а не на систему в целом;

– возможность повторного использования компонентов;

– возможность одновременного использования компонентов;

– простота модификации и масштабирования;

– больший потенциал для обеспечения производительности;

– возможность независимой разработки компонентов.

Принимая во внимание потенциал "внутренних сетей", предоставляющих пользователю весь спектр услуг Internet при обеспечении необходимой защиты информации, а также учитывая современные решения в сфере архитектур с "тонкими клиентами", позволяющие избежать резкой смены идеологии создания приложений и интегрировать в единую систему различные программно-аппаратные платформы (например, используя идеологии CORBA или COM-DCOM), можно сказать, что их эффективное сочетание позволит с наименьшими затратами создавать глобальные информационные комплексы в любых сферах применения вычислительных систем.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]