Технологии интеграции информационных систем на предприятии: OLE, CORBA, Web-решения и др

Автор работы: Пользователь скрыл имя, 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

Работа состоит из  1 файл

Реферат по АСУП.doc

— 365.00 Кб (Скачать документ)

В дальнейшем на базе технологий COM, DCOM, ActiveX и MTS (Microsoft Transaction Server) была создана технология COM+. Из-за того что эта технология не была по настоящему кросс-платформенной  по причине привязанности к продуктам Microsoft (в частности, MTS), был создан протокол SOAP (Simple Object Access Protocol), который позволил компонентам общаться через Internet.

Хотя между  технологиями CORBA и COM/DCOM имеются существенные различия, обе они поддерживают интеграцию компонентов.  И COM/DCOM, и CORBA основываются на собственных языках определения интерфейсов (IDL - Interface Difinition Language). Несмотря на одинаковые названия, эти языки различны и несовместимы. Многие другие разработчики также предлагали свои стандарты для работы с распределенными объектами, но те не получили столь широкого распространения.

К сожалению, технологии, обеспечивающие платформу для создания связующего ПО, не решали всех поставленных задач, т.к. не были универсальными и  требовали дополнительных усилий для  взаимной интеграции. Различные форматы передачи сообщений и зависимость от платформы (в случае с COM+) ограничивали развитие распределенных систем. Но все это не столь важно в сравнении с принципиальными проблемами, порождаемыми распределенными системами - одни и те же сущности по-разному понимаются и представляются различными частями распределенной системы. Таким образом, переход к распределенной системе требует наличия неких общепринятых определений. Решением всех этих проблем стал язык XML. 

OLE

Обзор

Из статьи Вы узнаете основные сведения об OLE, некоторые вещи относительно OLE 2 и OLE Automation. В статье рассказывается об использовании объекта TOLEContainer для построения OLE приложения в Delphi.

Основы OLE

Прежде, чем перейти  к рассмотрению основ OLE, потребуется  изучить терминологию.

Аббревиатура OLE обозначает Objects Linked and Embedded (Присоединенные И Встроенные Объекты - ПИВО J). Данные, разделяемые между приложениями называются OLE объектом. Приложение, которое  может содержать OLE объекты, называют OLE контейнером (OLE Container). Приложение, данные из которого можно включить в OLE контейнер в виде OLE объекта, называют OLE сервером.  

Например, MicroSoft Word может включать в документ графические  объекты, аудио- и видеоклипы и множество  других объектов (такой документ иногда называют составным документом - compound document).  

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

OLE является дальнейшим  развитием идеи разделяемых между  приложениями данных. Если с помощью  DDE можно было работать с текстом, то OLE позволяет легко встроить в приложение обработку любых типов данных. Как и в случае с DDE, для правильной работы приложения-клиента (OLE контейнера) требуется наличие приложения OLE сервера. Каждый раз, когда в программе-клиенте пользователь обращается к OLE объекту с целью просмотра или редактирования данных (обычно двойной щелчок мышкой на объекте), запускается приложение-сервер, в котором и происходит работа с данными.

В природе существует несколько видов OLE, отличающихся по способу активации OLE сервера. OLE версии 1 запускает сервер в отдельном окне. OLE 2 реализует то, что называется in-place activation and editing. В данном случае сервер запускается "внутри" приложения-клиента, модифицирует вид системного меню, линейки инструментов и др. Развитие идеи OLE привело к появлению OLE automation - приложение-клиент может выполнить часть кода сервера. Тип OLE объекта, помещенного в программу-клиент, определяется тем, какую версию OLE поддерживает сервер.

Объект TOLEContainer

Объект TOLEContainer находится на странице System Палитры  Компонент и нужен для создания приложений OLE-контейнеров. TOLEContainer скрывает все сложности, связанные с внутренней организацией OLE и предоставляет  программисту достаточно простой интерфейс. Построим простейшее приложение с использованием OLE объекта. Создайте новый проект и поместите на форму TOLEContainer, в Инспекторе Объектов дважды щелкните мышкой на свойство ObjClass или ObjDoc - появится стандартный диалог Windows "Insert Object" (см. рис.1)

Рис.: Стандартный диалог Windows для определения OLE объекта.

В этом диалоге  есть список всех зарегистрированных в системе OLE-серверов (регистрация  происходит при инсталляции программы). Тип OLE-объекта определяется как  раз тем сервером, который Вы укажете. Если Вы создаете новый объект (Create New), то при нажатии кнопки OK запустится программа OLE-сервер, в которой и формируется новый объект. После выхода из программы-сервера новый OLE объект включается (embedded object) в программу. OLE объект можно создать используя уже имеющийся файл в формате одного из OLE-серверов. Для этого нужно выбрать пункт Create from File (см. рис.2)

Рис.: Выбор OLE-объекта, хранящегося в файле.

Выбранный объект можно как включить в приложение, так и присоединить, отметив пункт Link.  

Итак, давайте  при создании нашего проекта создадим новый объект, выбрав для этого, например, Microsoft Word Document (рис.1). Нажмите OK и после  того, как запустится MS Word, наберите там любой текст ("Это OLE-объект Microsoft Word document"). Для завершения работы в меню есть специальный пункт "File|Close and Return to Form1" (Win'95+MS Word 7.0). Запустите проект, он будет выглядеть примерно так:

 

Рис.: Простое  приложение с OLE-контейнером. 

Щелкните дважды мышкой на OLE-контейнер - запустится MS Word с документом из OLE-объекта, который можно редактировать, при этом все изменения сохраняются в OLE-объекте.

!!! Если во  время дизайна Вы выбираете  объект для включения в OLE-контейнер,  то он полностью записывается  в файл формы (FORM1.DFM) и в дальнейшем прикомпилируется к EXE файлу. В случае очень больших объектов это может привести во время дизайна к длительным паузам и даже к возникновению ошибки "Out of resource". Поэтому рекомендуется большие объекты делать присоединенными (linked).

TOLEContainer позволяет  отображать в программе объект  в его непосредственном виде (с  различной степенью увеличения  или уменьшения - свойство Zoom) или  в виде пиктограммы, определяемой  в диалоге на рис.1 (Display as Icon).

Выбор OLE-объекта  может происходить не только во время дизайна, но и во время выполнения программы (об этом чуть ниже). Результаты работы с этим объектом можно сохранить в виде файла и в следующий раз восстановить его оттуда, для этого TOLEContainer имеет два метода SaveToFile и LoadFromFile.

Пример OLE приложения

Среди демонстрационных примеров, входящих в Delphi есть два, относящихся  к работе с OLE-объектами (в директориях X:\DELPHI\DEMOS\OLE2 и X:\DELPHI\DEMOS\DOC\OLE2). Более полным является второй, который, кроме всего  прочего является примером построения MDI приложения. Данная программа демонстрирует все основные возможности TOLEContainer и позволяет:

создавать новый OLE контейнер во время выполнения программы;

инициализировать OLE объект либо в стандартном диалоге Windows "Insert Object", либо с помощью Clipboard, либо с помощью техники "перенести и бросить" (drag-and-drop);

сохранить OLE объект в файле и восстановить его  оттуда;

Рис.4: MDI OLE приложение.

На рис.4 показан  пример MDI приложения, содержащий два  дочерних окна с OLE объектами. Для создания нового OLE объекта нужно выбрать  пункт меню File|New и далее Edit|Insert Object. Появится стандартный диалог Windows для  инициализации OLE объекта (см. рис.1). Если приложение OLE-сервер имеет возможность сохранять информацию об OLE объекте в Clipboard, то проинициализировать объект можно с помощью пункта меню Edit|Paste Special.

Достаточно интересной является возможность применения техники drag-and-drop в применении к OLE объектам. Запустите MS Word (разместите его окно так, чтобы было видно и OLE приложение), наберите какой-нибудь текст, выделите его и с помощью мышки перетащите и бросьте на главное MDI окно приложения. Появится новое дочернее окно с OLE контейнером, содержащим этот текст. Программирование данной возможности достаточно сложно. Полное описание технологии построения данного OLE приложения есть в документации в коробке с Delphi (User's guide), этому посвящена отдельная глава.

Сохранение OLE объекта в базе данных

Иногда необходимо хранить OLE объекты не в файлах, а в базе данных (BLOB поле в таблице). Конечно, в данном случае OLE объект должен быть присоединенным (embedded) в целях переносимости. К сожалению, в стандартной поставке Delphi нет специального объекта типа TDBOLEContainer для данных целей, но OLE объект можно сохранять и восстанавливать с помощью методов SaveToStream и LoadFromStream. Например:

procedure TOLEForm.SaveOLE(Sender: TObject);

var

  BlSt : TBlobStream;

begin

  With Table1 do

    BlSt:=TBlobStream.Create(BlobField(FieldByName('OLE')),

                    bmReadWrite);

  OLEContainer.SaveToStream(BlSt as TStream);

  BlSt.Free;

Рис.4: MDI OLE приложение.  

На рис. показан пример MDI приложения, содержащий два дочерних окна с OLE объектами. Для создания нового OLE объекта нужно выбрать пункт меню File|New и далее Edit|Insert Object. Появится стандартный диалог Windows для инициализации OLE объекта (см. рис.1). Если приложение OLE-сервер имеет возможность сохранять информацию об OLE объекте в Clipboard, то проинициализировать объект можно с помощью пункта меню Edit|Paste Special.

Достаточно интересной является возможность применения техники drag-and-drop в применении к OLE объектам. Запустите MS Word (разместите его окно так, чтобы было видно и OLE приложение), наберите какой-нибудь текст, выделите его и с помощью мышки перетащите и бросьте на главное MDI окно приложения. Появится новое дочернее окно с OLE контейнером, содержащим этот текст. Программирование данной возможности достаточно сложно. Полное описание технологии построения данного OLE приложения есть в документации в коробке с Delphi (User's guide), этому посвящена отдельная глава.

Сохранение OLE объекта в базе данных

Иногда необходимо хранить OLE объекты не в файлах, а  в базе данных (BLOB поле в таблице). Конечно, в данном случае OLE объект должен быть присоединенным (embedded) в целях переносимости. К сожалению, в стандартной поставке Delphi нет специального объекта типа TDBOLEContainer для данных целей, но OLE объект можно сохранять и восстанавливать с помощью методов SaveToStream и LoadFromStream. Например:

procedure TOLEForm.SaveOLE(Sender: TObject);

var

  BlSt : TBlobStream;

begin

  With Table1 do

    BlSt:=TBlobStream.Create(BlobField(FieldByName('OLE')),

                    bmReadWrite);

  OLEContainer.SaveToStream(BlSt as TStream);

  BlSt.Free;

end; end;

Интеграция в Web.

Параллельно с  развитием средств автоматизации  бизнес-процессов на базе традиционных приложений, шло бурное развитие электронной  коммерции. Со временем электронная  коммерция сама по себе стала эффективным средством ведения бизнеса, и понятие web-приложения ушло от обычного web-сайта, сместившись по своей функциональности в область привычных «классических» приложений. С той лишь разницей, что web-приложения исторически и по самой своей сути удовлетворяют принципам многоуровневой архитектуры - разделения хранилища информации, бизнес-логики и представления данных, а средства оформления интерактивных пользовательских сред, доступные web-разработчикам, уже давно и по возможностям, и, самое главное, по дешевизне разработки превосходят средства, доступные в обычных настольных приложениях. Причем все клиенты обладают лишь самым необходимым средством отображения - браузером. Фактически, отображение посредством браузера (и все связанные с этим принципы организации приложения) и является основной чертой, по которой мы можем отличить web-приложение. Развитие средств интернет-коммерции естественным образом потребовало создания средств коммуникации между web-приложениями. То есть с этого момента развитие web-технологий влилось в общее русло развития индустрии IT, столкнувшись с проблемами интеграции, перед которыми стояла и вся индустрия в целом. И именно типичный для web-технологий (под web-технологиями в данном случае я понимаю технологии, выросшие из гипертекста) подход в итоге привел к созданию web-сервисов, которые являются универсальным решением для интеграции гетерогенных сред. Ниже мы более подробно рассмотрим технологии интеграции на базе web, которые получают все большее распространение.

XML

Датой рождения XML принято считать 1998 год, когда консорциумом W3C была утверждена соответствующая спецификация. Однако, идеи, заложенные в XML, не были новы. Технология XML основывается на языке SGML (Standart Generalized Murkup Language - Стандартный обобщенный язык разметки), который, фактически, представляет собой мета-язык для написания языков разметки. Из-за своей сложности данный язык не получил широкого распространения, однако он сыграл не последнюю роль в развитии web-технологий. Именно на SGML был основан всем известный язык разметки HTML. Но необходимо было существенно расширить возможности HTML, не впадая в крайность SGML. Простым увеличением числа стандартных тегов данную проблему решить было не возможно. Единственным разумным решением этой задачи стало использование концепции иерархически-структурированных самописательных документов, что и было реализовано в рамках XML. На данный момент XML чаще понимается не как конкретный язык разметки, а как совокупность технологий работы со структурированными данными, которые способны стать неким общим знаменателем для представления данных в распределенных системах. В состав этого набора входят такие технологии, как, собственно, язык XML, XSLT – язык, определяющий способы представления элементов XML-документа, XML Schema – возможность формального описания элементов XML-документа с целью верификации на соответствие некоторому шаблону, XPath, используемый для адресации элементов XML-документа, SOAP (Simple Object Access Protocol), используемый как транспортный уровень распределенных систем на основе сервисов, WSDL - язык описания web-сервисов и др. Все эти технологии были созданы как ответ на возникшую необходимость в едином стандарте описания данных, передаваемых между частями разнородных систем. Эти технологии стали своеобразным каркасом, на котором может быть основано взаимодействие в распределенных системах. Собственно, именно так XML-технологии и используются - в качестве оболочек программ среднего уровня для преодоления противоречий, созданных стремлением к распределенным вычислениям и, в то же время, отсутствием универсальных технологий построения распределенных систем. В силу специфики своего появления и изначального предназначения, XML еще теснее связал web-технологии с традиционными приложениями, обеспечив достаточные средства для коммуникации различных сред и предоставив необходимый базис для интеграции приложений предприятия (Enterprise Application Integration). Если говорить упрощенно, то XML как надстройка над ПО среднего уровня помимо собственно коммуникации между элементами распределенных систем, значительно упрощает представление благодаря естественной интеграции с web-приложениями. То есть браузер становится необходимым и достаточным средством отображения, а XML - связующим звеном между web-приложениями и иными распределенными системами.

Информация о работе Технологии интеграции информационных систем на предприятии: OLE, CORBA, Web-решения и др