Архив номеров
Форум
Контакты

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

С ТОГО МОМЕНТА, КАК ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ ПЕРЕСТАЛИ БЫТЬ ПРЕРОГАТИВОЙ ИСКЛЮЧИТЕЛЬНО УЧЕНЫХ И ВОЕННЫХ, БИЗНЕС СТРЕМИТСЯ КО ВСЕ БОЛЕЕ ЭФФЕКТИВНОМУ ИХ ИСПОЛЬЗОВАНИЮ.

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

Основная сложность построения многослойных систем заключается в разнообразии платформ реализации различных слоев. Причем, в силу все того же многообразия языков программирования и операционных сред, речь не может идти о создании какого-то обобщенного и строго структурированного стандарта коммуникации между клиентскими приложениями и службами среднего слоя, лежащими между пользователем и данными и обеспечивающими логику работы с информацией. Таким образом, когда программисты осознали тот факт, что развитие многослойных систем требует создания некоей абстрактной концепции коммуникации, необходимой для преодоления границ платформ, машин и языков реализации, ими были предложены стандарты, послужившие основанием для связующего ПО. Первой такой технологией, получившей широкое распространение, стала технология удаленного вызова процедур RPC (Remote Procedure Call). Необходимо напомнить, что успехи в развитии средств построения больших систем практически полностью коррелируют с историей развития ОО-подхода в разработке и проектировании. Именно поэтому решения в области распределенных вычислений на практике являются решениями в области удаленного взаимодействия объектов. То есть развитие распределенных вычислений происходит в русле объектно-ориентированных и компонентно-ориентированных концепций (ключевая разница между ООП и КОП в том, что объектно-ориентированный подход акцентируется на сокращении стоимости разработки за счет повторного использования кода, а компонентно-ориентированный подход нацелен на совместимость компонентов в отрыве от их реализации). В общем, так как объектно-ориентированные языки со временем стали доминировать на рынке, то распределенное связующее ПО все более смещалось в область ОО-семантики. Именно успеху ОО-технологий мы обязаны обсуждением распределенных вычислений в терминах «интерфейсов» и «компонентов».

Компания Microsoft, в начале 90-х годов развивавшая концепцию OLE (Object Linking and Embedding), раньше других осознала необходимость в стандартном механизме пакетирования компонентов. Результатом этого стала технология COM (Component Object Model), реализующая инфраструктуру для построения OLE. Эта технология позволила выйти за границы языков программирования, т.е. использовать функционал компонентов, написанных на одном языке, в компонентах, написанных на другом. Со временем эта технология была дополнена RPC, что сделало компоненты COM распределенными. Она получила название DCOM (Distributed COM). В дальнейшем на базе технологий COM, DCOM, ActiveX и MTS (Microsoft Transaction Server) была создана технология COM+. Из-за того что эта технология не была по настоящему кросс-платформенной по причине привязанности к продуктам Microsoft (в частности, MTS), был создан протокол SOAP (Simple Object Access Protocol), который позволил компонентам общаться через Internet.

В свою очередь, OMG (Object Management Group) - группа крупных поставщиков ПО и оборудования, собранная для согласованного создания актуальных стандартов архитектуры удаленного доступа - предложила стандарт CORBA (Common Object Request Architecture), который, в общем, определил архитектуру для распределения объектов. Многие производители ПО реализовали спецификации CORBA в своих продуктах связующего ПО.

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

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

WWW

Параллельно с развитием средств автоматизации бизнес-процессов на базе традиционных приложений, шло бурное развитие электронной коммерции. WWW, изначально рассматривавшийся, максимум, как своеобразная доска объявлений, где компания может отметиться сайтом-визиткой, постепенно вбирал в себя все новые функции. Так, расширение возможностей интерактивного взаимодействия между пользователем и сайтом благодаря развитию серверных технологий (CGI), сделало возможным не только оформление бланков заказов путем отправки форм, но и полноценную работу с серверными данными и формирование на их основе динамически-изменяющихся страниц. Со временем электронная коммерция сама по себе стала эффективным средством ведения бизнеса, и понятие 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-приложениями и иными распределенными системами.

Web-cервисы

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

Итак, если говорить кратко, web-сервис - это совокупность открытого интерфейса, кода реализации и служебного ПО, которая позволяет осуществлять обмен данными с веб-сервисом на базе XML-сообщений.

Технология web-сервисов, соответственно, включает в себя как стандарты обмена сообщениями на основе XML (SOAP), так и стандарты описания и публикации самих интерфейсов web-сервисов на базе все того же XML (WSDL, UDDI).

Как уже было сказано, XML, предоставляя собой оболочку над уже существующими системами, обеспечивает высочайший уровень абстракции. Web-сервисы – это шлюзы, через которые могут сообщаться различные по своей реализации и архитектуре приложения. Фактически, web-сервис полностью абстрагируется от реализации, представляя средства для надстройки над любой системой и оставляя лишь понятный и доступный интерфейс. В силу мощи XML-технологий, обобщение данных на базе XML в каждом конкретном случае может быть произведено без каких бы то ни было проблем. Считается, что web-сервис стал существенным шагом на пути от конкретики реализации в сторону абстрагирования. И, благодаря консорциуму W3C и усилиям отдельных поставщиков ПО, уже сложился ряд общепринятых стандартов, обеспечивающих каркас этой технологии.

Основой транспорта данных между web-сервисами стал стандарт SOAP (Simple Object Access Protocol). Он определяет общий формат XML-сообщений для передачи данных и поддерживает два традиционных способа вызова функционала web-сервиса - это RPC и обмен сообщениями, которые на самом деле отличаются идеологией XML-представления типов данных. Обмен сообщениями основывается на XML Schema и не имеет никаких ограничений на структуру сообщения, а RPC основан на формальной структуре сообщений запроса и ответа. Сейчас RPC постепенно вытесняется методикой обмена сообщениями, как более гибкой и не накладывающей на разработчика ограничений. В рамках этого протокола web-сервис идентифицируется своим URI (Uniform Resource Indicator), который, по сути, является псевдонимом вызываемой службы, а в рамках RPC-подхода еще и определяет NS (NameSpace) документа по умолчанию.

Также мы должны быть уверены в том, что наши сообщения будут правильно поняты. Ведь в силу гибкости XML формат сообщений, которые ожидают различные сервисы, может быть совершенно разным. Для этой цели был создан язык WSDL (Wev Services Description Language), который представляет собой типичный XML-подобный язык «под задачу». WSDL-файл содержит полное описание всего того, что можно послать сервису и получить от него в ответ, т.е. для правильного взаимодействия с сервисом обе стороны должны иметь WSDL-файл, который гарантирует, что стороны будут разговаривать на одном языке, строя «грамматически» верные предложения.

Если доступ к web-сервису планируется дать вовне, а не использовать его только для нужд внутрикорпоративной интеграции, то встает вопрос о необходимости публикации данных о нем в рамках какого-нибудь глобального реестра. Эту задачу призван решать, к примеру, проект UDDI (Universal Description, Discovery and Integration), разработанный консорциумом OASIS (www.oasis-open.org), который предоставляет собственные интерфейсы для регистрации и поиска сервисов (подробнее - на www.uddi.org).

Заключение

Как видно, интеграция на базе web-технологий представляется сейчас наиболее перспективным направлением в области развития корпоративных систем, т.к. помимо защиты уже сделанных инвестиций, ставшей возможной благодаря мощи XML-технологий, она предлагает самые современные подходы в области проектирования распределенных систем. А появление таких мощных средств разработки, как Microsoft .NET в совокупности со всем массивом открытых стандартов, делает миграцию на новую систему лишь делом времени.

Сейчас web-приложения предоставляют естественную среду для информационной поддержки бизнес-процессов путем интеграции существующих и разработки новых решений на базе web-сервисов. Слияние web-технологий с другими технологиями распределенных вычислений представляется совершенно естественным и логичным, несмотря на то, что изначально www как гипертекстовая среда развивался несколько обособленно. До сих пор в индустрии не выработано единого мнения относительно идеологии использования web-сервисов: использовать сервисы как основу для построения новых систем, либо как способ интеграции уже существующих. Однако тот факт, что именно сервисы так или иначе лягут в основу интеграции корпоративных систем, не вызывает сомнений.



Обсуждение статьи
Логин:
Пароль:
Регистрации на сервере не требуется. Если у вас есть форумный логин, вы можете использовать его.
Если нету, то вы можете зарегистрироваться на forum.itspecial.ru
Для отправки сообщения введите код, указанный на картинке
Заголовок
Сообщение


Теги: Internet, Web, интеграция


Keywords: zPOSTz zTECHNOLOGYz z10064z
Для Авторов: edit Lock delete Lock

Автор: Insider
Дата: 28.01.2009 11:28:05©


Другие материалы номера
Технологии защиты сети: сегодня и завтра
Кто правит балом: лидеры рынка сетевой безопасности
Дизайн защищенной сети: внедрение систем безопасности в корпоративных сетях
Навесная или интегрированная защита: что лучше?
Контроль доступа в условиях неопределенности
Программная защита сети, аппаратная защита сети
Безопасная мобильность: 10 шагов к защищенной точке беспроводного доступа
Безопасный маршрут: 10 шагов к защищенному маршрутизатору
АнтиDoS: защита от DoS-атаки средствами маршрутизатора
Борьба с утечкой информации через USB/Ethernet-порты
Азбука IPS: самые современные технологии обнаружения и предотвращения атак
Экономика резервирования данных: дифференцированный подход к бэкапу корпоративной информации
Борьба с Ring0 троянами: оригинальный способ противодействия зловредному программному обеспечению на рабочих местах
Каркасы ACE
Отлажено до автоматизма: автоматизация Windows штатными средствами
Методы удаленного управления сетью
Переносимый код как решение проблем современных ОС
Демократия или диктатура: чем чреват обязательный переход на IPv6
Карты в руки: история пластиковых карт
Интернет-деньги: основа электронной коммерции?
Электронные деньги: принципы работы и примеры реализации
Интернет-банкинг в мире и в России: история, текущее положение дел и перспективы развития

В этом разделе
Тенденции в вузовском ИТ-образовании
Компьютерные вирусы — эволюция или революция? Ретроспектива глобальных эпидемий
Бесконтактные интерфейсы: компьютер под управлением взгляда
Silverlight: веб-интерфейсы нового поколения
Корпоративные сетевые хранилища данных: Часть 2
Дженнифер Трелевич: безопасность — одно из неубиваемых достоинств мэйнфреймов
Корпоративные сетевые хранилища данных
Интеграция в Web
Демократия или диктатура: чем чреват обязательный переход на IPv6
Под колпаком: шпионская система «Эшелон»
На службе государства: СОРМ
Живой офис: прорыв или крушение


Хакер | GameLand | Мобильные компьютеры | Купи Камеру | Total Football | All Hockey | Onboarg Magazine | Хулиган | Sync
Total DVD | DVDxpert | Maxi Tuning | (game)land company | GamePost | Свой Бизнес


Rambler's Top100