Автор работы: Пользователь скрыл имя, 18 Января 2011 в 20:17, курсовая работа
Совершенствование многих решений в области информационной поддержки бизнеса идет рука об руку с развитием самой области высоких технологий. Уже давно бизнес не просто использует достижения IT, но и во многом определяет направление развития этой индустрии. Возможность быстрой обработки огромных массивов данных и доступность информации являются важнейшими факторами, определившими стремление бизнеса освоить новые технологии, предоставляющие столь существенные конкурентные преимущества тем, кто не поскупился на инвестиции в них.
1.Введение ……………………………………………………………………………………..3
2.Взаимодействие подсистем………………………………………………………………….4
3.Основные стандарты поддержки промежуточного программного слоя OMG OMA.….5
4.Технология CORBA…………………………………………………………………………5
5.Object Management Architecture……………………………………………………………..8
6.Object Request Broker…………………………………………………………………….….8
7.Microsoft DCOM/COM+…………………………………………………………………….11
8.OLE……………………………………………………………………………………….…..13
9.Интеграция в Web……………………………………………………………………………18
10.XML…………………………………………………………………………………….…….18
11.Web сервисы…………………………………………………………………………………..19
12.Web – система хранения данных……………………………………………………………20
13.Классификация технологий интеграции ………………………………………………….22
14.Microsoft.NET как платформа интеграции…………………………………………………29
15.Список использованных источников сети Internet……………………………………….30
Структура CORBA IDL файла выглядит следующим образом:
module <identifier> {
<type declarations>;
<constant declarations>;
<exception declarations>;
interface <identifier> [:<inheritance>] {
<type declarations>;
<constant declarations>;
<attribute declarations>;
<exception declarations>;
[<op_type>]<identifier>(<
[raises exception] [context]
.
.
[<op_type>]<identifier>(<
[raises exception] [context]
.
.
}
interface <identifier> [:<inheritance>]
.
.
}
Репозитарий Интерфейсов (Interface Repositary), содержащий определения интерфейсов на IDL, позволяет видеть интерфейсы доступных серверов в сети и программировать их использование в программах-клиентах.
Object Management Architecture
Осенью 1990 года OMG впервые опубликовала документ Object Management Architecture Guide (OMA Guide). Он был подкорректирован в сентябре 1992. Детали Common Facilities (Общие средства) были добавлены в январе 1995. Следующий рисунок показывает четыре основные элемента этой архитектуры:
Рисунок 6: OMG's Object Management Architecture
Object Request Broker определяет объектную шину CORBA.
Common Object Services представляют
собой коллекцию служб,
Common Facilities образуют
набор классов и объектов, поддерживающих
полезные во многих прикладных
системах функции. Прикладные
объекты представляют
Application Objects -- это
прикладные бизнес-объекты и
Object Request Broker
ORB (Object Request Broker,
то есть брокер объектных запросов) -- это
объектная шина. Она позволяет объектам
напрямую производить и отвечать на запросы
других объектов, расположенных как локально
(на одном компьютере, но в разных процессах),
так и удаленно. Клиента не интересуют
коммуникационные и другие механизмы,
с помощью которых происходит взаимодействие
между объектами, вызов и хранение серверных
компонент. CORBA-спецификации затрагивают
лишь IDL, отображение в другие языки, APIs
для взаимодействия с ORB и сервисы, предоставляемые
ORB.
CORBA ORB предоставляет широкий набор распределенных middleware услуг. Шина ORB позволяет объектам находить друг друга прямо в процессе работы и вызывать друг у друга различные службы. Она является гораздо более тонкой системой, чем другие клиент/сервер middleware-системы, такие как RPC (Remote Procedure Calls) или MOM (Message-Oriented Middleware).
От RPC к ORB
Чем механизм вызовов CORBA отличается от механизма RPC? Да, эти механизмы похожи, но тем не менее между ними есть серьезные различия [5]. С помощью RPC можно вызвать определенную функцию. А с помощью ORB можно вызвать метод у определенного объекта. Разные объекты классов могут по-разному отвечать на вызов одного и того же метода. Так как каждый объект управляет своей собственной (в добавок личной) информацией, то метод будет вызван на сугубо конкретных данных.
В случае RPC, будет выполнен лишь какой-то конкретный кусок кода сервера, который и взаимодействует с данными сервера. Все функции с одинаковыми именами будут выполнены абсолютно одинаково. В RPC отсутствует конкретизация вызовов, в том смысле, в каком это происходит в ORB. В ORB все вызовы функций происходят к конкретным объектам, тем самым, результаты этих функций могут быть совершенно различны. Вызовы функций обрабатываются в специфичной для каждого отдельного объекта форме.
Достоинства ORB
В теории, CORBA представляется как лучшая клиент/сервер middleware-система, но на практике она хороша лишь настолько, насколько хороши продукты, ее реализующие. К основным коммерческим ORB относятся: Orbix от фирмы IONA Technologies; DSOM от IBM; ObjectBroker от Digital; JOE от Sun; Visibroker от Visigenic и Netscape; ORB+ от HP.
Небольшой список тех выгод, которыми обладает каждая CORBA ORB [5]:
Статические и динамические вызовы методов. CORBA ORB предоставляет возможность либо статически определить вызовы методов прямо во время компиляции, либо находить их динамически, но уже во время работы программы.
Отображение в языки высокого уровня. CORBA ORB позволяет вызывать методы у серверных компонент используя любой из некоторого списка языков высокого уровня -- C, C++, SmallTalk, Java и Ada. Совершенно неважно, на каком языке написаны объекты. CORBA отделяет интерфейсы от реализации и предоставляет языково-независимые типы данных, что позволяет осуществлять вызов методов, минуя границы какого-то конкретного языка программирования и конкретной операционной системы.
Само-описывающаяся система. С помощью своих метаданных, CORBA позволяет описывать интерфейс любого сервера, известного системе. Каждая CORBA ORB должна поддерживать Репозитарий Интерфейсов, который хранит необходимую информацию, описывающую синтаксис интерфейсов, поддерживаемых серверами. В своей работе клиенты используют эти метаданные для осуществления вызовов к серверам.
Прозрачность. ORB может выполняться как сам по себе (например на портативном компьютере), так и в окружении целого мира других ORB, с которыми она взаимодействует путем CORBA 2.0 IIOP (Internet Inter-ORB Protocol) протокола. ORB может осуществлять меж-объектное взаимодействие и для одного процесса, и для нескольких процессов, выполняющихся на одной машине, и для процессов, чье выполнение происходит в сети, под разными операционными системами. Реализация этих взаимодействий, однако, нисколько не затрагивает сами объекты. В общих чертах, при использовании технологии CORBA, разработчик не должен беспокоиться ни о таких вещах как расположение серверов, запуск (активирование) объектов, выравнивание размера переменных в зависимости от платформы и операционной системы, ни и о том, как осуществляется передача сообщений. Решение всех этих задач берет на себя продукт, поддерживающий стандарт CORBA.
Встроенная безопасность.
Все свои запросы ORB дополняет некоторой
контекстной информацией
Полиморфизм при вызове методов. Как уже говорилось, ORB не просто вызывает удаленный метод -- ORB вызывает метод на удаленном объекте. То есть выполнение одних и тех же функций на разных объектах будет приводить к различным действиям, в зависимости от типа объекта.
Object Services
CORBA Object Services представляет
собой набор сервисов
К сожалению, практически все коммерческие ORB не поддерживают ни один из сервисов, и лишь немногие (Visibroker) -- один, два.
Common Facilities
Common Facilities (общие
средства) заполняют пространство
между ORB и объектными службами
с одной стороны, и
Общие средства делятся на горизонтальные и вертикальные. К горизонтальным сервисам относятся такие общие сервисы, как, например, управление информацией, задачами, всей системой, то есть средства, не зависящие от конкретных прикладных систем. К вертикальным же относятся сервисы, специфичные для какой-либо деятельности -- например, медицина, финансы.
Application Objects
Объекты, если они
участвуют в обмене с ORB, должны определятся
с помощью IDL. Обычно приложения состоят
из нескольких взаимодействующих бизнес-объектов.
И, как правило, приложения-объекты строятся
поверх предоставляемых ORB, Common Facilities и
Object Facilities сервисов. Суть для заказчиков
(или системных интеграторов) заключается
в том, чтобы собрать разные бизнес-объекты
в одну систему, при том, вне зависимости
от производителя.
CORBA - наиболее
развитая на сегодняшний день
объектная технология
CORBA включает в себя простой язык описания интерфейсов объектов - IDL (Interface Definition Language), что позволяет отделять описания интерфейсов от их реализации и обертывать в CORBA существующие приложения. Также следует сказать, что любой компонент может быть как клиентом, так и сервером одновременно. Можно вызывать методы объектов, расположенных в этой же программе (напр. в параллельном потоке (thread)), в программе на этом же хосте в Сети, на любом хосте или устройстве в Сети (напр. в сотовом телефоне или автомобиле). Вообще, чтобы вызывать методы удаленного объекта, нужно иметь как минимум описание его на IDL и так называемую объектную ссылку на него.
Практически, для создания распределенных компонентов при программировании в CORBA выполняются обычно как минимум следующие шаги:
Microsoft DCOM/COM+
Модель распределенных объектов DCOM (Distributed Component Object Model) - это объектное связующее ПО, предложенное корпорацией Microsoft. Оно было разработано на основе созданных ранее и весьма популярных технологий этой компании - OLE (Object Linking and Embedding), COM и ActiveX. Технология объектной компоновки увидела свет в конце 80-х годов и первоначально предназначалась для поддержки широко известной ныне прикладной модели, ориентированной на данные и строящейся на базе составных документов. В начале 90-х годов вышла редакция OLE 2.0, в которой была представлена модель объектов-компонентов (Component Object Model, COM). Эта редакция вскоре стала именоваться просто OLE и в конечном итоге включила в себя широкий спектр технологий, реализуемых поверх COM.
В рамках модели COM был предложен стандарт двоичного интерфейса, позволившего организовывать службы (в виде динамически компонуемых библиотек или приложений) на разных языках программирования. Однако возможности этой модели существенно ограничивались тем, что она не поддерживала распределенные среды. В модели DCOM этот недостаток устранен: клиентам разрешено обращаться к имеющимся службам с удаленных компьютеров через сеть.
Модель DCOM изначально
разрабатывалась с целью
Другое расхождение
с классическими объектно-
Узел-клиент может запросить объект DCOM (используя стандартные методы интерфейсов, реализуемые всеми объектами DCOM) через какой-либо конкретный интерфейс, идентифицируемый уникальным номером (UUID). Интерфейс считается постоянным: после того как он опубликован, его не разрешается изменять. Добавление новых функций в объект DCOM может производиться только путем создания новых интерфейсов.