ИНТЕГРАЦИЯ
Российским ИТ-менеджерам стоит присмотреться еще к одной платформе для увязывания бизнес-приложений
В начале осени PC Week/RE подробно рассказывал о взглядах разных вендоров на место корпоративных порталов (КП) в информационной системе предприятия и о тех продуктах, что они предлагают (см. PC Week/RE № 34/2002, с.17; № /2002, с. 28; № /2002, с. 38; № /2002, с. 28). А уже в ноябре на российском рынке КП появился новый игрок - компания Art Technology Group (ATG, www.art.com), интересы которой в нашей стране взялась представлять фирма “Документум Сервисиз” (www.documentum.ru). Набор продуктов ATG для построения КП довольно сильно отличается от рассмотренных ранее - он позволяет не только консолидировать доступ к корпоративным приложениям посредством Web-интерфейса, но и связать их между собой, интегрировать управляемые ими данные.
Место ATG
“Чтобы понять место продуктов ATG, следует рассмотреть назначение разных классов корпоративных порталов, - сказал Константин Синюшин, генеральный директор “Документум Сервисиз”. - Их четыре: внутренние корпоративные информационные порталы (КИП), внешние информационные порталы, а также проектные и транзакционные порталы”.
Порталы, относящиеся к первому классу, представляют собой средство создания проблемно-ориентированных сводных страниц, в подокошки которых (портлеты) выведены различные ресурсы корпоративной сети. Делается это с одной целью: агрегировать информацию для удобства ее восприятия пользователями. Скажем, предлагается страница, сводящая вместе все приложения и данные, необходимые для принятия решения о покупке и продаже валютных пакетов, а также средства отдачи команды на выполнение данного решения. Классический пример этого типа инструмента - продукт фирмы Plumtree (в России его предлагает фирма “Кворум”, www.quorum.ru).
Продукт ATG позволяет проектировать сценарии визуальным способом
Внешние информационные порталы - это глобальные динамические Web-сайты. Пример ПО для построения такого портала - Documentum Web Publi-sher. С его помощью можно сквозным образом автоматизировать динамические процессы изготовления, консолидации и публикации контента на один или несколько Web-серверов.
Проектный портал обеспечивает участникам рабочей группы (внутри и вне предприятия) универсальный доступ к общим данным, необходимым для осуществления проекта, и средствам группового взаимодействия (календарь, телеконференция и пр). Он более специализирован, чем просто КИП, туда интегрируются другие приложения. К подобным порталам предъявляются более серьезные требования, связанные с функцией управления контентом, например предлагаются функции контроля версий документов, разграничения прав доступа.
Четвертый класс порталов решает транзакционные задачи. Эти порталы обращены как внутрь, так и вовне предприятия; они используются для построения торговых площадок, магазинов, внутрикорпоративных систем закупок и оформления заявок (по типу help desk).
“Перед предприятием могут стоять все эти задачи одновременно с одинаковой степенью важности либо часть из них в разные моменты времени и с разной степенью важности. Сразу становится ясно, продукт какого типа выбрать. ATG - это комплексная платформа, которая позволяет реализовать все эти задачи, - считает Константин Синюшин. - Другие продукты такого же универсального класса предлагают фирмы IBM и BEA”.
Элементы интеграции
На взгляд ATG портальная платформа призвала объединять информацию, процессы и интерфейсы пользователя. Как правило, любое корпоративное приложение нацелено на решение конкретной задачи и автоматизирует лишь какой-то один производственный цикл. Между тем многие бизнес-процессы пересекают логические границы приложений, и встает вопрос об обеспечении их сквозного прохождения. Иначе говоря, интеграционное ПО не может ограничиваться слоем представления, а должно обеспечивать еще и возможность обмена данными между разными приложениями. Платформа ATG состоит из набора инструментов, позволяющих осуществить подобную интеграцию. При этом непосредственно портальное приложение получается очень тонким - это просто некая оболочка, опирающаяся на прикладные механизмы более низкого уровня.
ATG Commerce и ATG Portal
Структурно все ПО ATG выполнено в виде Java-пакетов, функционирующих на базе серверов приложений ATG Dynamo Application Server, BEA WebLogic Application Server или IBM WebSphere Application Server (в новой, шестой версии платформы, выходящей в декабре, будет поддерживаться более широкий список серверов приложений). Базовым слоем является ATG Relationship Management Platform (ATG RMP). Он представляет из себя набор сервисов для разработчика и интерфейсов API, упрощающий создание приложений на базе Java2 Enterprise Edition.
Одной из самых интересных частей ATG RMP является технология Data Anywhere Architecture (DAA). Она предлагает универсальный зонтичный интерфейс доступа ко всем видам хранилищ данных (СУБД, файловым системам, Web-сервисам, LDAP-каталогам, репозиторию Documentum и т. п.), а также средства для кэширования данных с целью увеличения производительности и масштабируемости решения. В этой технологии есть нечто общее с объектными адаптерами для реляционных СУБД, популярными несколько лет назад.
DAA скрывает от разработчика структуру хранилища данных - и в результате возникает виртуальная объектная база данных (репозиторий). Пользователь может работать с записями в БД, файлами и документами, созданными внешними приложениями, как с равноправными объектами, характеризующимися определенными наборами атрибутов. Кроме того, появляется возможность описывать свои собственные модели и структуры данных.
С виртуальным репозиторием может взаимодействовать любое приложение, создаваемое на платформе ATG. Его используют для хранения данных и портальное ПО ATG, и приложения для ведения ЭК. Выбранный подход позволяет заменять одно хранилище на другое, не изменяя логики рабочей программы. Например, если для хранения профилей пользователей на каком-то этапе жизненного цикла используется реляционная СУБД, то ее при необходимости можно легко заменить на LDAP-каталог, просто отредактировав конфигурационные файлы. А так как технология DAA - открытая, то на ее базе можно создавать коннекторы на любые новые репозитории.
Второй элемент ATG RMP, обеспечивающий интеграцию процессов, - это шина передачи сообщений. Она аналогична по назначению системам Message Oriented Middleware (MOM), хотя не является таковой в полном смысле, поскольку не обеспечивает распределенную передачу сообщений (все сообщения централизованы на одном сервере). В принципе ATG предлагает комплементарный продукт ATG Application Integration, представляющий уже полноценную систему MOM и с точки зрения интерфейсов совместимый с ATG RMP. “На самом деле ATG Application Integration - это сочетание TIBCO Rendezvous и Message Broker фирмы TIBCO Software (www.tibco.com) и адаптера к нему из платформы ATG. Так как TIBCO предлагает много адаптеров для подключения бизнес-систем (CRM, ERP и пр.), то возможно взаимодействие с широким кругом программных продуктов”, - утверждает Вадим Индриков, консультант по портальным технологиям фирмы “Документум Сервисиз”.
И наконец, третий элемент платформы ATG отвечает за проецирование интерфейсов приложений в виде HTML. Эту задачу решают модули портлетов (они называются в терминологии ATG gears и не базируются на популярной ныне спецификации JSR 168). Так как доступ к данным приложениям обеспечен другими слоями, то gears просто работают как мини-программы визуализации. Естественно, для каждого приложения пишется свой визуальный компонент, функциональность которого по сравнению с исходным бизнес-приложением ограничена. На рынке имеются gears для интеграции с порталом ATG наиболее популярных систем типа SAP R/3, Documentum 5i и пр. Вместе с порталом поставляется также ряд прикладных gears для ведения календаря, опросов, синдицирования *1 контента, управления документами, их публикацией, доступа к почте и пр.
_____
*1. Синдицирование - предоставление в одном окне ссылок на контент из внешних источников и его коротких аннотаций.
Ключевые сервисы
На несколько более высоком уровне абстракции, нежели ATG RMP, находится другой ключевой сервис платформы - ATG Scenario Personalization. Он решает две задачи - обеспечение персонализации и исполнение сценариев.
Под персонализацией ATG понимает не настройку страниц с портлетами (у ATG подобная вещь именуется кастомизацией), а установление связей при управлении контентом с обеспечением профилированного доступа к нему. (Контентом называются все данные, а не только страницы, которые видны пользователю.) Сервис персонализации позволяет объединять в группы пользователей и контент, обладающий определенными атрибутами, а затем устанавливать между ними соответствие.
Этот механизм тесно связан с механизмом исполнения сценариев. Сценарии могут увязывать между собой все что угодно - объекты видимые и невидимые. Так, изменения в данных репозитория могут порождать события, по которым сценарий будет совершать какие-то действия. Эти действия могут носить как визуальный характер, например показывать страницу (или какую-то информацию в отдельной ее части), так и невизуальный - скажем, инициировать передачу факса клиенту.
Любопытная особенность сервиса сценариев состоит в том, что он полностью графический и не требует изучения языка программирования. Сценарий проектируется из стрелок, пиктограмм и фраз английского языка. В принципе существует технологическая возможность замены английских слов на слова какого-либо другого языка. Подобные сценарии может написать любой квалифицированный пользователь-предметник, в частности, специалист по маркетингу получает возможность спроектировать онлайновую рекламную акцию или определить правила формирования спецпредложений.
Созданные сценарии компилируются внутри системы в специальный формат и фактически представляют собой автомат с фиксированным числом состояний и правилами перехода между ними. Так как события могут возникать в любой точке сценария (тот может ожидать их возникновения), то подобный подход не только снижает нагрузку на ресурсы системы, необходимые для исполнения сценария, но и исключает неоднозначность ветвлений. В ATG RMP имеется механизм, позволяющий программистам задавать специфические для приложения события, к которым потом могут обращаться пользователи-предметники. Кроме того, предлагается большой набор уже созданных шаблонов, что существенно упрощает написание новых сценариев.
Портал - ориентация на сообщества
Как уже ясно из сказанного выше, портал - лишь вершина айсберга платформы ATG. Он работает поверх ATG RMF и предлагает функциональность для развертывания и администрирования имеющихся элементов gears, создания новых gears, а также управления безопасностью портала.
ATG Portal Server ориентирован в первую очередь на поддержку работы сообществ пользователей. Каждое сообщество - это как бы портал в портале. В него могут входить пользователи и организации, где развернут портал, или люди со стороны. Сообщества имеют возможность совместно использовать контент, планировать групповую работу и обмениваться информацией. У них есть свои рабочие страницы, вид которых может отличаться от вида других страниц портала, доступ к своим элементам gears и т. д. Портал предоставляет гибкие средства для управления доступом к их ресурсам на основе механизма ролей. Роль лидера может быть делегирована любому члену сообщества, что снимает нагрузку по администрированию с ИТ-менеджера. Другие роли - участник и гость.
При помощи механизма событий портала (Alert Management) инициируется выполнение различных сценариев, что дает возможность автоматически управлять видом рабочих страниц и координировать деятельность членов сообщества - например, уведомлять их о планируемых встречах.
Портальное ПО позволяет запоминать в профиле всю активность пользователя при работе с конкретными gears. Эти действия анализируются механизмом таргетирования сервера персонализации, и если человек обращался к каким-то материалам, то ему будет предоставляться потенциально интересный контент. Пользователь может также модифицировать свой профиль, указав свои приоритеты в явном виде.
Возможности поиска контента в портале обеспечиваются той системой, что применяется в качестве репозитория. Есть API, фиксирующий конструкцию поисковых запросов, которые потом транслируются в формат “родной” платформы. Так, если контент хранится в РСУБД, то запрос преобразуется в SQL. В версии ATG 6 появился, кроме того, сервис для полнотекстового поиска документов
В чем главное отличие?
По идее и концепциям платформа ATG близка к решениям фирм IBM, Oracle и BEA. Но в то же время, по мнению Константина Синюшина, есть значительные отличия в подходе к построению системы.
“ATG шла от общего к частному, - отметил он. - Компания выбрала общие принципы, а потом из них вывели частные сервисы. IBM, напротив, сначала создала продукты для решения разных задач и лишь потом осознала, что их нужно свести к общему знаменателю. Среди плюсов подхода IBM - возможность рационально решить некоторые задачи при помощи отдельных продуктов, скажем WebSphere Integrator (бывший MQSeries). Но если несколько сервисов собирается в одном наборе, то возникают проблемы, связанные с чрезмерным умножением числа сущностей. Это повышает трудоемкость не только разработки, но и проектирования КИС”.
У BEA наиболее близкий к ATG подход (существенно ближе, чем подход Ora-cle и IBM), но продукт ATG, по мнению представителей этой компании, проще в развертывании, так как в нем очень жестко разграничиваются роли разработчика и бизнес-пользователя. В портале BEA средства визуального построения сценариев во многих случаях требуют написания кода на Java. А в ATG компоненты пишет один человек, интегрирует в общую структуру другой, собирает третий.
От конкурентов пакет ATG еще отличается наличием ряда мощных сервисов, касающихся персонализации контента и исполнения сценариев, а также возможностями масштабирования. По оценкам ATG, ее продукт сопоставим по масштабируемости с решением BEA, но как минимум в два раза лучше, чем WebSphere. Визитной карточкой этой системы является сайт Sony Playstation (www.playstation.com), обслуживающий в пике нагрузки до 100 тыс. пользователей одновременно (состоит из 25 узлов).
К этому, на мой взгляд, стоит добавить, что в портале чувствуется все же больший фокус на взаимодействие с внешним миром, чем на внутрикорпоративные проблемы, в отличие от портала IBM. Вероятно, это следствие истории ATG, пришедшей в мир порталов из мира ЭК. Некоторые возможности, предлагаемые семейством WebSphere, также нелишни - например, сервисы ПО WebSphere Content Manager. КИП класса Plumtree Portal, с другой стороны, позволяют эффективнее решить задачу консолидации доступа к данным, если не требуется их глубокая интеграция.
Как многофункциональный продукт, пакет ATG лицензируется по процессорам. Нижний уровень (сервер приложений плюс ATG RMP) стоит 15 тыс. долл. за ЦП, предпортальная платформа (прикладная платформа плюс средства исполнения сценариев и персонализации) стоит порядка 60 тыс. долл., а решение с порталом - около 100 тыс. долл. за ЦП. Вместе с продуктом поставляется ряд примеров приложений порталов B2C, B2B и B2E, которые фактически являются каркасными приложениями для построения полноценных систем этих классов. Стоит отметить, что компания предлагает пробную версию своей системы.