Средства программирования распределенных систем обработки информации
За время прохождения производственно-технологической практики я усвоила, что распределенная обработка информации - это комплекс операций с информацией, который проводится на независимых, но связанных между собой вычислительных машинах. Так как в компании ООО «РОСТБИЗНЕСТОРГ» недостаточно сведений по данной теме, а это неотъемлемая часть моей специальности и мне необходимо владеть этим вопросом, то я воспользовалась учебной литературой. Системы распределенной обработки информации (или распределенные вычислительные системы) в виде многомашинных вычислительных комплексов и компьютерных сетей представляют собой одну из наиболее прогрессивных форм организации средств вычислительной техники. Распределение видов обработки информации состоит в том, чтобы поручить их вычислительным машинам, наилучшим образом приспособленным к этому. Параллелизм же подразумевает понятие одновременности обработки информации. При этом распределение позволяет в ряде ситуаций проводить эффективную параллельную обработку информации при выполнении больших объемов параллельных вычислений. Появление и широкое распространение систем распределенной обработки информации обусловлено, с одной стороны, ускоренным развитием микроэлектроники, снижением стоимости вычислительных средств, увеличением их производительности при уменьшении габаритов, а с другой стороны - повышением требований к производительности, надежности и эффективности вычислительных систем, предъявляемых сферами их применения. Распределенная обработка информации обычно понимается как синоним распределенных вычислений. Важно отметить, что распределение (или разделение) не идентично параллелизму[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-модели, технология 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 полностью предназначена для промышленных, открытых, распределенных объектных систем. Список выгод, которыми обладает каждая 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
является лишь частным решением проблемы распределенных объектных систем. Он хорошо подходит для Microsoft-ориентированных сред[11]. Во время прохождения производственно-технологической практики я поняла, что на сегодняшний день технологии создания распределенных систем прекрасно дополняют друг друга в качестве универсального, мощного средства для решения проблемы объединения систем, основанных на технологии WWW, в особенности распределенными, информационными системами.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|