Сервис-ориентированная архитектура

Концепция Web-сервисов возникла в конце 90-х годов XX в. и стала отраслевым стандартом в сфере ИКТ. Стандарты Web-сервисов разработанные такими компаниями, как IBM, Microsoft, Ariba, Sun Microsystems, SAP при поддержке Консорциума W3C. В рамках W3C была создана рабочая группа Web Services Architecture Working Group, которая опубликовала глоссарий терминов в сфере Web-сервисов.

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

Web-сервисы - это реализованная программными средствами система для поддержки міжкомп'ютерної взаимодействия телекоммуникационных сетей, что поддерживается такими стандартами: SOAP (Simple Object Access Protocol) - протокол обмена сообщениями; WSDL - язык описания программных интерфейсов Web-сервисов; UDDI (Universal Description, Discovery and Integration) - классификатор Web-сервисов.

ИКТ, реализующие архитектуру Web-сервисов, представлены на рис. 9.2.

Динамичные, гибкие Web-сервисы упрощают бизнес-процессы предприятий и дают возможность быстро найти бизнес-парт

Рис. 9.2. Технологии реализации Web-сервисов

нира. Концепция архитектуры Web-сервисов предприятия имеет следующие преимущества:

o оптимизация процессов управления предприятием за счет упрощения процедур объединения информационных потоков и бизнес-процессов;

o возможность создания комплексных сквозных бизнес-процессов, отвечающих требованиям бизнеса, используя для этого как собственные Web-сервисы, так и услуги других предприятий;

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

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

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

o возможность установления более тесных взаимосвязей с бизнес-партнерами, что обеспечивает сокращение затрат и повышение количества и качества обслуживания клиентов.

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

Для поиска Web-сервисов используют специальные реестры, которые поддерживают UDDI. Есть два основных метода публикации Web-сервисов для пользователей - UDDI и DISCO. UDDI - это централизованный структурированный сервис реестр, a DISCO предлагает свободную форму механизма поиска через браузер. Реестр UDDI - центральное хранилище для спецификаций и информации о предприятиях, включая услуги, которые компании предоставляют путем Internet.

Web-сервисы становятся доступными через протоколы HTTP GET, HTTP POST, HTTP SOAP.

SOAP - стандарт передачи сообщений через Internet, разработанный фирмой Microsoft для удаленного вызова процедур (RPC, Remote Procйdure Call) через протокол НТТР. Он позволяет передавать данные по сети в формате XML. Могут использоваться любая сеть, любой протокол передачи данных, произвольная информация, различные вычислительные устройства (включая мобильные). Спецификация SOAP определяет ХМЬ-"конверт" для передачи сообщений, метод для кодирования программных структур данных в формате XML, а также средства связи через протокол НТТР.

WSDL - основанный на XML стандарт описания того, как пользоваться сервисом, предложенный Консорциумом W3C. Описание Web-сервиса на языке WSDL содержит технические детали, необходимые для интеграции Web-сервиса в применении (формат сообщений, операции). На сегодня WSDL поддерживают продукт от Microsoft SOAP Toolkit 2.0 (WSDL Generator) и продукт от IBM - WSDL Toolkit. Язык описания Web-сервисов (Web Services Description Language (WSDL)) определяет синтаксис того, как Web-сервис может быть вызван.

Стандарт UDDI предоставляет механизм обнаружения Web-сервисов. UDDI формирует бизнес-реестр (UDDI Business Registry), в котором провайдеры Web-услуг могут регистрировать свои услуги, а разработчики - отыскивать необходимые им сервисы. Компании регистрируют себя в Business Registry, который является базой данных общего пользования. UDDI дает возможность описывать, интегрировать и публиковать сервисы. UDDI сам является специализированным Web-сервисом, что дает возможность пользователям и применением находить необходимые им сервисы.

Компании IBM, Microsoft и Ariba создали собственные UDDI-реестры (Web-реестры), где разработчики могут регистрировать свои Web-сервисы. Информация в UDDI-реестрах состоит из трех компонентов:

o ибелые страницы" позволяют предприятиям регистрировать их названия и услуги, что обеспечивает поиск другими компаниями согласно справочникам, которые содержат их адрес и другие идентификаторы;

o "желтые страницы" включают классификаторы по отраслям и специфицируют компании способами: NAICS-кодами стандартов промышленности, установленные американским правительством, кодам Организации Объединенных Наций - SPSC-кодом и кодами географического положения;

o "зеленые страницы" содержат техническую информацию об услугах, предлагаемых компаниями, и адреса для поиска информации.

UDDI может использоваться с целью проверки данных о партнере, для поиска компаний в определенной отрасли промышленности с конкретным типом обслуживания. UDDI содержит элементы следующих типов:

o бизнес объект (Business Entity) - непосредственно определяет бизнес;

o бизнес-сервис (Business Service) - содержит информацию о наборе услуг;

o шаблон связывание (Binding Template) - содержит информацию о точке входа услуги;

o модель технологии (TModel) - определяет отдельную спецификацию для услуги.

Бизнес объект (Business Entity) описывает О, к которой принадлежит конкретный Web-сервис. Этот элемент может включать описание категорий для индустрии, что облегчает детальный поиск услуг. Бизнес-сервис (Business Service) - это класс услуг в пределах определенной отрасли промышленности. Каждая отрасль принадлежит определенному элементу Business Entity. Шаблон связывание и модель технологии определяют Web-сервис. TModel содержит абстрактное описание, a Binding Template - конкретную спецификацию услуги.

Понятие архитектуры, ориентированной на услуги, сформировалось на протяжении развития концепции Web-сервисов. Архитектура Web-сервисов является одной из реализаций COA (есть и другие подходы к реализации COA: Java RMI (от Sun Microsystems), CORBA (от консорциума OMG), DCOM (Microsoft), DCE (предложенный ассоциацией Open Group) и т.п. COA имеет такие характеристики: распределенная, интерфейс функциональных модулей таков, что использование модулей не зависит от технологии или платформы, в пределах которой они реализованы; возможен динамический поиск и подключение нужных функциональных модулей; архитектура базируется на общепринятых отраслевых стандартах'.

Сервис-ориентированная архитектура (COA) - это концепция проектирования, разработки и управления функциональных модулей (сервисов), каждый из которых доступен через сеть и способен выполнять определенные действия.

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

Сервис-ориентированные вычисления (СОО) - вычислительная парадигма, которая использует сервисы как фундаментальные элементы для разработки приложений. СОО базируются на COA и обеспечивают выполнение операций управления сервисами. Разработка системы СОО - это процесс поиска, подбора и компоновки сервисов, которые удовлетворяют требованиям пользователя.

Возможность компоновки (composability) Web-сервисов часто рассматривают как одну из основных преимуществ их использования. Компоновка заключается в нахождении набора элементарных сервисов, необходимых для реализации функций, используемых в запросе пользователя, и определение порядка их выполнения.

Функциональные возможности Web-сервисов определяются входом, выходом, предварительными условиями и действиями сервиса. их обозначают как ЮРЕ (inputs, outputs, preconditions, and effects). Например, для сервиса покупки предварительное условие - это корректный ввод номера кредитной карты, выход - генерация квитанции, а действие - оплата товаров/услуг; электронный магазин может иметь следующие входы: название товара, адрес потребителя и номер его кредитной карты с условием предварительной проверки подлинности этой кредитной карточки.

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

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

Информация, содержащаяся в реестре UDDI, недостаточная для автоматической компоновки Web-сервисов, потому что не дает возможности интерпретировать их семантику. Поэтому разрабатываются механизмы отображения семантики сервисов и ее автоматизированного сопоставления с семантикой запросов пользователей. Можно решить проблемы автоматической компоновки, связав параметры Web-сервисов с терминами определенной О и семантическим обоснованием этих понятий.

Интеллектуальные Web-сервисы (семантические Web-сервисы, SW-сервисы) расширяют понятие традиционных Web-услуг. Хотя программы могут найти определенный Web-сервис в реестре UDDI без помощи человека, они не способны понять, как именно им пользоваться.

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

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

Онтологии облегчают автоматическое компоновка услуг. Наличие представления знаний о про, к которой принадлежит сервис, допускает перестройку запросов контекстно-зависимым способом и переговоры о возможности этого сервиса.

Алгоритмы нахождения соответствия между запросом и сервисом, которые используют онтологическое представление знаний, дают возможность автоматизировать нахождение похожих запросов и услуг. Для этого запрос согласовывается на основе иерархии понятий О, отраженной в онтологии. Соответствие между описанием Web-сервиса и запросом оказывается, когда все выходы запроса согласованы с выходами описания, и все входы описания - со всеми входами запроса, а сервис способен удовлетворить все входы согласованных сервисных нужд.

Самой большой проблемой при выявлении сервиса является их распределенный характер. Фиксация семантики запросов и исследований сервисов, так же как контекста предложенной взаимодействия с сервисом, требует адекватных средств представления сервисов и взаимодействий. В связи с этим могут быть применены онтологии. Для интеро-перабельного представления онтологий разработан язык OWL и ее модификацию для сервисов OWL-S (Web Ontology Language for Services).

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

OWL-S обеспечивает онтологический описание Web-сервисов. Цель разработки OWL-S заключается в том, чтобы сделать возможным использование логического вывода для Web-сервисов, планирование автоматической компоновки Web-сервисов, автоматического использования сервисов программными агентами.

OWL-S обеспечивает декларативные описания свойств Web-услуги и возможности, которые могут использоваться для автоматического обнаружения сервиса.

Используя OWL-S, Web-сервис может сообщать потенциальным пользователям свои функциональные возможности. Запрос на обслуживание может быть согласован с объявлением Web-сервисов с помощью процесса подбора (matchmaking).

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

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

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

Общий словарь (тезаурус) содержит базовые термины (при* мітиви), которые комбинируются в локальные онтологии для того, чтобы описать более сложную семантику. Иногда общий словарь также является онтологией. О может иметь несколько онтологий. Любая О характеризуется своей действительностью, то есть множеством ситуаций, которые имели место в прошлом, есть в настоящем и будут иметь место в будущем. Интеграцию онтологий можно рассматривать как процесс нахождения сходства между различными онтологиями. Новая онтология может быть использована как посредник между различными системами. В зависимости от изменений, которые необходимо сделать, чтобы получить новую онтологию, можно различать следующие уровни интеграции: соответствие (alignment), частичная совместимость (partial compatibility), совершенствование и унификация (unification).

Основой архитектуры, ориентированной на услуги, является взаимодействие ее участников: поставщика, потребителя и реестра услуг (рис. 9.3).

Рис. 9.3. Схема взаимодействия участников СОА

Концепция Web-сервисов означает, что они имеют определенную ограниченную функциональность. Для решения сложные задач нужно использовать функциональность нескольких услуг. Поэтому в процессе развития архитектуры Web-сервисов возникло понятие компоновки Web-сервисов и поток Web-услуг, или еще используют термин оркестровка (Web Service Choreography) и хореография (Web Service Choreography) Web-сервисов. Эти понятия отражают взаимодействие услуг и последовательность их выполнения. Приложения, построенные с использованием Web-сервисов, основанных на потоках работ (Workflow-based applications).

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

Для описания бизнес-систем, базирующихся на архитектуре Web-сервисов, IT-компании предложили использование различных стандартов: Wf-XML (Workflow Management Coalition), WSFL (IBM Web Services Flow Language), XLANG (Microsoft^ XLANG: Business modeling language for BizTalk), PIPs (Roset-taNet's Partner Interface Process) и т.д.

На сегодня получили распространение BPEL4WS (Business Process Execution Language for Web Services), разработанный IBM, Microsoft и BEA Systems, i WSCI (Web Service Choreography Interface) корпорации Sun Microsystems.

Еще одна полезная технология поддержки Web-сервисов известная под названием .NET. Microsoft.NET М Services предоставляют набор Web-сервисов, которые позволяют клиентам управлять своими персональными данными. Компания Microsoft разработала Global XML Web Services Architecture (GXA - глобальная архитектура Web-сервисов XML).

GXA состоит из следующих спецификаций: WS-Security, WS-Licensing, WS-Referral, WS-Routing i WS-Inspection. Каждая спецификация представлена как модульная надстройка над SOAP-сообщением. Следовательно, любая GXA-спецификация может использоваться в комбинации с остальными GXA-спсцифінацій.

Распределенные вычисления через Internet вызывают фундаментальные изменения в ведении ? бизнеса, и именно Web-сервисы обеспечивают открытый механизм интеграции бизнес-процессов. Управление бизнес-процессами происходит в автоматизированном режиме. Так, с помощью методов моделирования можно проверять корректность выполнения бизнес-логики, представленной в диаграммах, а затем автоматически получать описание этих диаграмм на XML-языках управления бизнес-процессами.

Этот подход помогает упростить вызов Web-сервисов из любой точки на основе бизнес-правил. Благодаря этому компании могут реализовать быструю смену бизнес-правил.

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

Тактические преимущества Web-сервисов: простая разработка и внедрение приложений, использование инвестиций, уменьшения риска, связанного с внедрением проектов в сфере автоматизации услуг и бизнес-процессов, возможность непрерывного улучшения предоставления услуг, сокращение количества обращений за технической поддержкой, повышение показателя возврата инвестиций (ROI) и т.д.

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

Выводы

Различные институциональные структуры в сети Internet создают собственные информационные модели благодаря Web-сайта, формируя определенные информационно-экономические пространства средствами інтелектуалізованого программного обеспечения (мультиагентные системы или программные агенты как представители-агенты субъектов экономической деятельности) в глобальном электронном среде или объектно ориентированного ПО (сайт, портал, электронный почтовый ящик и т.п.).

Именно Web-сервер, своеобразная визитная карточка предприятия, представляющая совокупность связанных между собой Web-страниц, представляет фирму и ее услуги. На главной странице Web-сайта предприятия рассказывается об истории создания фирмы, ее профиль, проекты, продукты/услуги, бизнес-партнерство и т.п., т.е. информация о том, чем занимается организация, и которые предоставляет предложения. Часто на этой страничке можно найти ссылки на порталы (многофункциональные сайты) электронных рынков или е-магазинов, которые являются точками входа в глобальную сеть всех участников процесса ^-бизнеса, а также местом для размещения электронных каталогов товаров, услуг, управления транз-акциями, логистическими процессами, платежами и т.д.

Сегодня на смену технологиям Web приходят технологии Web2 и Web3. их основой являются социальные сети, совместная работа, направленная на разработку информационных ресурсов. На основе этих новых технологий функционируют корпоративные блоги, энциклопедии Wiki и т.д.

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

 
< Пред   СОДЕРЖАНИЕ   След >