Файл: INTRANET и архитектура «клиент-сервер».pdf

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

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

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

Добавлен: 28.06.2023

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

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

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

СОДЕРЖАНИЕ

Введение

Глава 1. Обзор и анализ проблемы, методов и средств ее решения

1.1. Обзор архитектуры «клиент-сервер»

1.1.2 Клиенты и серверы локальных сетей

1.1.3 Системная архитектура «клиент-сервер»

1.1.4 Серверы баз данных

1.1.5 Принципы взаимодействия между клиентскими и серверными частями

1.1.6.Преимущества протоколов удаленного вызова процедур

1.1.7 Типовое разделение функций между клиентами и серверами

1.1.8 Архитектуры процессора базы данных

1.2. Архитектура с несколькими процессами

1.2.1 Персональные СУБД

Глава 2 Intranet и архитектура «клиент-сервер»

2.1. Двухуровневая архитектура «клиент-сервер»

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

2.3. Программы расширения серверной части

Глава 3. Технология JAVA

3.1 Технологический цикл обработки JAVA-программ

3.2 JAVA-машина

3.3 Типы данных, которые поддерживает JAVA-машина

3.4 Регистры

3.5 Указатели

3.6 «Сбор мусора»

3.7 Система команд JAVA-машины

3.2.1. Взаимодействие с серверами баз данных - JDBC

3.2.2 Использование JDBC

3.2.3 Принципы использования JDBC

3.2.4.Нетривиальные возможности JDBC

3.2.5 Использование JDBC 363

3.2.6 Работа с запросами в MS Access

Заключение

Список использованной литературы

Введение

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

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

Цель работы: исследовать разработку «клиент-сервис» архитектуры.

Задачи:

  1. Осуществить обзор и анализ «клиент-сервис» архитектуры, методов и средств ее решения.
  2. Рассмотреть взаимодействие Intranet и архитектура «клиент-сервер».
  3. Описать технологию JAVA в русле работы архитектура «клиент-сервер».

Глава 1. Обзор и анализ проблемы, методов и средств ее решения

1.1. Обзор архитектуры «клиент-сервер»

Подобно системе баз данных архитектура «клиент-сервер» интересна и актуальна тем, что обеспечивает простое и дешевое решение проблемы коллективного доступа к базам данных в локальной сети. Использование архитектуры «клиент-сервер» может заинтересовать, когда отвечаете за разработку программы, которая обращается к данным локальной сети или файлового сервера. К программному обеспечению могут обращаться несколько пользователей, а со временем и другие программы которые будут обрабатывать эти данные. Распространение архитектуры «клиент-сервер» стало возможным благодаря широкому внедрению в практику концепции открытых систем[1].


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

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

Практической опорой системных и прикладных программных средств открытых систем является стандартизованная операционная система. Такой системой является UNIX. Фирмам-поставщикам различных вариантов ОС UNIX в результате работы удалось прийти к соглашению об основных стандартах операционной системы. Сейчас распространенные версии UNIX совместимы по части интерфейсов, предоставляемых прикладным (а в большинстве случаев и системным) программистам. Несмотря на появление системы, претендующей на стандарт, Windows NT, UNIX останется основой открытых систем[5].

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


1.1.2 Клиенты и серверы локальных сетей

В основе распространения локальных сетей - идея разделения ресурсов. Высокая пропускная способность локальных сетей обеспечивает доступ из одного узла локальной сети к ресурсам, находящимся в других узлах. Развитие идеи приводит к функциональному выделению компонентов сети: целесообразно иметь не только доступ к ресурсам компьютера, но и получать от компьютера сервис. Так приходим к различению рабочих станций и серверов локальной сети[7].

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

Примеры серверов:

• сервер телекоммуникаций, обеспечивающий услуги по связи данной локальной сети с внешним миром;

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

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

• файловый сервер, поддерживающий общее хранилище файлов для всех рабочих станций;

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

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

1.1.3 Системная архитектура «клиент-сервер»

Чтобы прикладная программа, которая выполняется на рабочей станции, могла запросить услугу у некоторого сервера, нужно интерфейсный программный уровень, который поддерживает такого рода взаимодействие (было бы неестественно требовать, чтобы приложение пользовалась примитивами транспортного уровня локальной сети). Из этого и вытекают основные принципы системной архитектуры «клиент-сервер»[10].


Система разбивается на 2 части, они могут реализовывать в разных узлах сети, - серверной и клиентской частях системы. Клиентская - при необходимости обращается по сети к серверной части. В развитых системах сетевое обращение к серверной части может не понадобиться, если система может предугадывать потребности пользователя, в клиентской части содержатся данные, которые способны удовлетворить его следующий запрос[11]. Интерфейс серверной части системы фиксирован и определен, поэтому допустимо создание новых клиентских частей имеющейся системы (интероперабельность на системном уровне)[12].

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

Более сложный аспект данной проблемы связан с потенциалом применения разных представлений данных в различных узлах неоднородной локальной сети. В разных компьютерах может быть разная адресация, кодировка символов, представление чисел и пр. Что важно для серверов высокого уровня: вычислительных, телекоммуникационных, баз данных[13]. Решением проблемы мобильности систем, основанных на архитектуре «клиент-сервер» может быть опора на программные пакеты, которые реализуют протоколы удаленного вызова процедур (RPC - Remote Procedure Call). При использовании этих средств обращения к сервису в удаленном узле предстает как обычный вызов процедуры. Средства RPC, где содержится информация о специфике аппаратуры локальной сети и сетевых протоколов, переводит вызов в последовательность сетевых взаимодействий. Специфика сетевой среды и протоколов скрыта от прикладного программиста[14]. При вызове удаленной процедуры программы RPC делают преобразование форматов данных клиента в промежуточные машинно-независимые форматы и потом преобразование в форматы данных сервера. При передаче надлежащих параметров совершаются аналогичные преобразования. Если система осуществлена на основе стандартного пакета RPC, она может быть перенесена в любую открытую среду[15].


Технология «клиент-сервер» применимая к СУБД сводится к разделению системы на 2 части - приложение-клиент (front-end) и сервер базы данных (back-end). Эта архитектура объединяет черты обработки данных на мэйнфреймах и технологии «файл-сервер». От мэйнфреймов «клиент-сервер» технология заимствовала следующие черты: администрирование, централизованное, надежность, безопасность. От «файл-сервер» технологии наследованы возможность распределенной обработки данных, низкая стоимость, применяя ресурсы компьютеров-клиентов.

Графический интерфейс пользователя - стандарт для систем «клиент-сервер». Архитектура «клиент-сервер» ускоряет и упрощает разработку приложений за счет того, что правила проверки целостности данных находятся на сервере. Если клиентское приложение работает неправильно, то это может привести к потере или искажению данных. Эти возможности были присущие ранее сложной и дорогой системам, сейчас они доступны и небольшим организациям. Стоимость оборудования такого программного обслуживания и обеспечения для персональных компьютеров в 10 раз ниже, чем для мэйнфреймов. Особенности обработки данных в различных архитектурах представлены на Рис.1.

Локальный компьютер

Локальное приложение

СУБД

Данные

Архитектура «файл-сервер»

Клиент

Файл-сервер

сетевое приложение

Данные

СУБД

Клиент

сетевое приложение

Передача данных

СУБД

Рис.1. Обработка данных в различных архитектурах

Сервер БД