Файл: Распределенные системы обработки информации (Технология «клиент-сервера» в 1С).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.06.2023

Просмотров: 157

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

- слабая защита данных, поскольку сложно правильно распределить полномочия[20].

Клиенты

Данные

Сервер

Рис.4. Архитектура «Толстый клиент»

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

Трехуровневая архитектура

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

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

Сервер приложений – это программное обеспечение, являющееся промежуточным слоем между клиентом и сервером[22] (рисунок 5).

API

Данные

Сервер

приложений

Клиент

SQL

БД

Сервер

данных

Данные

Представление данных

Приложение

Рис.5. Сервер приложений

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

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

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

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


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

Существует несколько серверов приложений от таких знаменитых компаний как 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.

Понятие прикладных протоколов


Необходимо различать понятия сетевых приложений и протоколов прикладного уровня. Протоколы прикладного уровня являются частью (хотя и весьма большой) сетевых приложений. Рассмотрим два примера. Web является сетевым приложением, позволяющим пользователям получать web-документы по запросу и состоящим из множества компонентов, включая стандарт формата документов (HTML), браузеры (Netscape Navigator, Microsoft Internet Explorer и др.), web-серверы (например, Apache, Microsoft или Netscape), протоколы прикладного уровня. Протокол прикладного уровня для web носит название протокола передачи гипертекста (HyperText Transfer Protocol, HTTP) и описывает формат и порядок обмена сообщениями между клиентом и сервером (RFC 2646). Таким образом, HTTP является лишь частью web-приложения.

В качестве второго примера рассмотрим приложение электронной почты. Электронная почта Интернета также состоит из множества компонентов: почтовых серверов, содержащих почтовые ящики пользователей, программ для просмотра и создания электронных писем, стандартов, описывающих структуру электронных писем, протоколов прикладного уровня, регламентирующих порядок обмена сообщениями серверов между собой и с оконечными системами пользователей, а также интерпретацию полей, из которых состоят электронные письма. Основным протоколом прикладного уровня для электронной почты является протокол простой передачи сообщений (Simple Mail Transfer Protocol, SMTP)[24]. Как мы видим, SMTP (RFC 2821) -- лишь часть (хотя и достаточно большая) структуры приложений электронной почты.

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

· типы используемых сообщений, например, запросы и ответы;

· синтаксис каждого из типов сообщений, описывающий поля сообщения и их разделители;

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

· правила, описывающие события, которые вызывают генерацию сообщений.

Некоторые из протоколов прикладного доступа (HTTP, SMTP и др.) являются официально документированными в RFC[25]. Это означает, что если разработчик нового браузера будет следовать стандарту, то браузер сможет получать документы с любого web-сервера, построенного поэтому же стандарту. Тем не менее существует множество протоколов прикладного уровня, которые не стандартизированы и при этом используются для поддержки коммерческих продуктов. В частности, это характерно для Интернет-телефонии.


Протокол ICMP (Internet Control Message Protocol) - протокол межсетевых управляющих сообщений. С помощью этого протокола компьютеры и устройства сети обмениваются друг с другом управляющей информацией. К примеру, этот протокол используется для передачи сообщений об ошибках, проверки доступности узла и т.д[26].

Протокол FTP (File Transfer Protocol) - протокол передачи файлов. Служит для обмена файлами между компьютерами. Например, вам нужно передать файл на сервер или, наоборот, скачать файл с сервера. Для этого вам нужно подключиться к файловому серверу (он же FTP-сервер) и выполнить необходимую вам операцию скачивания или закачки. Подключение осуществляется с помощью FTP-клиента. Простейший FTP-клиент входит в состав практически любой операционной системы. Кстати, просматривать FTP-серверы могут и обычные браузеры.[27]

Протокол HTTP (Hyper Text Transfer Protocol) - протокол обмена гипертекстовой информацией, то есть документами HTML. Вы, наверное, слышали, что HTML является базовым языком для создания веб-страниц. Так вот, протокол HTTP предназначен для передачи веб-страниц по сети. Таким образом, протокол HTTP используется веб-серверами, а браузеры - программы, служащие для просмотра веб-страниц, - являются HTTP-клиентами.[28]

Протоколы POP и SMTP. Протокол POP (Post Office Protocol) - протокол почтового отделения. Этот протокол используется для получения электронной почты с почтовых серверов. А для передачи электронной почты служит протокол SMTP (Simple Mail Transfer Protocol).[29]

Протокол IMAP. Для чтения почты может использоваться еще один протокол - IMAP. Его отличие от протокола POP состоит в том, что пользователь читает сообщения электронной почты, не загружая их на свой компьютер. Все сообщения хранятся на сервере. При удалении сообщения оно удаляется с сервера.[30]

Протокол SLIP (Serial Line Internet Protocol) - протокол подключения к сети Интернет по последовательной линии. Используется для установления связи с удаленными узлами через низкоскоростные последовательные интерфейсы. В настоящее время вытеснен протоколом РРР и практически не используется.[31]

Протокол РРР (Point-to-Point Protocol) - обеспечивает управление конфигурацией, обнаружение ошибок и повышенную безопасность при передаче данных на более высоком уровне, чем протокол SLIP. Поэтому при настройке сервера рекомендуется использовать именно этот протокол. Протокол РРР рассмотрен в RFC 1547 и RFC 1661.[32]


Протокол RIP (Routing Information Protocol) - используется для маршрутизации пакетов в компьютерных сетях. Для маршрутизации также используется протокол OSPF (Open Shortest Path First), который является более эффективным, чем RIP.[33]

Модели реализации

Модель файлового сервера

В модели файлового сервера все достаточно просто. Эта модель характеризует не столько способ образования фактографической информационной системы. Это общий способ взаимодействия компьютеров в локальной сети. Любой из компьютеров сети определяется файловым сервером, т. е. общим хранилищем любых данных. Суть FS-модели иллюстрируется схемой, приведенной на рис. 6.

Сервер

Компонент доступа к ресурсам

Компонент представления

Прикладной компонент

Файлы

Рис.6. Модель файлового сервера

В FS-модели все основные компоненты размещаются на клиентской установке. При обращении к данным ядро СУБД, в свою очередь, обращается с запросами на ввод-вывод данных за сервисом к файловой системе. С помощью функций операционной системы в оперативную память клиентской установки полностью или частично на время сеанса работы копируется файл базы данных. Таким образом, сервер в данном случае выполняет чисто пассивную функцию[34].

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

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

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