Автор работы: Пользователь скрыл имя, 10 Октября 2013 в 11:12, курсовая работа
В данном проекте рассмотрены технологии объектно-ориентированного языка программирования - Java и распределенной базы данных на Access ,а также Сетевые средства Java (протокол TCP/IP, InetAddress, дейтаграммы и
Клиентские и серверные сокеты ServerSocket и CliebtSocket которые были использованы для написания приложения на Java).
В практической части приведены примеры:
1) Пример Создание графического приложения « клиент-сервер » на Java.
2) Пример Взаимодействия распределенной базы данных на Access и Java.
Введение……………………………………………………………………………..2
1. Распределенные системы……………………………………………………….3
1.1 Промежуточная среда………………………………………………………….6
1.2 Программное обеспечение Распределенных систем……………………….7
1.3 Сетевые средства……………………………………………………………..10
2. Практическая часть…………………………………………………………….13
2.1 Описание……………………………………………………………………….13
2.2 Структура проекта…………………………………………………………13
2.2.1 Клиентская часть (файл SimplestAppClient.java)………………………13
2.2.2 Серверная часть (файл SimplestAppServer.java)……………………….18
2.3 Пользовательский интерфейс …………………………………………….21
3. Распределенные базы данных………………………………………………….22
3.1 Распределенная база данных на Access и Java……………………………….24
Заключение………………………………………………………………………….27
Список используемой литературы…………………………………
1.1 Промежуточная среда……………………………
1.2 Программное обеспечение
Распределенных систем………………………
2. Практическая часть………………………………
2.1 Описание…………………………………………………………
2.2 Структура проекта…………………………………………………………
2.2.1 Клиентская часть
(файл SimplestAppClient.java)…………………
2.2.2 Серверная
часть (файл SimplestAppServer.java)…………………
2.3 Пользовательский интерфейс …………………………………………….21
3. Распределенные базы данных………………………………………………….22
3.1 Распределенная база данных на Access и Java……………………………….24
Заключение……………………………………………………
Список используемой литературы…………………………………………………
Под распределенной системой следует понимать совокупность автономных процессоров и систем, объединенных в коммуникационные подсети для накопления данных и действующих совместно для решения общей задачи. Посредством сети происходит координация распределенных процессов и обмен информацией.
Определение распределенной системы в техническом смысле тесно связано с передачей информации и организацией обработки данных. Существует по меньшей мере пять критериев, которыми можно охарактеризовать распределенную систему: архитектура аппаратного обеспечения, обработка и накопление данных, управление системой, ее инвариантность. Общая память, при помощи которой различные процессы могут обмениваться данными, в распределенной системе почти не используется. Поэтому классические методы синхронизации и коммуникации (семафоры, память общего доступа и т. д.) исключаются. Единственно возможным методом коммуникации является обмен сообщениями, причем отправитель и получатель выступают в роли равноправных коммуникационных партнеров, между которыми происходит неструктурированный обмен данных. Неструктурированная система сообщений требует эффективных, мобильных, коммуникационных служб, которые обычно иерархически упорядочены и допускают высокую степень свободы при разработке распределенных приложений.
В данном проекте рассмотрены технологии объектно-ориентированного языка программирования - Java и распределенной базы данных на Access ,а также Сетевые средства Java (протокол TCP/IP, InetAddress, дейтаграммы и
Клиентские и серверные сокеты ServerSocket и CliebtSocket которые были использованы для написания приложения на Java).
В практической части приведены примеры:
1) Пример Создание графического приложения « клиент-сервер » на Java.
2) Пример Взаимодействия распределенной базы данных на Access и Java.
В литературе можно найти различные определения распределенных систем, причем ни одно из них не является удовлетворительным и не согласуется с остальными. Для наших задач хватит достаточно вольной характеристики.
Распределенная система — это набор независимых компьютеров, представляющийся их пользователям единой объединенной системой.
В этом определении оговариваются два момента. Первый относится к аппаратуре: все машины автономны. Второй касается программного обеспечения: пользователи думают, что имеют дело с единой системой. Важны оба момента. Позже в этой главе мы к ним вернемся, но сначала рассмотрим некоторые базовые вопросы, касающиеся как аппаратного, так и программного обеспечения. Возможно, вместо того чтобы рассматривать определения, разумнее будет сосредоточиться на важных характеристиках распределенных систем. Первая из таких характеристик состоит в том, что от пользователей скрыты различия между компьютерами и способы связи между ними. То же самое относится и к внешней организацией распределенных систем. Другой важной характеристикой распределенных систем является способ, при помощи которого пользователи и приложения работают в распределенных системах, независимо от того, где и когда происходит их взаимодействие.
Распределенные системы должны также относительно легко поддаваться расширению, или масштабированно. Эта характеристика является прямым следствием наличия независимых компьютеров, но в то же время не указывает, каким образом эти компьютеры на самом деле объединяются в едгпгую систему.
Распределенные системы обычно существуют постоянно, однако некоторые их части могут временно выходить из строя. Пользователи и приложения не должны уведомляться о том, что эти части заменены или починены или что добавлены новые части для поддержки дополнительных пользователей или приложений.
Для того чтобы поддержать представление различных компьютеров и сетей в виде единой системы, организация распределенных систем часто включает в себя дополнительный уровень программного обеспечения, находящийся между верхним уровнем, на котором находятся пользователи и приложения, и нижним уровнем, состоящим из операционных систем.
Отметим, что промежуточный уровень распределен среди множества компьютеров. Взглянем теперь на некоторые примеры распределенных систем. В качестве первого примера рассмотрим сеть рабочих станций в университете или отделе компании. Вдобавок к персональной рабочей станции каждого из пользователей имеется пул процессоров машинного зала, не назначенных заранее ни одному из пользователей, но динамически выделяемых им при необходимости. Эта распределенная система может обладать единой файловой системой, в которой все файлы одинаково доступны со всех машрш с использованием постоянного пути доступа. Кроме того, когда пользователь набирает команду, система может найти наилучшее место для выполнения запрашиваемого действия, возможно, на собственной
рабочей станции пользователя, возможно, на простаивающей рабочей
станции, принадлежащей кому-то
другому, а может быть, и на одном
из свободных процессоров
Приходящие заказы автоматически передаются в отдел планирования, превращаясь там во внутренние заказы на поставку, которые поступают в отдел доставки, и в заявки на оплату, поступающие в бухгалтерию. Система автоматически пересылает эти документы имеющимся на месте сотрудникам, отвечающим за их обработку. Пользователи остаются в полном неведении о том, как заказы на самом деле курсируют внутри системы, для них все это представляется так, будто вся работа происходит в централизованной базе данных. В качестве последнего примера рассмотрим World Wide Web. Web предоставляет простую, целостную и единообразную модель распределенных документов.
Чтобы увидеть документ, пользователю достаточно активизировать ссылку.
После этого документ появляется на экране. В теории (но определенно не в текущей практике) нет необходимости знать, с какого сервера доставляется документ, достаточно лишь информации о том, где он расположен. Публикация документа очень проста: вы должны только задать ему уникальное имя в форме унифицированного указателя ресурса {Uniform Resouixe Locator, URL), которое ссылается на локальный файл с содержимым документа. Если бы Всемирная паутина представлялась своим пользователям гигантской централизованной системой документооборота, она также могла бы считаться распределенной системой. К сожалению, этот момент еще не наступил. Так, пользователи сознают, что документы находятся в различных местах и распределены по различным серверам.
Понятие «распределенная система» применяется сегодня очень широко, независимо от того, идет ли речь о комплексах из нескольких машин или мультипроцессорных системах различных архитектур. Благодаря этому в большинстве случаев оно потеряло свой смысл. Ниже рассмотрена концепция распределенных систем, полученных объединением датчиков и исполнительных механизмов в сеть, формирующая систему автоматизированного управления. Распределенная система управления представляет собой некоторое упорядоченное соединение узлов, обменивающихся друг с другом данными об измерениях и управлении, с одной стороны, и осуществляющих коммуникацию человека и машины - с другой.
Согласно модели Энслоу (Рис. 2), для достижения по-настоящему высокой степени децентрализации распределенная система должна отвечать пяти критериям. В прошлом из-за высокой стоимости системы, отсутствия необходимого инструментария менеджмента, программного обеспечения и др. для объединения в сеть датчиков и исполнительных механизмов чаще всего применяли системы управления с централизованной обработкой данных. В последние годы возрос интерес к распределенным системам, так как стали нужны более гибкие универсальные управляющие устройства. Учитывая технологический прогресс в области компьютерных и коммуникационных систем, а также то, что стоимость аппаратного обеспечения постоянно падает, можно ожидать, что в будущем распределенные системы управления на уровне датчиков - исполнительных механизмов будут полностью соответствовать определению Энслоу и благодаря ряду преимуществ (модульности и гибкости программного и аппаратного обеспечения, помехозащищенности, совместимости и пр.) их применение станет экономически выгодным.
Рис. 1. Модель типизации распределенных систем Энслоу
Распределенная система на уровне датчики - исполнительные механизмы.
Объединение в сеть обладающих интеллектом компонент позволяет оперировать распределенным интеллектом так, что решения, необходимые для определенного участка, будут приниматься непосредственно на этом участке, а в коммуникационной сети будет происходить обмен только глобальными данными. Распределение данных и функций задается непосредственно требованиями распределенного приложения.
Рис. 2 Центральные и автономные механизмы управления в распределенной системе
На Рис. 3 сравниваются принципы центрального и автономного управления структурами типа master-slave. Отдельные компоненты распределенной системы работают автономно, на основании знаний о текущем статусе других компонент или всей системы в целом. Выход из строя или ошибочное поведение компоненты проявляется в задержке. Там, где задержки недопустимы или необходим высокий уровень защищенности, встраиваются средства контроля.
1.1 Промежуточная среда
Многие распределенные приложения допускают непосредственное использование программного интерфейса, предлагаемого сетевыми операционными системами. Так, связь часто реализуется через операции с сокетами, которые позволяют процессам на разных машинах обмениваться сообщениями. Кроме того, приложения часто пользуются интерфейсами локальных файловых систем. Как мы понимаем, проблема такого подхода состоит в том, что наличие распределения слишком очевидно. Решение заключается в том, чтобы поместить между приложением и сетевой операционной системой промежуточный уровень программной
поддержки, обеспечивающий дополнительное абстрагирование. Потому
этот уровень и называется промежуточным. Он находится посредине между
приложением и сетевой операционной системой, как показано на рис. 1.16.
Каждая локальная система, составляющая часть базовой сетевой операционной
системы, предоставляет управление локальными ресурсами и простейшие
коммуникационные средства
для связи с другими
Основная наша задача — скрыть разнообразие базовых платформ от приложений.
Для решения этой задачи многие системы промежуточного уровня предоставляют более или менее полные наборы служб и «не одобряют» желания использовать что-то еще для доступа к этим службам, кроме своих интерфейсов. Другими словами, обход промежуточного уровня и непосредственный вызов служб одной из базовых операционных систем не приветствуется.
Рисунок 3. службы промежуточного уровня
Интересно отметить, что промежуточный уровень не был изобретен в академических условиях в попытке обеспечить прозрачность распределения. После появления и широкого распространения сетевых операционных систем многие организации обнаружили, что у них накопилась масса сетевых приложений, которые невозможно легко интегрировать в единую систему [45]. Именно тогда производители и начали создавать независимые от приложений службы верхнего уровня для этих систем. Типичные примеры обеспечивали поддержку распределенного взаимодействия и улучшенные коммуникационные возможности.
Разумеется, дорога к правильному промежуточному уровню была непростой. Была создана организация, призванная определить общий стандарт для решений на базе промежуточного уровня. К настоящему времени таких стандартов существует множество. Стандарты в основном несовместимы друг с другом, и что еще хуже, продукты разных производителей, реализующие один и тот же стандарт, редко способны работать вместе. Вероятно, все это ненадолго. Кто-нибудь непременно предложит «программное обеспечение следующего уровня», которое исправит этот недостаток.
Информация о работе Технологии объектно-ориентированного языка программирования - Java