На осознание ее достоинств и преимуществ потребовалось несколько лет, зато сейчас все сомнения остались в прошлом, и коллажи оказались в фокусе всеобщего внимания Web-сообщества.
Казавшиеся еще недавно экзотикой технологии Web 2.0 прочно укрепились в корпоративном обиходе. Среди них особое внимание привлекают так называемые «коллажи» (mashup). Почему именно они? Дело в том, что внедрение коллажей дает быстрый эффект при решении конкретной задачи. С их помощью можно без особых сложностей обеспечить консолидированную работу с разрозненными источниками информации. О важности этого решения свидетельствуют аналитики IDC, отмечая в отчете «Скрытая стоимость работы с информацией» (The Hidden Costs of Information Work, 2006): «Организации, где насчитывается одна тысяча занятых, за год в среднем тратят 5,7 млн долл. на деятельность, связанную с процедурами переформатирования и согласования форматов данных, требуемых для обмена между приложениями».
Обычно под композитными приложениями понимают тип программного обеспечения, позволяющего объединить несколько уже существующих функций в одно новое приложение. Существует несколько альтернативных технических подходов к созданию композитного ПО, например, для устранения разрозненности данных применяют сервис-ориентированную архитектуру (Service-Oriented Architecture, SOA), что достаточно дорого и не везде целесообразно. Поэтому сегодня в центре внимания оказался более дешевый подход, основанный на использовании технологии корпоративных коллажей. Как полагают в Gartner, на технологии коллажей придется более 80% от общего количества композитных приложений.
О коллажах
В англоязычной литературе для коллажей используется термин mashup, заимствованный из лексикона диск-жокеев, которые так называют метод создания новой композиции из нескольких известных мелодий. Используемое у нас слово «коллаж»— тот редкий случай, когда русскоязычный термин оказался точнее и образнее оригинала. Если отвлечься от ИТ-приложений, то коллаж можно определить как результат объединения в единую композицию отдельных фрагментов, заимствованных из разных источников. Еще совсем недавно коллажом называли исключительно способ создания изображений путем наклеивания предметов на бумагу или холст, а само слово происходит от французского глагола collage, то есть «наклеивать». Есть коллажи у Пабло Пикассо, а в России получили признание Александр Родченко и Соломон Телингатер. Замечательные коллажи делал Сергей Параджанов, впрочем, и фильмы этого режиссера без особой натяжки можно тоже назвать коллажами.
Компьютерные коллажи распространились после 2002 года, например сервисы TerraPass, разработанные экологами для привязки источников загрязнения окружающей среды к картам земной поверхности. Они позволяют слить вместе маршрутные данные о перемещении автомобилей с данными об их выбросах в атмосферу, построить соответствующую карту и таким образом оценить уровень вызываемого ими загрязнения окружающей среды. Этот простой пример свидетельствует о том, что коллажи надо рассматривать не только как технологию, но и как архитектурный стиль. Появление программных коллажей связывают с именем программиста Пола Радемахера, которому удалось с помощью разработанного им метода совместить карты от Google (для этого он «слегка» взломал Google) с данными о продаваемых и сдаваемых в наем жилищах и склеить все вместе на сайте HousingMaps.com. На дерзкую выходку Радемахера в Google прореагировали единственно правильным образом — компания пригласила его к себе в штат. Пример Радемахера оказался заразительным; последовавшую затем волну бесчисленных решений, связывающих все что угодно с картами, назвали «картографической революцией».
Корпоративные коллажи
Популярность коллажей в США среди прочего объясняется соответствием тамошней ментальности и популярному в этой стране увлечению делать многое своими руками. То, что там называют DIY (Do-It-Yourself), не имеет ничего общего с нашими представлениями о хобби или самоделках. Там это часть образа жизни — с гигантскими специализированными супермаркетами, совсем непохожими на популярные когда-то у нас магазины «Юный техник», невероятным количеством литературы. Увлечение DIY подкреплено мощнейшей инфраструктурой — действительно, многое можно сделать самому, когда имеются хорошие заготовки, инструменты и тому подобное. Так вот, оказалось, коллажи удовлетворяют этим требованиям, они позволяют сделать нечто, не обладая слишком высокой квалификацией, а если есть квалификация,— то сделать все очень быстро. Первое важно для любителей, втрое — для профессионалов. То обстоятельство, что средствами коллажей можно легко и просто создавать богатые функциями Internet-приложения (Rich Internet Application, RIA), открывает возможность для избавления от проблемы разрозненности данных. Ключом для ее решения является персонализация — не один, годящийся на все случаи жизни интерфейс, а адаптированный к требованиям определенного рабочего места. Таким образом можно упаковать внутрь коллажа действия по переформатированию, отнимающие силы и средства.
С точки зрения системной архитектуры коллажи можно рассматривать как промежуточный слой между уровнем представления данных и уровнем бизнес-приложений. Сегодня распространена трехуровневая модель: на нижнем уровне осуществляется интеграция данных, на среднем находятся бизнес-приложения, обменивающиеся данными с нижним уровнем, а на верхнем отображаются результаты работы. В отсутствие промежуточного слоя между бизнес-приложениями и представлением данных возникает типичная в подобных случаях сложность. Получается, что два слоя между собой слишком сильно связаны, и когда возникает необходимость в каких-то иных формах представления данных, приходится вносить изменения в нижний слой, что требует затрат времени и средств. Как всегда, выходом в подобных случаях является создание слоя-посредника, в данном случае в роли которого выступают коллажи.
Формально корпоративный коллаж определяется следующим образом — это «ориентированная на пользователя, построенная на общих стандартах микрокомбинация внешних и внутренних источников данных». Еще одно близкое по смыслу и дополняющее определение: «Коллаж — это управляемая пользователем микроинтеграция данных, достижимых с помощью Web-технологий». Уточним отдельные термины.
Ориентированность на пользователя (user-centric). Коллажи предназначаются для пользователей и чаще всего создаются ими самими, иногда при участии ИТ-отделов, но не обязательно. Потребителями коллажей точно так же являются пользователи — благодаря коллажам они могут получать доступ к тем данным и в такой форме, которые им требуются, без участия ИТ-специалистов, без необходимости дополнительных действий над данными на бизнес-уровне. Системные средства типа сервисной шины предприятия (Enterprise Service Bus, ESB), управления бизнес-процессами (Business Process Management, BPM) и другие при этом не затрагиваются, а выполнение коллажей ограничено Web-технологиями класса RIA. Напомним, что RIA — это зонтичный термин для приложений, внешне похожих на традиционные приложения, выполняемые на толстом клиенте, но на самом деле перенесенные в браузер. Они поддерживаются чаще всего открытой технологией AJAX (Asycnhronous Java & XML), предшественницей которой была технология Adobe Flash/Flex. Ведущие вендоры предлагают свои современные, но проприетарные альтернативы: Microsoft — Silverlight, Sun Microsystems — JavaFX, а Adobe — AIR. Идею микрокомбинаций (Micro-Combination) можно проиллюстрировать на примере. Допустим, вы хотите проанализировать обозримые объемы данных, размещенных в Web на нескольких разных страницах. Для этого операциями «копировать» и «вставить» вы выберете нужные вам данные и поместите их в Excel, где есть необходимая аналитика и средства визуализации. Обратите внимание на обозримость или ограниченность данных, в Excel вы не будете вносить тысячи и большее количество строк, для таких объемов есть SOA и механизмы ETL. Появление стандартизованных внешних и внутренних данных (Standards-based Internal and External Data) стимулировано распространением коллажей, но их появление предопределено предшествующим появлением стандартов WSDL, REST и RSS. Стандартизованные данные являются Web-достижимыми в том смысле, что для их использования требуется ограниченное количество манипуляций.
Коллажам свойственна «коллаборативность» — их создают, чтобы можно было отмечать (присваивать теги), обнаруживать и совместно использовать с другими. Использование тегов обеспечивает возможность «фолксономии» — практики совместной категоризации и классификации информации. Как правило, коллажи создаются, используются и распределяются между ограниченной группой пользователей. В число свойств коллажей входят: «чувствительность ко времени», они функционируют в режиме, близком к реальному времени; «отсутствие агрессии», их внедрение не требует значительных изменений в сущностях, расположенных ниже них иерархически в инфраструктурном стеке (базы данных, базовые сервисы и т.д.), а также порталах, блогах, вики, электронных таблицах т.д.; они обладают «ограниченной способностью к очистке данных»; у каждого из них «есть свое лицо» — виджет (widget), то есть мобильный фрагмент кода, который может инсталлироваться и исполняться внутри Web-страницы без компиляции.
Обычные, ставшие популярными коллажи могут создаваться внутри браузеров или на серверах, а от корпоративных коллажей их отличает то, что они создаются в предположении, что данные однородны, актуальны и требуют специальных мер по обеспечению их безопасности. Кроме того, предполагается, что пользователь не меняет коллажи в процессе работы. Все эти предположения находятся в противоречии с требованиями к корпоративным коллажам, где нужно согласовывать данные, обеспечивать безопасность и пользователи могут их активно изменять. Поэтому, хотя коллажи этого вида, как и их обычные собратья, могут создаваться самими пользователями, при этом дополнительно требуется информационная поддержка со стороны ИТ-подразделений предприятий.
Корпоративные коллажи нельзя рассматривать в качестве альтернативы к классическим технологиям управления бизнес-процессам, бизнес-аналитики, интеграции информации предприятия (Enterprise Information Integration, EII), это скорее дополнение к ним, может быть, в некоторых случаях их «облегченная» форма. Если сравнивать с BPM, то отличие коллажей в том, что они не рассчитаны на растянутые во времени процессы, а нацелены только на те процессы, которые продолжаются считанные секунды или минуты и требуют немедленного принятия решений. Отличие аналитических коллажей от BI в том, что они не предполагают обращения в хранилища данных,— это «передний фронт» (front-end) аналитики. Если же сопоставлять коллажи с EII, то надо сказать, что в EII используются существенно более развитые подходы с применением сложных онтологий, и EII можно рассматривать как источник данных для коллажей. В целом применение корпоративных коллажей позволяет получать ответы на интересующие вопросы быстрее, повысить эффективность использования информационных ресурсов и открыть возможности для создания новых сочетаний внутренних и внешних данных, полезных с точки зрения бизнеса. Для описания места, на которое могут рассчитывать коллажи, хорошо подходит так называемая «кривая хвостов» (см. рис.). Для запросов существенного числа пользователей достаточно иметь небольшое число приложений, создаваемых ИТ-подразделениями,— это стратегические долгоживущие приложения, каждое из которых состоит из множества более простых, тактических приложений, востребованных меньшим числом пользователей.
Сервисную архитектуру и коллажи можно рассматривать как две стороны одной медали — развитие одной стимулирует развитие другой. В системе, которая строится по принципам SOA, есть источники данных для коллажей — чем их больше, тем больше востребованность коллажей, и наоборот, возможность создания коллажей может стимулировать переход на сервисные архитектуры. Коллажи можно рассматривать в качестве связующего компонента между SOA и пользователями. В таком случае систему управления предприятием можно представить в виде трехуровневой модели. На нижнем уровне находится система SOA, на верхнем уровне пользователи, а средний занимают коллажи*.
Инструменты для корпоративных коллажей
О том, что инструменты, предназначенные для создания корпоративных коллажей, востребованы рынком, можно судить по тому, что компания IBM, обычно не отличающаяся скороспелостью решений, уже анонсировала свой продукт IBM Mashup Center, включающий два компонента,— IBM Lotus Mashups и IBM InfoSphere MashupHub With. Однако лидерами направления являются две небольшие компании — JackBe и Nexaweb.
Компания JackBe была основана на средства Intel Capital и еще нескольких инвестиционных фондов в 2001 году. Она получила известность внедрением коллажей во втором по величине мексиканском банке Banamex и в Разведывательном управлении Министерства обороны США.
Компания Nexaweb одной из первых освоила технологии AJAX и RIA. Ее основатель и директор по технологиям Коач Вей является активным приверженцем идеи Enterprise Web 2.0; основной продукт Nexaweb так и называется — Enterprise Web 2.0 Suite. Продукты Nexaweb отличаются тем, что имеют клиентскую ориентацию, в Nexaweb Platform 4.5 и Nexaweb Studio 3.5 коллажи строятся с использованием модулей расширения Eclipse, можно использовать XML для указания места, где расположен соответствующий виджет или браузер. Вей — большой поклонник открытых стандартов и программных систем, он — автор текстового процессора AJAXWord, входит в состав комитетов Apache XAP и OpenAJAX Alliance.
JackBe выпускает свои продукты под именем Presto, а подход, на котором основывается Presto, можно назвать серверным. Сервер собственной разработки Presto Edge может кэшировать данные, преобразовывать их в общие форматы и создавать несложные коллажи (более сложные создают пользователи). Он может «вытягивать» данные из форматов WSDL, REST, Atom, RSS, SQL, KML (Keyhole Markup Language), WMS (Web Map Service) и POJO (plain old Java objects), а затем транслировать их для клиентов в JSON (JavaScript Object Notation) или XML. Средствами сервера информация может смешиваться, фильтроваться, сортироваться, и для нее может создаваться необходимая аннотация. Этот сервер сравнивают по универсальности, как это обычно бывает, со швейцарским армейским ножом, сочетающим в себе множество отдельных инструментов.
Коллажи для спецслужб
По роду своей деятельности Разведывательное управление Министерства обороны США собирает сведения из множества разных источников, в том числе от собственных и от разведок отдельных родов войск, а после событий 11 сентября 2001 года возникла необходимость в более оперативном принятии решений. В качестве технологии были приняты коллажи, хотя в 2005 году это решение выглядело довольно необычно — тогда еще не было даже соответствующего термина. Но то, что именно это ведомство первым освоило коллажи, не удивительно: его отличает прогрессивное отношение к новым технологиям. Так, оно первым включилось в проект «Шпионопедии» (Intellipedia), работающей в засекреченной сети JWICS (Joint Worldwide Intelligence Communications System). Предпочтение этому подходу было отдано в связи гибкостью, обеспечиваемой AJAX.
В качестве исполнителя Разведывательное управление избрало JackBe с ее платформой NQ Suite AJAX Platform, обладающей как средствами для работы с данными, так и необходимыми презентационными функциями. Совместными усилиями экспертов управления и специалистов JackBe была разработана система Overwatch (overwatch — специфический военный термин, обозначающий ведение наблюдения за местностью в предвидении встречного боя), которая представляет собой информационную панель для виртуального оперативного центра. Overwatch интегрирует на один экран настольного компьютера сведения, поступающие из множества разведывательных источников. Эта программа стала основным инструментальным средством для высшего состава аналитиков. После двух лет эксплуатации система Overwatch была признана одним из наиболее удачных внедрений технологий Web 2.0 в госучреждении. Ее успех заставил корпорации IBM и Microsoft обратить внимание на технологии коллажей, которыми до того занимались более чем скромные по своим размерам компании, такие как JackBe, Serena Software или Kapow Technologies.
IBM собирает коллажВ корпорации IBM «коллажи» (mashups) определяют как облегченные Web-приложения, создаваемые путем комбинирования информации или функциональности из нескольких существующих источников для получения новых возможностей или формирования нового понимания проблемы. Летом 2008 года компания анонсировала платформу Mashup Center, позволяющую создавать коллажи для бизнеса. Это решение предоставляет возможности по сборке динамических ситуационных приложений, обеспечивая все необходимые для корпоративных применений средства управления и безопасности. IBM Mashup Center включает в себя два интегрированных компонента: пользовательскую среду Lotus Mashups и инструмент доступа и трансформации информации InfoSphere MashupHub. Кроме того, Mashup Center может взаимодействовать с еще одной системой IBM для создания коллажей — динамической средой скриптов WebSphere sMash, предназначенной для разработчиков.
Lotus Mashups — это ориентированный на бизнес-пользователей инструментарий сборки приложений-коллажей, его среда позволяет объединять персональный, корпоративный и Web-контент в динамические приложения, причем от пользователей не требуется программистских умений для быстрого создания коллажей-задач. Составными блоками коллажей являются виджеты — небольшие переносимые приложения — или блоки динамического контента, размещаемого на Web-странице. IBM Mashup Center включает в себя Lotus Widget Factory — среду создания виджетов без кодирования. Lotus Mashups также позволяет исследовать различные комбинации виджетов для выявления того представления информации и динамического контента, которые в наибольшей степени соответствуют поставленной задаче.
Помимо виджетов, другой важной составляющей коллажа является информация из различных источников, для получения которой служит система InfoSphere MashupHub, позволяющая открывать для использования в коллажах персональную, корпоративную информацию, данные отдельных подразделений компании и Web-контент. InfoSphere MashupHub обеспечивает средства для трансформации и объединения информации из самых разнообразных источников в форматах (Atom, RSS, XML), удобных для использования в коллажах.
Наконец, WebSphere sMash — платформа для профессиональных разработчиков, позволяющая создавать новые виджеты в виде сервисов в архитектуре REST (Representational State Transfer), которая переносит в Web принципы SOA и открывает компаниям возможность предоставлять свой контент широкой аудитории не только внутренних, но и внешних бизнес-пользователей. WebSphere sMash поддерживает разработку виджетов на двух динамических языках скриптов: PHP и Groovy.
Как утверждают в IBM, новое решение Mashup Center вместе с платформой WebSphere sMash позволяет реализовать все этапы создания корпоративных коллажей.
Раскрытие источников информации. С помощью инструментов InfoSphere MashupHub собирается информация из разных источников, включая корпоративные базы данных, информацию отдельных пользователей и департаментов, а также внутренние и внешние Web-сайты. IBM Mashup Center предоставляет готовые коннекторы для наиболее популярных источников, от бизнес-приложений SAP до данных настольных систем в формате Excel, а также позволяет создавать собственные коннекторы.
Создание динамических виджетов. С помощью простых инструментов Lotus Mashups можно создавать виджеты для бизнес-пользователей или среды разработки WebSphere sMash.
Трансформация информации. С помощью визуального средства на базе браузера в составе InfoSphere MashupHub бизнес-аналитики могут компоновать, объединять, группировать, аннотировать, фильтровать и выполнять другие трансформации собранных из разных источников данных, создавая нужное единое представление разнообразных наборов информации.
Обнаружение и совместное использование ресурсов. Виджеты и собранные из разных источников данные могут публиковаться в централизованном каталоге Mashup Catalog, из которого они извлекаются для многократного применения при создании коллажей. Каталог поддерживает популярные инструменты Web 2.0 для подсчета рейтингов, создания тегов и комментирования информации.
Быстрая сборка коллажей. Lotus Machups предоставляет инструментарий для простой сборки новых коллажей из существующих виджетов и информации, имеющейся в корпоративном каталоге, а также из любых свободно доступных виджетов в Web, например, Google Gadgets. Готовый коллаж может быть предоставлен для просмотра и редактирования отдельными пользователями или группами пользователей, однако для этого они должны получить соответствующие права. Готовые коллажи также могут публиковаться в каталоге.
Наталья Дубова
Вики для разведчиковПоказателем использования технологий Web 2.0 в корпоративных условиях может быть создание специальной онлайновой энциклопедии Intellipedia, предназначенной для американского разведывательного сообщества. Импульсом к ее появлению стал доклад ЦРУ «Вики и блоги на пути к сложному адаптируемому разведывательному сообществу» (The Wiki and the Blog: Toward a Complex Adaptive Intelligence Community), подготовленный в 2005 году. В нем говорится, что в ответ на постоянно изменяющиеся угрозы разведывательное сообщество должно перестроить себя в адаптируемый, способный самостоятельно меняться организм, соответствующий изменяющимся требованиям к национальной безопасности. А дальше следует тезис, понятный любому, кто имеет минимальные знания по кибернетике и теории сложных систем, но неведомый строителям вертикалей власти. Для обеспечения высокого качества управления сложность управляющей системы не может быть ниже сложности управляемого объекта, в данном случае этот тезис можно перефразировать так: «Для того чтобы соответствовать динамическим угрозам, разведывательная система должна обладать не меньшей динамикой, чем эти угрозы». Для достижения этой цели нужно предоставить сотрудникам средства коммуникаций Web 2.0, но не по обычной Сети, а по ее засекреченному аналогу — сети SIPRNet (Secret Internet Protocol Router Network).