Смекни!
smekni.com

Технология Клиент-сервер 3 (стр. 6 из 7)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рисунок 56. - Схема работы по 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 с помощью разделителей <? php и ?>.

Схожей по технике формирования динамических страниц является технология 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 и другие языки, ориентированные на описание структур документов.

3.7 Технология «Клиент-сервер» применительно к Intranet

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

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

Термин «Intranet» впервые появился 19 апреля 1995 году в журнале Digital News & Review.

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

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

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

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

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

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

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

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

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

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

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

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

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