WEB-СЕРВИСЫ
На совместном семинаре показаны примеры успешных реализаций Web-сервисной технологии
Web-сервисы и сервисно-ориентированная архитектура (СОА) постепенно приобретают признание как средства построения КИС большого предприятия. Благодаря тому что СОА требует от всех приложений экспортирования своих ключевых возможностей как функций, имеющих стандартизованный интерфейс, их можно относительно легко связывать некоторой общей логикой. Эта логика может дополняться каким-то пользовательским интерфейсом, и тогда возникает метаприложение, а может просто координировать передачу документов и данных между внутренними системами автоматизации - HR, биллинга, учета ресурсов предприятия, управления финансами и пр. Получается, что приложения связаны в рамках общего нового процесса, сквозным образом проходящего через них. Все коды, необходимые для исполнения процесса, хранятся в некотором промежуточном слое (межплатформенном ПО), благодаря чему его легко модифицировать - ведь требуется поменять только код центрального процесса, а не перепрограммировать связи между модулями. Обычно это делается из графического редактора.
Однако для того чтобы такая схема заработала, необходимо выполнение нескольких условий. Прежде всего нужно описать все данные, выдаваемые приложениями "наружу", а также конкретные детали их Web-сервисных интерфейсов доступа. Эти данные должны храниться в легкодоступном месте и быть защищены. Как правило, для создания подобных описаний приходится затрачивать немало усилий. Хуже, что при добавлении очередного кирпичика к системе надо создавать новые описания.
Вдобавок ко всему нужна платформа собственно исполнения сценариев бизнес-процесса. Иначе говоря, должна быть создана дополнительная программная инфраструктура. На совместном семинаре, проведенном 12 октября, российская компания UnitSpace и американская корпорация Oracle представили как раз средства для построения подобной инфраструктуры.
Реестр и платформа метаданных
Первый продукт, UnitSpace BCR Service Registry, сосредоточен на самом нижнем слое СОА - реестре сервисов. Это полноценная реализация стандарта UDDI, оснащенная к тому же пользовательским Web-интерфейсом, упрощающим работу с реестром. Пользователи могут создавать модели данных, разграничивать права доступа, описывать сущности и сервисы и пр. В реестре хранятся все описания, необходимые для обнаружения сервисов и обращения к ним.
Архитектура системы на базе UnitSpace BCR
Поверх реестра функционирует другой продукт - Unit- Space BCR. Он предназначен для централизации управления метаданными СОА (информационными моделями, классификаторами, процессами, схемами данных), автоматизации процессов создания сервисов, обеспечения федеративного управления сервисами.
Ключевая идея, стоящая за UnitSpace BCR, - это сведение всех форм взаимодействия с каждой из корпоративных систем к вызову двух сервисов, отвечающих за импорт и экспорт данных. Извлекаемые через эти сервисы данные могут помещаться в центральное хранилище, управляемое UnitSpace BCR, где становятся доступными другим приложениям. Так упрощается общая архитектура системы. Однако поскольку описания моделей данных и сервисов все равно доступны в реестре авторизованным пользователям, то участники федеративной системы могут получать данные из других систем и напрямую.
Главное преимущество решения в том, что ввиду идеологической простоты используемых сервисов написание необходимых компонентов-посредников для подключения к центральному ядру новых программ оказывается несложным делом. В принципе, к "центру" можно подключать системы и через несервисные технологии, наподобие COM или файловой пересылки.
Подход UnitSpace BCR позволяет автоматизировать создание описаний сервисов и их адаптацию, защитить сервисы без каких-либо усилий, хотя и ценой некоторого сокращения гибкости системы. Также есть возможность определения схем XML для каждого информационного источника, благодаря чему можно транслировать форматы. Имеется журнал, фиксирующий все события и операции в среде и позволяющий проводить глубокую детализацию этой информации - вплоть до отдельных SOAP-сообщений. Один из компонентов продукта UnitSpace BCR Desktop предоставляет Windows-интерфейс для работы с реестром сервисов, сервисами данных и центральной СУБД.
Внедрения
По словам Александра Гершойга, коммерческого директора UnitSpace, продукт уже был задействован в ряде проектов. Например, фирма VNU World Directories, занимающаяся изданием книгопечатной продукции и имеющая офисы в 100 странах мира, использовала СОА с применением реестра UnitSpace для объединения биллинговых систем, систем поддержки продаж, документооборота, планирования. Кроме того, удалось повысить скорость выполнения бизнес-процессов, сохранены инвестиции в ИТ, снижен уровень ошибок на стыке между подразделениями. Другая компания, Proflowers, занимающаяся дистрибуцией цветов, смогла при помощи СОА интегрировать ИС цепочки поставок и системы электронных заказов. В результате улучшилось управление заказами и сократилось время доставки цветов потребителям.
Продукт UnitSpace BCR был использован в России на книжном рынке - для передачи данных между книготорговцами и издательствами. Специфика этого рынка такова, что необходимо оперативно реагировать на читательский спрос и не допускать ни переполнения складов магазинов, ни недостачи товаров на книжных полках. Издательства могут отреагировать на заявки магазинов, например, печатанием дополнительного тиража или приостановкой печати текущего. UnitSpace организовала отраслевой центр взаимодействия книжного рынка. Издатели через ее площадку обмениваются с торговыми домами своими планами, коммерческими описаниями продукции, прогнозами. Также через нее происходит передача уведомлений о выпуске тиражей, запланированных поставках, отгрузке. В обратном направлении идут корректировки прогнозов, подтверждения получения, прогнозы закупок и пр.
Управление бизнес-процессом
Как уже говорилось, еще одним важным элементом СОА является менеджер бизнес-процессов. Именно такой продукт представила корпорация Oracle.
Oracle BPEL Process Manager позволяет проектировать в графическом редакторе и исполнять бизнес-процессы, описанные на языке BPEL (об этом языке см. PC Week/RE, N 29/ 2004, с. 18). Этот продукт основывается на технологии Collaxa BPEL Server, фирмы Collaxa, приобретенной Oracle, и опирается на возможности управления бизнес-процессами и поддержки Web-сервисов, встроенные в Oracle Application Server 10g. Помимо того, он обеспечивает мониторинг процессов в реальном времени с корректировкой их выполнения, сопряжение с функциональностью EAI (Enterprise Application Integration - интеграция корпоративных приложений), отладку бизнес-процессов. Все эти работы можно проводить через графический интерфейс на базе Eclipse. Продукт совместим с серверами J2EE-приложений Oracle, IBM, BEA и JBOSS, но позволяет взаимодействовать и с реализациями Web-сервисов на платформе .Net, имеющими свою специфику.