Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Средства программирования распределенных систем обработки информации




За время прохождения производственно-технологической практики я усвоила, что распределенная обработка информации - это комплекс операций с информацией, который проводится на независимых, но связанных между собой вычислительных машинах. Так как в компании ООО «РОСТБИЗНЕСТОРГ» недостаточно сведений по данной теме, а это неотъемлемая часть моей специальности и мне необходимо владеть этим вопросом, то я воспользовалась учебной литературой.

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

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

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

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

Следовательно, в общем случае распределение не подразумевает параллелизма, но существует возможность «распараллелить» распределенную обработку информации.

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

Взаимодействие подразумевает понятие «открытых систем», то есть систем, способных к коммуникации в неоднородной среде.

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

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

обмен (программы различных систем посылают друг другу сообщения);

совместная работа (машины играют взаимодополняющие роли).

 

Рисунок 5 - Модель распределенных объектов

 

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

Важным достоинством таких систем является возможность построения так называемых легких клиентов[9].

Использование технологии распределенных объектов позволяет:

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

сокращение количества ошибок;

сокращение времени разработки (изолированная разработка);

легче становится будущее изменение системы;

повторное использование программных компонент.

Выделяют три технологии: RMI, CORBA и DCOM. На сегодняшний день они поддерживают концепцию распределенных объектных систем.

 

RMI

Архитектура RMI (Remote Method Invocation, т.е. вызов удаленного метода), которая интегрирована с JDK1.1, является продуктом компании JavaSoft и реализует распределенную модель вычислений. RMI позволяет клиентским и серверным приложениям через сеть вызывать методы клиентов/серверов, выполняющихся в Java Virtual Machine. Хотя RMI считается легковесной и менее мощной, чем CORBA и DCOM тем не менее, она обладает рядом уникальных свойств, таких, как распределенное, автоматическое управление объектами и возможность пересылать сами объекты от машины к машине[10].

 


Рисунок 6 - Основные компоненты архитектуры RMI, где

 

Client Stub - переходник для клиента;

Server Stub - переходник для сервера.

Они порождены от общего интерфейса, но различие между ними в том, что client stub служит просто для подсоединения к RMI Registry, a server stub используется для связи непосредственно с функциями сервера.

Технология RMI имеет положительные и отрицательные стороны, которые представлены в таблице 1.

 

Таблица 1 - Достоинства и недостатки системы RMI

Достоинства Java - оптимизация. Быстрое и простое создание. Возможность передачи объектов по значению. Динамическая загрузка компонент- переходников. Встроенная безопасность.
Недостатки Поддержка только одного языка - Java. Трудность интегрирования с существующими приложениями. Свой собственный, не IIOP - совместимый протокол взаимодействия. Плохая масштабируемость.

 

Благодаря легкой в использовании Java-модели, технология RMI является самым простым и быстрым способом создания распределенных систем. Технология RMI - неплохой выбор для создания RAD-компонент и небольших приложений на языке Java. Огромная роль RMI в создании больших, масштабируемых промышленных системах[11].


CORBA

Технология CORBA (Common Object Request Broker Architecture), разрабатываемая OMG (Object Managment Group) с 1990-го года, позволяет вызывать методы у объектов, находящихся в сети где угодно, так, как если бы все они были локальными объектами.

 

Рисунок 7 - Основная структура CORBA

Представлена основная структура CORBA, где

Dynamic Invocation Interface (DE): позволяет клиенту находить сервера и вызывать их методы во время работы системы.

IDL Stubs: определяет, каким образом клиент производит вызов сервера.

ORB Interface: общие как для клиента, так и для сервера сервисы.

IDL Skeleton: обеспечивает статические интерфейсы для объектов определенного типа.

Dynamic Skeleton Inerface: общие интерфейсы для объектов, независимо от их типа, которые не были определены в IDL Skeleton.

Object Adapter: осуществляет коммуникационное взаимодействие между объектом и ORB. Список достоинств и недостатков использования технологии CORBA указан в таблице 2.


Таблица 2 - Список достоинств и недостатков структуры CORBA

Достоинства Платформенная независимость. Динамические вызовы. Масштабируемость. CORBA - сервисы. Языковая независимость. Динамическое обнаружение объектов. Широкая индустриальная поддержка.
Недостатки Нет передачи параметров «по значению». Нет именования через URL.

 

Технология CORBA полностью предназначена для промышленных, открытых, распределенных объектных систем.

Список выгод, которыми обладает каждая CORBA ORB:

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

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

само - описывающаяся система.

С помощью своих метаданных, CORBA позволяет описывать интерфейс любого сервера, известного системе.

прозрачность.может выполняться как сам по себе (например на портативном компьютере), так и в окружении целого мира других ORB, с которыми она взаимодействует путем CORBA 2.0 ПОР (Internet Inter ORB Protocol) протокола. При использовании технологии CORBA, разработчик не должен беспокоиться ни о таких вещах как расположение серверов, запуск (активирование) объектов, выравнивание размера переменных в зависимости от платформы и операционной системы, ни и о том, как осуществляется передача сообщений. Решение всех этих задач берет на себя продукт, поддерживающий стандарт CORBA[11].

Чтобы объединить информационные системы, необходимо связать технологию распределенных объектов (то есть технологию CORBA) с технологией WWW. Первое решение строится на применении технологии CGI, а второе - на применении технологии Java.

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

Второе решение проблемы связывания технологий CORBА и WWW - язык Java. Дело в том, что OMG стандартизировала отображение из IDL в Java. Имеются программные продукты, реализующие связь CORBA и Java- например, OrbixWeb, Visibroker[12].

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

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

В CORBA существует два различных механизма передачи сообщений

механизм Push и механизм Pull.

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

Механизм PUSH, в некотором смысле, противоположен механизму. В этом сервер сообщений сам, по мере поступления новых сообщений, будет информировать об этом клиентов.

 

Рисунок 8 - Механизмы PULL и PUSH

 

Разумная комбинация компонент информационной системы, поддерживающих PUSH/PULL модели обмена сообщениями, позволяет достичь высокого уровня гибкости и производительности создаваемой информационной системы[13].

 

DCOM

Технология DCOM (Distributed Component Object Model) была разработана в 1996 году компанией Microsoft в качестве решения для распределенных систем.

Сейчас DCOM является главным конкурентом CORBA, хотя контролируется он теперь уже не Microsoft, а группой TOG (The Open Group), аналогичной OMG. DCOM представляет собой расширение архитектуры СОМ до уровня сетевых приложений.

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

 

Рисунок 8 - Система DСOM

 

Технология DCOM хороша лишь в качестве решения для систем, ориентированных исключительно на продукты Microsoft. Большие нарекания вызывает также отсутствие безопасности при исполнении ActiveX компонент, что может привести к неприятным последствиям.

Некоторые, положительные и отрицательные стороны технологии DCOM представлены в таблице 3.

 

Таблица 3 - Достоинства и недостатки DCOM

Достоинства Динамический/статический вызов. Динамическое нахождение объектов. Языковая независимость. Открытый стандарт (контроль со стороны TOG). Масштабируемость.
Недостатки Зависимость от платформы. Сложность реализации. Нет проверки безопасности на уровне выполнения ActiveX компонент. Нет именования через URL.

является лишь частным решением проблемы распределенных объектных систем. Он хорошо подходит для Microsoft-ориентированных сред[11].

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

 


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...