Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

Введение

Актуальность темы обусловлена актуальностью применения технологии «клиент-сервер» для обработки информации.

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

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

Суть технологии «клиент-сервер» в том, что система должна быть разделена на две части – одна часть называется приложение-клиент, а другая сервер базы данных. В такой архитектуре объединены лучшие черты способов обрабатывания данных при помощи мэйнфреймов и файл-серверов. От систем для мэйнфрейма в технологию «клиент-сервер» была добавлена такая функция, как централизованное администрирование, безопасность, надежность работы. У технологии файл-серверных машин была перенята низкая стоимость нужного оборудования и возможность распределенного обрабатывания данных, используя при этом ресурсы компьютера-клиента.

Со времён создания архитектуры клиент-сервер было создано множество вариаций архитектуры процессора обработки баз данных, так как благодаря ему работает вся система.

Основная цель данной курсовой работы, это раскрытие понятия принципов работы технологии клиент-сервер.

Объектом работы является архитектура клиент-сервер.

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

Согласно поставленной цели в ходе работы необходимо решить следующие задачи:

1) изучить особенности технологии «клиент-сервер»;

2) определить характерные особенности работы технологии «клиент-сервер»;

3) провести анализ необходимого программного обеспечения нужного для работы с технологией «Клиент – сервер»;

4) провести исследования принципов работы с технологией «Клиент-сервер» во время работы в сети Internet.

Глава 1. Характеристика технологии «Клиент – сервер»

Технология «Клиент – сервер» - представляет собой архитектуру программного комплекса, которая распределяет прикладную программу на два логически различных компонента, а именно клиент и сервер, которые взаимодействуют по схеме «запрос-ответ» решая свои определенные задачи (рисунок 1).

Рисунок 1– Архитектура «Клиент – сервер»

Компьютер (или программа), которая управляет или владеет каким-либо ресурсом, называется сервером этого ресурса.

Компьютер (или программа), который запрашивает и пользуется каким-либо ресурсом, называется клиентом этого ресурса.

Клиенты и серверы могут располагаться как на одном персональном компьютере (ПК), так и на разных ПК объеденные сетью. Также могут возникать такие ситуации, когда некоторые программные блоки одновременно выполняют функции сервера, работая с одним блоком и работу клиента работая с другим.[1]

Основными принципами технологии «Клиент-сервер» является разделение функции приложения как минимум на три группы:

  1. Модуль интерфейса с пользователем.

Эту группа называется логикой представления. Через эту группу пользователь взаимодействует с приложением. Независимо от конкретной характеристики логики представления (командная строка, сложный графический пользовательский интерфейс, интерфейс через посредника) её главной задачей является обеспечение средств, чтобы можно было производить эффективный обмен информацией между пользователями и информационной системой.

  1. Модуль хранения данных.

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

  1. Модуль обработки данных (управление ресурсами).

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

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

- компоненты для представления данных;

- прикладные компоненты;

- компоненты для управления ресурсами.

1.1 Двухзвенная архитектура «Клиент-сервер»

Классическая архитектура клиент-сервер распределяет три основные части приложения на два физических модуля. Обычно прикладной компонент располагается на сервере (например, сервере базы данных), компонент представления данных - на стороне клиента, а компонент управления ресурсом распределяется между клиентской и серверной частями. В этом заключается основной недостаток классической двухуровневой архитектуры.

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

Чтобы предотвратить сопутствующую несогласованность работы различных элементов такой архитектуры специалисты создали две модификации для двухзвенной архитектуры «Клиент – сервер»: одна модификация стала называться «Толстый клиент» («Тонкий сервер»), а другая «Тонкий клиент» («Толстый сервер»).

В данной двухзвенной архитектуре разработчики пытались перенести процесс выполнения обработки данных на одну из двух физических частей - на сторону клиента («Толстого клиента»), или на сторону сервера («Тонкого клиента»).

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

В том случае если всё равно будет требоваться разработка двухуровневой классической архитектуры «Клиент – сервер», то надо знать следующее: структура архитектуры «Толстый сервер» аналогична структуре в архитектуре «Тонкий клиент» (рисунок 2);

Рисунок 2 – Архитектура «Тонкий клиент»

У этих архитектур имеются следующие недостатки:

- усложнён процесс реализации, так как в таких языках как SQL не приспособлены коды, чтобы разрабатывать программное обеспечение и для них отсутствуют хорошие средства отладки;

- производительность работы программ, которые написаны на языке типа SQL, довольно невысока, в отличие от созданных программ на других языках, что очень важно, если речь идёт о создании сложной системы;

- программа, которая написана на языке СУБД, обычно работает недостаточно надежно; ошибка, которая может в них возникнуть может привести тому, что весь сервер баз данных может выйти из строя;

- получившаяся программа на языке СУБД становится полностью непереносимой на другую систему или платформу.

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

В середине 90-х годов 20-ого века получила признание среди специалистов созданная трехзвенная архитектура «Клиент – сервер», в которой информационная система делилась по своим функциональным возможностям на 3-и отдельные компонента: логика представления, бизнес-логика и логика доступа к данным. В отличие от классической двухзвенной архитектуры в трехзвенную архитектуру было добавлено дополнительное звено, которая стало называться сервер приложений. Сервер приложений предназначался для того, чтобы осуществлять бизнес-логику, полностью разгружая, клиент, который в итоге мог направлять запросы промежуточному программному обеспечению, максимально используя все имеющиеся возможности сервера.[3]

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

Сервер приложений – является программным обеспечение, которое представляет собой промежуточный слой между клиентом и сервером (рисунок 4).

Рисунок 4 - Сервер приложений

Создано несколько категорий продуктов для осуществления работы промежуточного слоя:

- Message orientated – ярким представителем являются MQseries и JMS;

- Object Broker – ярким представителем является CORBA и DCOM;

- Component based – ярким представителем является .NET и EJB.

Создано много серверов приложений при поддержке таких знаменитых компаний как Sun Microsystem, Borland, IBM, Oracle и каждое из которых отличается своим набором количества предоставляемых сервисов (не учитывая производительность). При помощи этих сервисов облегчается процесс программирования и развертывания приложений в масштабе предприятия. Обычно сервером приложений предоставляются следующие сервисы:

- WEB Server – чаще всего в поставку включают самый популярный и мощный сервер, в настоящее время это Apache-серверы;

- WEB Container – при помощи него можно выполнять JSP и сервлеты. Apache среди таких сервисов использует Tomcat;

- CORBA Agent – это сервис предоставляет распределенные директории, чтобы хранить CORBA объекты;

- Messaging Service – является своего рода брокером сообщений;

- Transaction Service – является сервисом транзакций;

- JDBC – драйвер, служащий для подключения к базам данных, так как именно сервер приложений приходиться работать с базами данных, поэтому он должен уметь подключаться к используемой в компании базе данных;

- Java Mail – сервис предоставляющий доступ к сервисам SMTP;

- JMS (Java Messaging Service) – сервис служащий, чтобы обрабатывать синхронные и асинхронные сообщения;

- RMI (Remote Method Invocation) – сервис для вызова удаленных процедур.

Многоуровневая клиент-серверная система достаточно легко может быть перенесена на системы Web-технологии - для этого нужно произвести замену клиентской части на универсальный или специализированный браузер, а на сервере приложений установить дополнительный Web-сервер и небольшие программы для вызова процедур сервера. Чтобы разрабатывать такие программы можно воспользоваться как Common Gateway Interface (CGI), так и более современным языком Java.

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

Из всего вышеописанного можно понять, что двухуровневая архитектура сильно отстаёт от многоуровневой архитектуры, поэтому в современных системах используют только многоуровневую архитектуру «Клиент – сервер», которая может быть выполнена в трёх модификациях - RDA, DBS и AS.

1.3 Различные модели технологии «Клиент – сервер»

Среди первых базовых технологий для локальной сети самой первой является модель файлового сервера (FS). В своё время данная технология была особенно популярна среди отечественных разработчиков, которые пользовались такими системами, как FoxPro, Clipper, Clarion, Paradox и подобные.

В моделях FS функции всех трёх компонентов совмещаются в одном коде, который выполняет компьютер-сервер (хост). В такой архитектуре компьютер-клиент вообще отсутствует, вводом и отображением данных занимается терминал или компьютер, работающий в режиме эмуляции терминала. Приложения для такой модели разрабатывают на языках четвертого поколения (4GL). Согласно FS один из компьютеров сети должен считаться файловым сервером и должен предоставлять другим компьютерам услугу по обработке файлов. Файловый сервер управляется при помощи сетевых ОС и служит компонентом доступа к информационным ресурсам. На других же ПК в сети установлено и функционирует приложение, в коде которого совмещен компонент представления и прикладные компоненты.[4]

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

Протоколы обмена представляют собой наборы вызовов, которые обеспечивают приложению доступы к файловой системе на файл-сервере.

Рисунок 5 - Модель файлового сервера

Преимущества данной технологии:

- простая разработка приложений;

- удобные инструменты администрирования и обновления программного обеспечения благодаря компактному расположению всех компонентов на одном персональном компьютере;

- низкая цена необходимого оборудования для организации рабочих мест.

Недостатки, которые перекрывают преимущества FS – модели:

- большая загруженность сети;

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

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

- отсутствует графический интерфейс.

Чтобы решить проблемы, присущие технологии «Файл – сервер» стала применяться прогрессивная технология «Клиент – сервер».

В современных системах управления базами данных архитектура «клиент-сервер» стала стандартом. Если в проектируемой сетевой технологии будет применена архитектура «клиент-сервер», это значит, что реализуемые в её рамках прикладные программы будут распределенного характера, а это означает, что функции приложений будет реализовываться в программе-клиенте и в программе-сервере.

Каковы будут различия во время работы приложений в рамках технологии «Клиент-сервер» определяется согласно четырём факторам:

- какой используется вид программного обеспечения в логическом компоненте;

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

- каков принцип распределения логических компонентов по компьютерам сети;

- какой механизм используется для обеспечения связи между компонентами системы.

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

- модель доступа к удаленным данным (Remote Date Access - RDA);

- модель сервера базы данных (DateBase Server - DBS);

- модель сервера приложений (Application Server - AS).

Далее будут рассмотрены функции и характеристики различных моделей технологии «Клиент-сервер».

Модель доступа к удаленным данным (RDA) – представляет собой сетевую архитектуру технологии «Клиент – сервер», в которой коды компонентов представления и прикладных компонентов совмещаются и выполняются на компьютере-клиенте. Доступы к информационному ресурсу обеспечивает непроцедурный язык (к примеру, язык запрос к базам данных SQL) или вызовы функций из специальной библиотеки (при наличии специального интерфейса прикладного программирования - API).[5]

Запрос к информационному ресурсу направляется по сети к удаленному компьютеру, в котором происходит обработка и выполнение запроса, после чего клиенту возвращают блок данных с результатом (рисунок 6).

Рисунок 6 - Модель доступа к удаленным данным

Главное преимущество RDA-модели — это предоставление широкого выбора среди инструментальных средств нужных для разработки приложения, обеспечивая быстрое создание desktop-приложения, которое сможет работать с ориентированными на язык SQL СУБД. Обычно в таких инструментальных средствах имеется графический интерфейс для пользователя, работающего в ОС, а также программные средства для автоматического генерирования кода, в которых имеются прикладные функции и функции представления.[6]

Но, несмотря на вышеописанные возможности RDA-модель имеет некоторый ряд ограничений:

1) Процесс взаимодействия клиента и сервера при помощи SQL-запросов сильно загружает сеть. Так приложение нераспределенное, вся его логика обрабатывается на компьютере-клиенте, в результате чего при взаимодействии его с сервером при помощи SQL-запроса может привести к передаче через сеть данных слишком большого для узла связи объёма. Из-за чего при возрастании числа клиентов, сеть становится загруженной, происходит ограничение быстродействия всей информационной системы.

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

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

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

Несмотря на широкую распространённость, RDA-модели вскоре была заменена более технологичной DBS-моделью.

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

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

Рисунок 7 - Модель сервера базы данных.

Преимущества DBS-модели перед RDA-моделью в следующем:

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

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

У DBS-модели есть и свои недостатки:

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

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

3) DBS-модель не может обеспечить требуемую эффективность использования вычислительного ресурса. Ограничение присутствующие в ядре СУБД не позволяет полностью организовать эффективную балансировку загрузки, миграции процедур на другой компьютер-сервер БД и реализовать другие полезные функции, к примеру, запрос с приоритетом.

На практике часто используют синтез RDA и DBS-модели, чтобы выполнять построение многопользовательской информационной системы: поддержку целостности базы данных и некоторых её простейших прикладных функций хранимой процедуры выполняет DBS-модель, а за реализацию других более сложных функций, которые работают непосредственно в прикладной программе на компьютере-клиенте, отвечает RDA-модель.

Все недостатки DBS - модели были исправлены в AS-модели, в которой в большей степени реализованы сильные стороны технологии «клиент-сервер».

Модель сервера приложений (AS) (рисунок 8) – является сетевой архитектурой технологии «Клиент – сервер», она представляет собой процесс, который выполняется на компьютере-клиенте и отвечает за интерфейс с пользователем (процесс ввода и отображения данных). Основной элемент данной модели — это прикладной компонент, который называется сервером приложения, который функционирует на удаленном компьютере. Сервер приложений представляет собой группу прикладных функций, которые оформлены в виде сервисов (служб). Каждым сервисом предоставляются некоторые услуги для всех программ, которыми ими могут воспользоваться.

Рисунок 8 - Модель сервера приложений.

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

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

Учитывая, то, что данные являются «спрятанными» за сервером приложений, который имеет встроенную проверку полномочий клиента, СУБД может гарантировать высокий уровень защиты данных.

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

AS-модель представляет собой универсальную систему, которая может состоять из любого числа уровней, которые могут взаимодействовать между собой. AS-модель обеспечивает процесс чёткого разграничения логических компонентов, предоставляет возможности для балансировки уровня загрузки среди нескольких серверов, и даёт возможность рационального выбора среди программных средств для реализации. Обеспечить такой уровень гибкости, такой уровень защиты данных и открытость, является на данный момент, недостижим для RDA- и DBS-моделей. AS-модель может функционировать, используя и медленные линии связи, тем самым значительно снижая трафик между клиентом и сервером приложений. [8]

Сравнив особенности всех моделей технологии «Клиент – сервер», можно сделать следующие выводы:

- RDA и DBS-модели созданы на основе двухзвенной схемы разделения функций;

- в RDA-моделях прикладными функциями занимается клиент;

- в DBS-моделях прикладные функции осуществляются при помощи ядра СУБД;

- в RDA-моделях прикладные компоненты сливаются с компонентами представления;

- в DBS-моделях прикладные компоненты интегрируются в компонент доступа к ресурсам.

- в AS-моделях разделение функций реализуется согласно трехзвенной схеме, в которой прикладные компоненты выделены в качестве важнейшего изолированного элемента приложения, который имеет стандартизированный интерфейс с двумя другими компонентами.

Результат анализа модели технологии «Файловый сервер» и модели технологии «Клиент – сервер» представлен в таблице 1.

Несмотря на своё название технология «Клиент–сервер» представляет собой систему распределенных вычислений. Распределенными вычислениями является сама архитектура «Клиент – сервер» при участии нескольких серверов. Если применить к распределенной обработке сам термин «сервер», то он будет означать просто программу, которая отвечает на запрос и выполняет необходимые действия согласно запросу клиента. Поскольку технология распределённых вычислений – является одним из видов систем «Клиент – сервер», то пользователь получает те же преимущества, к примеру, может увеличивать общую пропускную способность и возможности многозадачной работы. Также, благодаря интегрированию дискретных сетевых компонентов и процессу обеспечения их функционирования в качестве единого целого может быть увеличена эффективность работы и снижены издержки.

Учитывая то, что процесс обработки может быть осуществлён в любом месте сети, распределенная система вычисления в архитектуре «Клиент–сервер» может гарантировать эффективное масштабирование. Для того чтобы получить баланс между клиентом и сервером, компоненты приложения должны выполняться на сервере только в случае, если централизованный способ обработки более эффективен.

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

Критерии

«Файловый сервер»

«Клиент – сервер»

FS - модель

RDA-модель

DBS-модель

AS-модель

Сложность разработки приложений

Низкая

Низкая

Высокая

Высокая

Сложность администрирования

Низкая

Высокая

Высокая

Высокая

Степень защиты данных

Высокая

Низкая

Высокая

Высокая

Требования к характеристикам сервера

Высокие

Низкие

Высокие

Высокие

Трафик, создаваемый в сети

Низкий

Очень высокий

Низкий

Низкий

Сложность обновления ПО

Низкая

Высокая

Низкая

Низкая

Требования к характеристикам сети

Низкие

Очень высокие

Низкие

Низкие

Распределение загрузки

Нет

Есть

Есть

Есть

Требования к характеристикам рабочих станций

-

Очень высокие

Низкие

Низкие

Использование графического интерфейса

-

+

+

+

Использование символьного интерфейса

+

+

+

+

Таблица 1 - Результаты анализа моделей технологий «Файловый сервер» и «Клиент – сервер»

При разработке любой информационной системы можно использовать модели как в чистом виде, так и их объединение. Для этого необходимо правильно определиться не только с моделью, но и с платформой, на которой она будет реализована, так как ошибки, допущенные на этом этапе, могут свести на нет все преимущества прикладной части информационной системы. Причем большая часть недостатков, вызванных этими ошибками, выясняется, как правило, только на этапе эксплуатации.[9]

Глава 2. Программное обеспечение технологии «Клиент – сервер»

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

Для успешного применения технологии «Клиент-сервер» должно использоваться соответствующее программное обеспечение, включающее клиентскую и серверную части.

Программное обеспечение, установленное на сервере для управления базой данных, реагируя на запросы клиентов, начинает поиск информации. Как часть системы «клиент-сервер» оно возвращает только результаты поиска.

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

Программное обеспечение сервера предусматривает и другие действия над информацией: обновление, удаление, добавление, защита и так далее.

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

Инструментальные средства, приложения и утилиты для интерфейсной части дополняют возможности модели «Клиент-сервер». К ним относятся средства запросов, которые упрощают доступ к данным сервера, используя предопределенные запросы и встроенные возможности для построения отчетов, пользовательские приложения, которые могут работать в качестве интерфейсной части, предоставляя доступ к серверу базы данных. Другие приложения (такие, как Microsoft Access) имеют свой собственный SQL, который обеспечивает доступ к системам управления базами данных от разных производителей. Для реализации систем «Клиент-сервер» необходимы специально разработанные интерфейсные части. Средства разработки программ (например, Microsoft Visual Basic) значительно облегчают программистам и администраторам информационных систем создание приложений, которые отвечают за доступ к серверам базы данных.[11]

В зависимости от выбора операционной системы (ОС) и поставленных задач определяется программное обеспечение. Так, если используется ОС Windows, то на компьютере – клиенте обычно используется пакет Microsoft Office, в состав которого входят текстовый процессор Word, табличный процессор Excel, система подготовки презентаций PowerPoint, система управления базами данных Access и программа управления информацией Outlook

В связи с успехом распространения пакета Microsoft Office корпорация Microsoft решила собрать комплекс программ для сервера –пакет MS BackOffice. В состав названного пакета входят Windows Server – сетевая операционная система, System Management Server – система администрирования сети, SQL Server – сервер управления базами данных, SNA Server – сервер для соединения с хост-компьютерами, Exchange Server – сервер системы электронной почты и Internet Information Server – сервер для работы с Internet.

Windows Server 2003/2008/2013 способна обеспечить совместное использование файлов, печатающих устройств, предоставить услуги по соединению с рабочими станциями (клиентскими компьютерами) и другой сервис.

В качестве сетевой операционной системы используют Windows 2003/2008/2013 Server, которую можно использоваться и на рабочей станции для реализации дополнительных возможностей.

Windows Server 2003/2008/2013 обеспечивает совместное использование не только множества процессов, но и ресурсов многими пользователями. Возможность соединения с удаленными сетями реализуется через сервис удаленного доступа – RAS (Remote Access Service), а также через средства связи с сетями других фирм (Novell, Digital Pathworks и Apple).

System Management Server (SMS) позволяет сетевому администратору централизованно управлять всей сетью. При этом обеспечивается возможность администрирования каждого компьютера, подключенного к сети, включая установленное на нем программное обеспечение. SMS предоставляет различные виды сервиса, например управление сетевыми приложениями и инвентаризацией программного и аппаратного обеспечения. SMS включает в себя автоматизацию установки и распространения программного обеспечения, включая его обновление, удаленное устранение неисправностей и предоставление полного контроля администратору за устройствами ввода и экранами всех компьютеров в сети.

SQL Server представляет собой систему управления реляционными базами данных, использующую принципы технологии «Клиент-сервер». MS SQL Server поддерживает систему обработки транзакций и механизм распределенных транзакций, систему сохранения ссылочной целостности и тиражирование данных.

SNA Server позволяет нескольким настольным ПЭВМ, работающим под управлением различных операционных систем «видеть» хост-компьютеры.

Exchange Server обеспечивает средства передачи и приема сообщений в информационной сети организации. Этот сервис включает электронную почту (E-mail) и обмен информационными сообщениями для рабочих групп. Microsoft Exchange Server построен на принципах технологии «Клиент-сервер» и масштабируется в соответствии с возрастанием вычислительных возможностей сети.

Internet Information Server обеспечивает возможность создания Web-, FTP- и Gopher-серверов для сети Internet, поддерживает управление ими с помощью встроенной программы Internet Service Manager.

2.1 Организация обработки данных в СУБД с архитектурой «Клиент-сервер»

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

Термин «сервер баз данных» обычно используют для обозначения всей СУБД, основанной на архитектуре «Клиент-сервер», включая и серверную, и клиентскую части. Такие системы предназначены для хранения и обеспечения доступа к базам данных.

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

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

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

Поэтому любая СУБД не может одинаково успешно применяться при работе с БД разных классов.

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

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

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

Одним из основополагающих механизмов организации обработки данных в СУБД с практически любой архитектурой, в том числе и с архитектурой «Клиент-сервер» является механизм транзакций.

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

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

Если же все составляющие транзакции были успешно выполнены, то происходит процесс фиксирования транзакции.

О важности механизма поддержки транзакций можно судить на примере перечисления денег между счетами клиентов банка. Данная транзакция состоит из множества операций от перечисления денег до получения другим клиентом. И если произойдет сбой какой-либо из операций, то деньги просто не дойдут до получателя и останутся у отправителя.

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

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

- коммуникационный менеджер, контролирующий обмен сообщениями между компонентами информационной системы;

- менеджер авторизации, обеспечивающий аутентификацию пользователей и проверку их прав доступа;

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

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

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

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

Первые менеджеры транзакций появились еще в начале 70-х годов прошлого века и использовались еще в технологии «Файловый сервер». С приходом технологии «Клиент - сервер» они незначительно изменились идеологически, но весьма существенно - технологически. Наибольшие идеологические изменения произошли в коммуникационном менеджере, так как в этой области появились новые объектно-ориентированные технологии (CORBA, DCOM и так далее).

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

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

С появлением технологии «Клиент – сервер» и объектно-ориентированного подхода в программировании мониторы транзакций не исчезли, а перешли на более современную ступень развития.

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

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

Основными характеристиками мониторов транзакций являются:

- гибкость доступа к данным;

Использование мониторов транзакций практически не накладывает каких-либо ограничений на многообразие или сложность запросов доступа к СУБД.

- производительность.

Монитор транзакций представляет собой многопоточное приложение, одновременно открывая собственное соединение с СУБД и устраняя необходимость выполнения каждым прикладным процессом прямых запросов к СУБД. При этом число одновременно работающих пользователей СУБД существенно сокращается, что особенно важно для СУБД с реализацией «Один к одному» (рисунок 9).

В СУБД с реализацией «Один к одному» для каждого клиента на сервере используется отдельный процесс, даже если программа-клиент физически выполняется на отдельной системе. Таким образом, для работы каждого клиентского приложения используются два процесса - один на сервере и один на клиентской системе. Мониторы транзакций используются для того, чтобы существенно снизить дополнительные расходы на организацию управления таким большим количеством процессов. Обычно они предполагают наличие одного кластера из нескольких процессов (от одного до пяти), работающих на серверной системе. Эти процессы имеют внутреннюю многопотоковую организацию, что обеспечивает обслуживание запросов множества клиентов.[12]

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

Одним из современных мониторов транзакций является Microsoft Transaction Server (MTS). Microsoft Transaction Server обеспечивает поддержку транзакций, служб масштабирования, управления подключениями и администрирования, которые позволяют создавать и развертывать масштабируемые серверные приложения, делая при этом управление транзакциями прозрачным для разработчика компонентов.

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

Рисунок 9 – Конфигурация СУБД с архитектурой «Клиент-сервер» для работы с мониторами обработки транзакций.

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

Глава 3. Технология «Клиент-сервер» применительно к Internet

С появлением глобальных сетей многоуровневая архитектура «Клиент – сервер» нашла свое применение в Internet. Другими словами, архитектура Internet не что иное, как архитектура «Клиент – сервер»: пользователь всегда работает с программой - клиентом (Internet Explorer или Netscape Navigator), которая обращается к web-серверам, обслуживающим одновременно десятки и сотни запросов от клиентов по всему миру.

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

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

Помимо клиентов-браузеров бывают и другие клиенты, например, клиенты электронной почты (Outlook Express, Netscape Messenger, The Bat, Pegasus Mail, Pine, Eudora и другие.), клиенты для приема и передачи файлов (ftp-клиенты), telnet-клиенты, которые необходимы для интерактивной работы на удаленном узле (простейший telnet-клиент - программа telnet.exe) и многие другие.

Программы-серверы также разнообразны: web – сервер, DNS – сервер, ftp-сервер (для передачи файлов), сервер приложений (для удаленной работы с приложениями), сервер электронной почты и другие.

Технология «Клиент – сервер» для Internet организована следующим образом (рисунок 10):

- клиент формирует и посылает запрос на сервер;

Передачу с сервера на рабочую станцию документов и других объектов по запросам, поступающим от браузера, обеспечивает функционирующая на сервере программа, называемая web-сервером. Когда web-браузеру необходимо получить документы или другие объекты от Web-сервера, он отправляет серверу соответствующий запрос. При достаточных правах доступа между сервером и навигатором устанавливается логическое соединение.

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

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

На сервере размещаются web-документы, которые визуализируются и интерпретируются программой навигации (например, web-браузер), функционирующей на рабочей станции.

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

Логически web-документ представляет собой гипертекстовый документ, объединяющий ссылками различные web-страницы. Web-страница может быть связана с компьютерными программами и содержать ссылки на другие объекты. В web-страница помимо текста может содержать мультимедийный объект (рисунок, звук, видео), программу, которая при переходе на нее по ссылке, будет передана с сервера на рабочую станцию для интерпретации или запуска на выполнение навигатором или любой другой сервис – электронную почту, копирование файлов с другого компьютера сети, поиск информации и так далее.

Цикл повторяется, пока пользователь не закончит работу с сервером.

Риунок 10 - Технология «Клиент – сервер» для Internet

В сервисе WWW для передачи информации применяется протокол НТТР, при работе которого сервер не имеет никакой информации о состоянии браузера. При этом взаимодействовать с сервером возможно только через механизм URL, это создает некоторые трудности при реализации клиентской части. Схема передачи информации по протоколу НТТР состоит из следующих этапов (рисунок 11):

- браузер преобразует доменное имя из URL в IP-адрес и устанавливает соединение с сервером;

- браузер передает остальную часть URL на сервер;

- сервер определяет по URL путь и имя файла, при необходимости формирует его динамически;

- сервер пересылает файл браузеру;

- сервер разрывает соединение;

- браузер отображает документ.

Существует множество технологий и языков программирования для написания серверных и клиентских Internet – приложений. В настоящее время большое распространение получила технология Java, с помощью которой можно строить универсальные системы со смешанной архитектурой, приложения, выполняемые на стороне клиента, называются апплетами (applets), на стороне сервера - сервлетами (servlets). Достаточно большой популярностью пользуется Flash-технология, в рамках которой можно создавать медиа-насыщенные интерактивные ресурсы, основная рабочая нагрузка при этом ложится на компьютер пользователя.

Рисунок 11 - Схема работы по HTTP в архитектуре «Клиент-сервер» для Internet

С помощью CGI (Common Gateway Interface) приложений возможно взаимодействие с любыми базами данных через формирование SQL запросов, или другие механизмы; также возможна реализация счетчиков посещений, гостевых книг и других расширений. CGI реализуется через скрипты на любом из языков программирования высокого уровня (наиболее часто используют С++, Perl, VisualBasic, Pascal, Java).

Server Sides Includes (SSI/SSI+) - технология динамического формирования документов (в том числе и работы с БД). Скрипт (точнее серверные инструкции) находится в HTML файле обычно имеющем расширение sht или shtm, при этом серверные инструкции размещаются между специальными разделителями (tokens), а сами инструкции записаны на языке Сscript, хотя это в большей степени зависит собственно от сервера. При пересылке такой файл сканируется сервером на наличие SSI инструкций и результат динамически подставляется в посылаемый документ. SSI реализуется через специальные компоненты (динамические библиотеки), которые входят в состав сервера. По аналогичному принципу организована работа со скриптами на языке PHP, в этом случае, программные конструкции включаются в HTML с помощью разделителей.

Схожей по технике формирования динамических страниц является технология Active Server Pages (ASP) от Microsoft. Данная технология опирается на использование разнообразных объектов и компонент (COM, ActiveX и тому подобное), работа с которыми ведётся средствами языков VBScript или JavaScript.

Internet Server Application Programming Interface (ISAPI), реализуется через механизм DLL. C помощью ISAPI Internet connector возможно взаимодействие с базами данных (SQL Server, Oracle, RBase, Access, Paradox, dBASE) через драйверы Open Database Connectivity (ODBC), также возможна реализация других расширенных функций (создание различных фильтров запросов). Основным средством разработки приложений является Microsoft Visual C++ (The Internet Server API Extension Wizard). Данный механизм поддерживается Microsoft Internet Information Server (MS IIS).

Также нашли свое применение JavaScript, VBScript, SGML, HTML, XML и другие языки, ориентированные на описание структур документов.

Для реализации всех достоинств глобальной сети в пределах сети организации, при этом обеспечивая секретность внутренней информации разработали Intranet.

Intranet - частная компьютерная сеть, являющаяся внутренней web-системой, локализованной в пределах одной организации, в которой используются стандарты и протоколы Internet (сервисы Web, TCP/IP, http, протоколы связи и HTML – страницы). Другими словами, Intranet – это частная, защищенная внутрикорпоративная сеть, при построении которой используются технологии Internet, доступная только сотрудникам организации, причем независимо от их физического местонахождения, ведь для доступа в Intranet сети используется Internet как транспорт

Для преобразования локальной или региональной компьютерной сети в Intranet не потребуется распродавать старое оборудование, можно обойтись уже существующими ресурсами.

Архитектура Intranet основана на архитектуре «Клиент-сервер» (рисунок 12).

В качестве клиентских программ используются браузеры. При изменениях функциональности корпоративной информационной системы обновление клиентского ПО не требуется. Web-сервер выступает в качестве сервера приложений. Клиент и сервер взаимодействуют обычно по локальной сети, где есть выход в Internet через брандмауэр. Брандмауэром (firewall) – это компьютер с установленным на нем специальном программным обеспечением, позволяющим:

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

- аудит и протоколирование вхождений - запись, кто, когда и зачем входил во внутреннюю сеть;

- криптографию - шифрование секретной информации.

- экранирование - возможность односторонней передачи данных.

Рисунок 12 – Простейшая схема Intranet с архитектурой «Клиент – сервер»

Наличие диалоговых свойств в HTML и интерфейса CGI позволяет строить Internet-приложения с доступом к БД. Наиболее распространена схема динамической публикации отчетов. При этом в качестве CGI-процедуры используется параметризуемый генератор отчетов. Однако это не единственная схема, возможно применять программы ввода и обновления информации в БД.

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

Использование CGI-процедур имеет ряд недостатков – статичное представление информации, преобразование результата-отчета в HTML-файл, отсутствие динамического просмотра изменения информации в базе данных, процедура «не помнит состояний запросов» – каждое обращение к БД требует повторного установления соединения. Кроме того, такой принцип работы перегружает коммуникационную среду и имеет системные издержки при запуске серверных процессов.

Для устранения недостатков CGI используют возможности специальных API для Web-серверов и включают дополнительное «релейное» звено в архитектуру. Все это только подталкивает к дальнейшему совершенствования архитектуры «Клиент-сервер».

Intranet имеет пять основных функций:

- электронная почта;

- совместное использование файлов;

- каталогизация;

- кросс-платформенная совместимость; 

- поиск и управление сетью.

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

Основные достоинства Intranet:

-универсальность;

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

-прозрачная интеграция;

-гибкость;

Web, как средство доступа к базам данных и приложениям, меняет традиционное отношение к архитектуре «Клиент – сервер». Используя браузер, как средство доступа к корпоративной сети, пользователь получает единый инструмент для работы с базами данных, приложениями и различными другими службами.

-ценовая эффективность;

По сравнению с традиционными методами разработки, дистрибуции и поддержки приложений «Клиент – сервер» затраты при использовании Intranet Web-технологии достаточно низкие. Например, в Web-приложениях, работающих с базами данных, используя Web-браузер как единый интерфейс, существенно снижается стоимость разработки и сопровождения программного обеспечения клиентской части.

- безопасность;

Используя гибкие и мощные механизмы защиты можно построить Intranet-сеть той степени защищенности, которая необходима.

-высокая производительность.

Для достижения такого уровня производительности в сети используется один из основополагающих принципов построения Intranet - наращиваемость.

Недостатки Intranet:

- легкий доступ к корпоративным данным может спровоцировать их утечку к конкурентам через недобросовестного работника;

- работоспособность и гибкость Интранет требуют значительных накладных расходов на разработку и администрирование.

Заключение

Таким образом, любая компьютерная сеть по сути является сетью клиент-сервер. Пользователь, подключивший свой компьютер к Интернет, будет иметь дело с сетью клиент-сервер.

В связи с поставленной целью в работе были решены следующие задачи:

1) рассмотрена технология «клиент-сервер»;

2) охарактеризованы особенности использования;

3) проанализировано программное обеспечение технологии «Клиент – сервер»;

4) исследована технология «Клиент-сервер» применительно к Internet.

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

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

В заключение стоит отметить что архитектура клиент-сервер предоставляет разработчикам ПО исключительную свободу выбора и согласования различных типов компонентов для клиента, сервера и всех промежуточных звеньев.

Библиография

  1. Башлы, П., Н. Современные сетевые технологии / П. Н. Башлы. - М.: ГЛТ, 2016. - 334 c.
  2. Башлы, П.Н. Современные сетевые технологии: Учебное пособие для вузов. / П.Н. Башлы. - М.: ГЛТ , 2016. - 334 c.
  3. Будылдина, Н.В. Сетевые технологии высокоскоростной передачи данных: Учебное пособие для вузов / Н.В. Будылдина, В.П. Шувалов. - М.: РиС, 2016. - 342 c.
  4. Васкевич Д. «Стратегии клиент/сервер» - К.: Диалектика, 2016, 384с.
  5. Галушкин, А.И. Нейросетевые технологии в России / А.И. Галушкин, С.Н. Симоров. - М.: ГЛТ , 2015. - 316 c.
  6. Галушкин, А.И. Нейросетевые технологии обработки информации: Учебное пособие для вузов. / А.И. Галушкин, Э.Д. Аведьян, Н.С. Червяков, П.А. Сахнюк. - М.: Альянс, 2016. - 528 c.
  7. Гохберг Г.С. «Информационные технологии»/Гохберг Г.С., Зафиевский А. В., Короткин А.А. - М.: Изд-й центр, 2015, 208с.
  8. Дейт К.Дж. «Введение в системы баз данных» - М.: Вильямс, 2016, 1072с.
  9. Дэк. К. «Переход на технологию клиент/сервер: некоторые итоги» - CIO Russia, 2015, 75c.
  10. Елисеева, И.И. Основы информационных и телекоммуникационных технологий. Часть 3.Сетевые информационные технологии. Учебное пособие / И.И. Елисеева. - М.: Финансы и статистика, 2015. - 224 c.
  11. Иртегов, Д. Введение в сетевые технологии. / Д. Иртегов. - СПб.: BHV, 2015. - 560 c.
  12. Кузьменко, Н.Г. Компьютерные сети и сетевые технологии / Н.Г. Кузьменко. - СПб.: Наука и техника, 2016. - 368 c.
  1. Башлы, П., Н. Современные сетевые технологии / П. Н. Башлы. - М.: ГЛТ, 2016. - 334 c.

  2. Башлы, П.Н. Современные сетевые технологии: Учебное пособие для вузов. / П.Н. Башлы. - М.: ГЛТ , 2016. - 334 c.

  3. Будылдина, Н.В. Сетевые технологии высокоскоростной передачи данных: Учебное пособие для вузов / Н.В. Будылдина, В.П. Шувалов. - М.: РиС, 2016. - 342 c.

  4. Галушкин, А.И. Нейросетевые технологии в России / А.И. Галушкин, С.Н. Симоров. - М.: ГЛТ , 2015. - 316 c.

  5. Галушкин, А.И. Нейросетевые технологии в России / А.И. Галушкин, С.Н. Симоров. - М.: ГЛТ , 2015. – 316 c.

  6. Дейт К.Дж. «Введение в системы баз данных» - М.: Вильямс, 2016, 1072с.

  7. Галушкин, А.И. Нейросетевые технологии обработки информации: Учебное пособие для вузов. / А.И. Галушкин, Э.Д. Аведьян, Н.С. Червяков, П.А. Сахнюк. - М.: Альянс, 2016. - 528 c.

  8. Елисеева, И.И. Основы информационных и телекоммуникационных технологий. Часть 3.Сетевые информационные технологии. Учебное пособие / И.И. Елисеева. - М.: Финансы и статистика, 2015. - 224 c.

  9. Иртегов, Д. Введение в сетевые технологии. / Д. Иртегов. - СПб.: BHV, 2015. - 560 c.

  10. Кузьменко, Н.Г. Компьютерные сети и сетевые технологии / Н.Г. Кузьменко. - СПб.: Наука и техника, 2016. - 368 c.

  11. Дэк. К. «Переход на технологию клиент/сервер: некоторые итоги» - CIO Russia, 2015, 75c.

  12. Гохберг Г.С. «Информационные технологии»/Гохберг Г.С., Зафиевский А. В., Короткин А.А. - М.: Изд-й центр, 2015, 208с.