Файл: Технология CORВA (Различие технологий распределенных объектов).pdf

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

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

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

Добавлен: 04.07.2023

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

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

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

Введение

В этой работе сравниваются популярные модели распределенных объектов / стандарты промежуточного программного обеспечения; CORBA, DCOM и Java / RMI. Эти модели в определенной степени конкурируют и имеют сильные и слабые стороны в отношении переносимости, языка программирования и аппаратной поддержки, простоты использования и доступности. Все модели способствуют повторному использованию через интерфейсы компонентов и услуги распределенных объектов. Все три стандарта были расширены с помощью моделей компонентов

[CDK01] определяет распределенную систему как систему, в которой аппаратные или программные компоненты, расположенные на сетевых компьютерах, обмениваются и координируют свои действия только путем передачи сообщений. Вычислительные устройства могут быть подключены к широкому спектру сетей, например, к Интернету, сетям мобильных телефонов, корпоративным сетям, домашним сетям или их комбинациям. Современные программные системы, такие как интернет-приложения и корпоративные приложения, предлагают многоуровневые, основанные на компонентах архитектуры, которые включают промежуточное программное обеспечение для распространения компонентов на гетерогенных платформах. Платформы варьируются от мобильных устройств, таких как персональные цифровые помощники (PDA), ноутбуки и мобильные телефоны; вездесущие устройства, такие как телевизоры, холодильники и автомобили; для разных типов компьютеров, таких как мейнфреймы и ПК. Три наиболее доминирующие технологии распределенных объектов или промежуточное ПО - это CORBA, DCOM и Java / RMI. Это расширения традиционных объектно-ориентированных систем, позволяющие распределять объекты по гетерогенной сети. Объекты могут находиться в своем собственном адресном пространстве вне приложения или на другом компьютере, кроме приложения, и по-прежнему будут называться частью приложения. История и эволюция каждой из технологий распределенных объектов весьма различны и учитывают различные требования к нескольким платформам, языкам или сетевым протоколам.

CORBA - CommonBrokerArchitecture - это открытая инфраструктура вычислительных вычислений, стандартизованная группой управления объектами (OMG), и представляет собой спецификацию, основанную на технологиях, предлагаемых (и частично предоставленных) в индустрии программного обеспечения [CORBA]. CORBA является наиболее распространенным стандартом промежуточного программного обеспечения на рынке, отличном от Windows. OMG была основана в 1989 году для содействия внедрению объектно-ориентированной технологии и многоразовых программных компонентов. DCOM - модель распределенных компонентных объектов, является стандартом, разработанным Microsoft, и является распределенным расширением стандарта COM [COM]. Стандарт COM основан на разработке технологии составных документов для интеграции частей документа (например, спред-листов, изображений, презентаций, текстовых процессоров и т. Д.), Созданных различными приложениями Windows. COM - наиболее распространенная в мире модель программного обеспечения для компонентов и доминирует на рынке настольных компьютеров. Java / RMI - Java / RemoteMethodInvocation - это стандарт, разработанный JavaSoft. Java выросла с языка программирования до трех основных и полностью совместимых платформ; J2SE (Java 2 StandardEdition), J2EE (Java 2 EnterpriseEdition) и J2ME (Java 2 MicroEdition). J2SE - это основополагающий язык программирования и набор инструментов для кодирования и разработки компонентов. J2EE дополняет J2SE и представляет собой набор технологий и компонентов для развития предприятий и Интернета. J2ME используется для создания программного обеспечения для встроенных, мобильных, потребительских и других небольших устройств, таких как PersonalDigitalAssistants (PDA) и мобильных телефонов.


Все три стандарта имеют расширения для компонентов, CORBA с CORBA ComponentModel (CCM), COM с сервером транзакций Microsoft (COM + / MTS) и Java / RMI с компонентами JavaBean и EnterpriseJavaBeans (EJB). Microsoft собирается предоставить новую инфраструктуру разработки приложений под названием .NET. Не уверен, поддерживается ли .NET на нескольких платформах. В этом эссе не приводятся примеры кода в описаниях и сопоставлениях различных технологий. Примеры кода можно найти, например. [Чжун] и [Радж].

Глава 1. Различие технологий распределенных объектов

Обзор технологий распределенных объектов В этом разделе дается краткий технологический обзор различных технологий распределенных объектов, сравниваемых в этом эссе. Все три технологии распределенных объектов основаны на клиент-серверном подходе, реализованном как сетевые вызовы, работающие на уровне бит и байтов, передаваемых по сетевым протоколам, таким как TCP / IP. Чтобы избежать жесткой и подверженной ошибкам реализации сетевых вызовов непосредственно на клиенте и серверах {объектах}, стандарты распределенных технологий затрагивают сложные сетевые взаимодействия посредством абстрактных и скрывают проблемы с сетью и вместо этого позволяют программисту сосредоточиться на программировании бизнес-логики , Основная идея сетевых абстракций, таких как RPC (RemoteProcedureCall), заключается в замене локального (серверного) и удаленного (клиентского) конца на заглушки. Это позволяет как клиенту, так и серверу строго использовать соглашения о локальном вызове и тем самым не знать о вызове удаленной реализации или вызванном удаленно. Для этого клиентский вызов обрабатывается клиентом-заглушкой (прокси), который упорядочивает параметры и отправляет их, вызывая проводной протокол, такой как IIOP, ORPC или JRMP, на удаленный конец, где другая заглушка получает параметры, отменяет и вызывает истинный сервер. Маршалинговые и неаршаллинговые действия отвечают за преобразование значений данных из их локального представления в сетевой формат и в удаленное представление [Szyperski98]. Различия в формате, такие как порядок байтов и числовые представления, перекрываются таким образом. Объектные сервисы, предлагаемые всеми тремя подходами, определяются через интерфейсы. Интерфейс для всех определяется как совокупность именованных операций, каждая из которых имеет определенную подпись и необязательно тип возврата. Интерфейс служит контрактом между сервером и клиентом.


1.1. CORBA

В этом разделе кратко рассматриваются компоненты, определенные в OMG эталонной модели архитектуры (OMA), как показано на рисунке 1 [Шмидт]. Объектные службы - это не зависящие от домена интерфейсы, которые используются многими программами распределенных объектов. OMG назначила объектные сервисы, такие как служба именования, которая позволяет клиентам находить объекты на основе имен. Существуют также спецификации для управления жизненным циклом, безопасности, транзакций, уведомления о событиях, сохранения и запроса объекта и т. Д. [OMG]. Однако поставщики отказались от некоторых услуг, обычно потому, что они были непрактичными или неэффективными. Общие средства ориентированы на приложения конечного пользователя. Примером общего средства является компонент компонента распределенных документов (DDCF). DDCF позволяет осуществлять презентацию и обмен объектами на основе модели документа, например, облегчает связывание объекта электронной таблицы с текстовым документом. Обычные объекты в основном были заброшены или захвачены новыми вертикальными рабочими силами области промышленности. Интерфейсы домена заполняют роли, подобные объектным службам и общим объектам, но ориентированы на конкретные области приложений, такие как производство, телекоммуникации и т. Д. Интерфейсы приложений - это интерфейсы, разработанные специально для данного приложения.

Рисунок 1. Архитектура эталонной модели OMG [Vinoski97]

Брокер запроса объекта (ORB) является ядром архитектуры CORBA. ORB - это центральная объектная шина, где объекты CORBA прозрачно взаимодействуют с другими объектами CORBA, локально или удаленно [Vinoski97]. Он обеспечивает базовую прозрачность обмена сообщениями, связью, каталогом, безопасностью и местоположением и изолирует приложения от деталей об оборудовании, сети и системе. ORB упрощает распределенное программирование, отделяя клиента от деталей вызовов метода. Это делает запросы клиентов кажутся локальными вызовами процедур.

На рисунке 2 показана архитектура ORB CORBA.


Протокол Internet-Inter-ORB (IIOP) был разработан в спецификации CORBA 2.0 в качестве протокола для связи между ORB от разных поставщиков. IIOP является специализацией общего межорганизационного протокола (GIOP) и работает поверх TCP / IP. CORBA полагается на IIOP или другие специализации GIOP для удаленных объектов. Объект CORBA представляет собой объект программирования, который состоит из идентификатора, интерфейса и реализации, который известен как Servant. Слуга - это объект языка программирования реализации, который определяет операции, поддерживающие интерфейс CORBA IDL [Schmidt]. OMG определила язык определения интерфейса (IDL), который объявляет интерфейсы и методы объекта сервера CORBA. Каждый объект CORBA должен быть объявлен в IDL. Компилятор IDL создает окурки и скелеты, которые служат «клеем» между клиентским и серверным приложениями, соответственно, и ORB. Синтаксис CORBA IDL похож на C ++ и включает семантику для множественного наследования через интерфейсы и пользовательские исключения. Когда клиент CORBA запрашивает услугу с объекта сервера CORBA, ORB несет ответственность за: • Найдите реализацию объекта сервера. • Подготовьте объект к запросам. • Дать ссылку на объект обратно на объект клиента. • Общайтесь с запросами на объект сервера. • Возврат результата сервера обратно клиенту.


Взаимодействия выполняются либо интерфейсом ORB, либо через ObjectAdapter (базовый или переносимый объектный адаптер - POA). Интерфейс ORB представляет собой абстрактный интерфейс для ORB, чтобы отделить приложения от деталей реализации. Этот интерфейс предоставляет различные вспомогательные функции, такие как преобразование ссылок на объекты в строки и наоборот и создание списков аргументов для запросов, выполненных через интерфейс динамического вызова (см. Раздел 4 «Вызов объектов»). Адаптер объекта помогает ORB с доставкой запросов к объекту и с активацией объекта. Адаптер объекта связывает реализации объектов с ORB. Адаптеры объектов могут быть специализированы для поддержки определенных стилей реализации объектов (таких как адаптеры объектов OODB для персистентности и адаптеры объектов библиотеки для не-удаленных объектов) [Schmidt]. Для получения дополнительной информации о CORBA см., Например, [CORBA] [CDK01] [Orfali96] [Orfali97] [Orfali98] [Vinoski97].

Рисунок 3: Общая архитектура DCOM [Chung]

1.2. DCOM

Модель распределенных компонентных объектов (DCOM) поддерживает удаленные объекты, работая по протоколу, называемому вызовом удаленных процедур объекта (ORPC) [Raj]. ORPC построен поверх DCE / RPC и взаимодействует со службами времени выполнения в COM. На рисунке 3 показана общая архитектура DCOM [Chung].

COM использует таблицы переменных процедуры (таблицы отправки), содержащие указатели на функции, представляющие интерфейсы. Этот макет памяти соответствует виртуальной таблице таблиц C ++ (vtable) и используется для статического вызова объектов. Объекты сервера DCOM поддерживают несколько интерфейсов, каждый из которых представляет собой другое поведение объекта. Клиент получает указатель на один из интерфейсов сервера, а затем начинает вызывать открытые методы сервера через указатель интерфейса, как если бы объект находился в адресном пространстве клиента.

Выпущенная вслед за Windows 98 операционная система Windows Me ( windowsme) продолжала линию Windows 9x и имела много новых возможностей: средства восстановления информации после сбоев, улучшенные возможности работы с мультимедиа и ряд других.

Параллельно с Windows 9x, начиная с 1993 года, выпускалась корпоративная операционная система Windows NT (NT - New Technology (Новая технология)), которая с самого начала проектировалась с учетом всех требований, предъявляемых к современным операционным системам: расширяемости, переносимости, надежности, совместимости, производительности. Эти свойства были достигнуты за счет применения передовых технологий структурного проектирования, таких как клиент-сервер, микроядра, объекты.


В отличие от Windows 9x, в которой реализована многозадачность без вытеснения, в Windows NT используется механизм многозадачности с вытеснением.

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

Windows NT поддерживает существующие файловые системы, включая файловую систему MS-DOS (FAT), файловую систему CD-ROM, файловую систему OS/2 (HPFS) и собственную новую файловую систему (NTFS).

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

Дальнейшая эволюция операционных систем семейства Windows привела к объединению технологии NT с линейкой 9х. В 2000 году появилась операционная система Windows 2000, построенная на технологии NT и вобравшая в себя все лучшие качества Windows 9х. Наиболее важные отличия этой системы от предыдущих заключаются в использовании нового ядра Windows NT, что повысило надежность работы операционной системы с точки зрения корректности выполнения многозадачных приложений, расширило возможности сетевых настроек и позволило использовать файловую систему NTFS (New Technology File System - Файловая система NT), надежность которой подтверждена годами использования на серверных платформах.

Прямой наследницей Windows 2000 явилась вышедшая в 2002 году операционная система Windows XP (eXPerience - опыт) , также созданная на основе технологии NT. Система стала более простой, надежной, безопасной и быстрой.

В Windows XP используется привычный интерфейс Windows, но более простой и «интеллектуальный». Удалены лишние элементы пользовательского интерфейса, а стандартные элементы стали интуитивно понятными. Упрощен механизм поиска информации, ставший при этом более эффективным. Обеспечивается поддержка многих национальных языков. Благодаря использованию новых программ-мастеров, упрощена настройка системы для подключения новых устройств, сетевых соединений и т.д. Имеются эффективные, встроенные в систему инструменты для работы в Интернете, которые ускоряют навигацию и поиск информации в WWW, позволяют передавать мгновенные текстовые сообщения, общаться в режиме реального времени посредством передачи звука и видео.