73188

Интеграция и взаимодействие в сети Веб

Лекция

Информатика, кибернетика и программирование

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

Русский

2014-12-05

43.55 KB

1 чел.

Лекция 2

Интеграция и взаимодействие в сети Веб

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

Практикуются следующие подходы к веб-интеграции:

  1.  Интеграция на уровне представления. Данный уровень позволяет пользователю взаимодействовать с приложением. Интеграция на уровне представления дает доступ к пользовательскому интерфейсу удаленных приложений.
  2.  Интеграция на уровне функциональности. Данная интеграция подразумевает обеспечение прямого доступа к бизнес-логике приложений. Это достигается непосредственным взаимодействием приложений с API (программному интерфейсу приложений) или же взаимодействием посредством веб-сервисов.
  3.  Интеграция на уровне данных. В данном случае предполагается доступ к одной или нескольким базам данных, используемых удаленным приложением.
  4.  Комплексная интеграция. Коммерческие решения по веб-интеграции, как правило, включают все три типа интеграции

Использование веб-интеграции выгодно по многим причинам:

  1.  Веб-интеграция позволяет развертывать информационные системы на базе сторонних приложений без необходимости разбираться в их родительских системах, программных средах и архитектурах баз данных.
  2.  SOA и веб-сервисы используют программный язык и платформо-независимые интерфейсы между приложениями корпоративной инфраструктуры ИТ. Это дает очевидные преимущества в поддержке, управляемости, развертывании информационных сетей.
  3.  Веб-интеграция позволяет конструировать комплексную функциональность, комбинируя разнородные компоненты посредством протоколов веб-сервисов.
  4.  Веб-интеграция позволяет использовать веб-сервисы разработчиков.
  5.  Веб-интеграция позволяет развивать программные интерфейсы приложений через протоколы веб-сервисов без программирования.

Для веб-интеграции обычно используется коммерческое ПО или популярные технологии, такие как PHP/Python/Perl, XForms, SOAPи т.д.

Интеграция на основе XML

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

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

Такое решение сразу же намного упрощает проект. Вместо реализации взаимодействия между каждой парой систем следует всего лишь научить каждую из них "говорить" на XML языке. Иначе говоря, все сводится к разработке нескольких врапперов (wrapper - упаковщик, программное средство создания системной оболочки для стандартизации внешних обращений и изменения функциональной ориентации действующей системы), которые будут переводить со стандартного XML-языка интегрированной системы на язык, понятный каждой системе в отдельности.

  1.  средства разработки и стандартные библиотеки для XML существуют практически на всех платформах и для большинства популярных языков программирования;
  2.  методы работы с XML достаточно стандартны для того, чтобы в разных системах можно было пользоваться одинаковыми приемами;
  3.  информация, оформленная в виде XML, может обрабатываться не только машинами, но и человеком (что намного облегчает отладку).

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

  1.  XML языки не зависят от аппаратных и программных платформ, что позволяет связывать разнородные системы;
  2.  выразительная мощность XML достаточно велика для того, чтобы описать данные практически любой сложности;

Интеграция на основе XML практически реализуется в рамках протоколов:

  1.  XML-RPC. Это протокол удаленного вызова процедур с передачей данных в формате XML через TCP-порт 80, т.е. HTTP -порт.
  2.  WDDX (Web Distributed Exchange). Представляет собой механизм обмена сложными структурами данных по протоколу HTTP. Протокол базируется не на структурах, а на событиях.
  3.  ebXML (electronic buisiness XML) – XML для электронного бизнеса. Основное назначение – предоставление открытой XML-инфраструктуры, обеспечивающей безопасное глобальное использование информации электронного бизнеса.
  4.  Веб-сервисы (веб-службы).

Веб-сервисы

Веб-сервис (web service) — программная система, имеющая идентификатор URI, и общедоступные интерфейсы которой определены на языке XML. Описание этой программной системы может быть найдено другими приложениями, которые могут взаимодействовать с ней в соответствии с этим описанием посредством сообщений, основанных на XML, и передаваемых с помощью интернет-протоколов. Веб-служба является единицей модульности при использовании сервис-ориентированной архитектуры приложения.

Сервис-ориентированная архитектура (SOAservice-orientedarchitecture) — модульный подход к разработке программного обеспечения, основанный на использовании сервисов со стандартизированными интерфейсами.

В основе SOA лежат принципы многократного использования функциональных элементов ИТ, унификации типовых операционных процессов . Компоненты программы могут быть распределены по разным узлам сети, и предлагаются как независимые и слабо связанные, заменяемые сервисы-приложения.

Интерфейс компонентов SОА-программы осуществляет инкапсуляцию деталей реализации конкретного компонента (ОС, языка программирования и т. п).

SOA хорошо зарекомендовала себя при построении крупных корпоративных программных систем. Целый ряд разработчиков и интеграторов предлагают инструменты и решения на основе SOA (например, платформы Microsoft .NET , IBM WebSphere, SAPNetWeaver, Diasoft и др.).

Веб-сервисы .NET имеют следующие достоинства:

  1.  Открытость стандартов. В веб-сервисах отсутствуют какие-либо скрытые или недоступные элементы. Каждый аспект технологии, от способа поиска веб-сервисы до ее описания и организации связи с ней, определен общедоступными стандартами.
  2.  Межплатформенность. Язык программирования, который позволяет создавать XML-документы и отправлять информацию посредством HTTP, позволяет взаимодействовать с любым веб-сервисом. Можно получать веб-услугу из системы, отличной от .NET.
  3.  Простота.
  4.  Поддержка сообщений на понятном человеку языке. Переход от двоичных стандартов, применяемых в СОМ и CORBA, к XML-тексту позволил упростить исправление ошибок и обеспечил возможность осуществлять взаимодействие с веб-сервисами по обычным каналам HTTP.

Реализация веб-сервисов .NET осуществляется так же просто, как и активизация удаленной веб-сервисы или вызов методалокального класса. Это достигается за счет применения инструментов, предоставляемых системой .NET Framework, которые позволяют создать полноценный веб-сервис, без необходимости изучения деталей работы таких стандартов, как SOAPWSDL иUDDI. При этом выполняются следующие действия:

  1.  Веб-сервис разрабатывается как .NET-класс с атрибутами, которые идентифицируют его как веб-сервис с некоторыми функциями.
  2.  В среде .NET автоматически создается документ WSDL, где описывается, как клиент должен взаимодействовать с веб-сервисом.
  3.  Потребитель находит созданный веб-сервис и может добавить соответствующую веб-ссылку в проект Visual Studio .NET.
  4.  В среде .NET осуществляется автоматическая проверка документа WSDL и генерируется прокси-класс, который позволяет потребителю взаимодействовать с веб-сервисом.
  5.  Потребитель вызывает один из методов вашего класса веб-сервиса. С его точки зрения этот вызов внешне ничем не отличается от вызова метода любого другого класса, хотя взаимодействие происходит на самом деле с прокси-классом, а не с веб-сервисом.
  6.  Прокси-класс преобразует, переданные параметры в сообщение SOAP и отправляет его веб-сервису.
  7.  Затем прокси-класс получает SOAP-ответ, преобразует его в соответствующий тип данных и возвращает его как обычный тип данных .NET.
  8.  Потребитель использует полученные данные.

При работе веб-сервисов .NET используется технология ASP .NET, являющаяся частью системы .NET Framework. Она также требует поддержки со стороны сервера Microsoft IIS.

Работа веб-сервисов построена на использовании нескольких открытых стандартов:

  1.  XML - расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных;
  2.  SOAP - протокол обмена сообщениями на базе XML;
  3.  WSDL - язык описания внешних интерфейсов веб-сервисов на базе XML;
  4.  UDDI - универсальный интерфейс распознавания, описания и интеграции (Universal Discovery, Description, and Integration). Каталог веб-сервисов и сведений о компаниях, предоставляющих веб-сервисы во всеобщее пользование или конкретным компаниям.

Спецификация WSDL

Каждый веб-сервис предоставляет документ WSDL (Web Service Description Language - язык описания веб-сервиса), в котором описывается все, что клиенту необходимо для работы с этим сервисом. WSDL-документ предоставляет простой и последовательный способ задания разработчиком синтаксиса вызова любого веб-метода. Более того, этот документ позволяет использовать инструменты автоматического генерирования прокси-классов, подобные включенным в среды VisualStudio .NET и .NET Framework. Благодаря указанным средствам использование веб-сервиса является таким же простым, как и применение локального класса.

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

Протокол SOAP

Связь между веб-сервисами и их клиентами осуществляется посредством сообщений в формате XML.

SOAP (Simple Object Access Protocol - простой протокол доступа к объектам) представляет собой протокол сообщений для выбора веб-сервисов.

Основная идея стандарта SOAP заключается в том, что сообщения должны быть закодированы в стандартизированном XML-формате.

Кроме сообщений SOAP, для обмена данными с сервисами .NET можно использовать методы GET и POST протокола HTTP.

Преимущества применения формата SOAP перед другими форматами для передачи данных:

  1.  Кодировать в XML структуры данных и наборы DataSet с использованием SOAP так же легко, как и данные простых скалярных типов.
  2.  При использовании SOAP-сообщений предоставляются дополнительные инструменты, позволяющие легко добавлять, например, функции обеспечения безопасности или трассировки.
  3.  Имеются наборы инструментов SOAP для различных языков программирования (и даже для предыдущих версий Microsoft C++ и Visual Basic). Иначе, для того чтобы обеспечить связь с сервисом посредством методов GET и POST протокола HTTP, придется, очевидно, самостоятельно конструировать строку запроса, а затем проводить синтаксический анализ ответа.

Стандарт DISCO

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

DISCO-файл может включать файлы различных веб-серверов и поддерживает "динамический поиск" - автоматический поисккаталога файлов веб-сервисов на сервере.

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

Спецификация UDDI

Спецификация UDDI (Universal DescriptionDiscoveryand Integration - универсальное описание, поиск и интеграция) позволяет избежать указанных проблем посредством использования специального хранилища (репозитория), где предприятия и организации могут размещать данные о предоставляемых ими сервисах. Инициаторами создания технологии UDDI стали более 100 компаний (полный список можно найти по адресу http://www.uddi.org/community.html), включая Sun и Microsoft. Объединив свои усилия, эти компании разработали проект спецификации UDDI, которая по истечении 18 месяцев была стандартизирована.

Информация в этом репозитории должна обновляться вручную. С этой целью некоторые "узловые операторы" хранят идентичные копии репозитория UDDI. Эти компании обеспечивают хранение указанного репозитория и бесплатный доступ к нему для популяризации веб-серисов. Кроме того, Майкрософт включила версию UDDI в программное обеспечение сервера Windows .NETдля использования в корпоративных сетях интранета.

В хранилище UDDI содержатся сведения о предприятиях, предоставляющих веб-сервисы, о типе каждого сервиса и связях с информацией и спецификациями, относящимися к этим сервисам. Интерфейс UDDI сам по себе представляет собой веб-сервис. Для регистрации или поиска службы следует отправить SOAP-сообщение.

Главными недостатками веб-сервисов являются меньшая производительность и больший размер сетевого трафика по сравнению с такими технологиями как RMICORBADCOM за счет использования текстовых XML-сообщений.


 

А также другие работы, которые могут Вас заинтересовать

13338. Призначення та будова системи мащення 117.7 KB
  Лабораторна робота №4 Тема : Призначення та будова системи мащення Мета: Ознайомитися практично з призначеннями і схемами Загальні теоретичні відомості Система мащення призначена для подачі масла до деталей що труться часткового їх охолодження і видалення прод...
13339. Призначення і будова карбюратора 174.04 KB
  Лабораторна робота № 5 Тема: Призначення і будова карбюратора. Мета: ознайомитися практично з призначеннями і будовою карбюратора. Загальні теоретичні відомості КАРБЮРАТОР складова частина деяких бензинових ДВИГУНІВ ВНУТРІШНЬОГО ЗГОРЯННЯ що служить для випару ...
13340. Призначення та будова системи живлення дизельних двигунів 219.9 KB
  Лабораторна робота №6 Тема : Призначення та будова системи живлення дизельних двигунів. Мета: Ознайомитися практично з призначеннями і схемами системами живлення дизельних двигунів. Загальні теоретичні відомості У сучасних дизельних двигунів у тому числі й у всі...
13341. Призначення та будова системи електрообладнання 823.15 KB
  Лабораторна робота №7 Тема : Призначення та будова системи електрообладнання. Мета: Ознайомитися практично з призначеннями і схемами електрообладнанням. Загальні теоретичні відомості Джерела електричної енергії Акумуляторна батарея слугує для жи
13342. Призначення та будова коробки передач 240.57 KB
  Лабораторна робота №8 Тема : Призначення та будова коробки передач. Мета: Ознайомитися практично з призначеннями і схемами коробок передач. Загальні теоретичні відомості Коробка передач призначається для зміни в широкому діапазоні крутного моменту що передаєть
13343. Призначення та будова системи карданних передач і шарнірів рівних кутових швидкостей 245.74 KB
  Лабораторна робота №9 Тема : Призначення та будова системи карданних передач і шарнірів рівних кутових швидкостей. Мета: Ознайомитися практично з призначеннями і схемами карданних передач і шарнірів рівних кутових швидкостей. Загальні теоретичні відомості Карда
13344. Призначення та будова системи головних передач і диференціалів 217.43 KB
  Лабораторна робота №10 Тема : Призначення та будова системи головних передач і диференціалів. Мета: Ознайомитися практично з призначеннями і схемами головних передач і диференціалів. Загальні теоретичні відомості Головна передача слугує для збільшення крутного м...
13345. Призначення та будовою рульового керування 420.92 KB
  Лабораторна робота №6 Тема : Призначення та будовою рульового керування. Мета: Ознайомитися практично з призначеннями і видами рульового керування Рульове керування призначається для зміни напряму руху автомобіля повертанням передніх керованих коліс і складаєтьс...
13346. Призначення та будова гальмових систем 165.42 KB
  Лабораторна робота №7 Тема : Призначення та будова гальмових систем. Мета: Ознайомитися практично з призначеннями і схемами різних типів гальм. Загальні теоретичні відомості Експлуатація будьякого автомобіля допускається лише за умови справності його гальмової...