Хранилище данных как основа корпоративной интеграции Автор: Александр Кудинов 06.06.2006 КИС Сегодня вопросы интеграции стали одними из самых актуальных для современной ИТиндустрии. В чем же причина злободневности этой темы? Дело в том, что решение проблем интеграции переходит из плоскости информационных технологий в разряд первостепенных задач бизнеса. Так, аналитики консалтинговой фирмы Saugatuck Technology отмечают, что на протяжении последних трех лет интеграция приложений наряду с обеспечением безопасности данных возглавляет список затратных статей ИТдепартаментов. А по данным аналитической компании IDC, в 2005-2006 гг. западноевропейские банки собирались наиболее активно инвестировать средства в повышение эффективности операционной деятельности, оптимизацию взаимодействия с клиентами и увеличение уровня интеграции приложений. Важность этой проблемы привела даже к созданию специального органа, занимающегося интеграцией. Консорциум по интеграции (Integration Consortium, www. integrationconsortium.org) - это международная некоммерческая организация, объединяющая в своих рядах более 50 компаний из различных стран мира. Она была основана в июле 2001 г., в ее работе принимают участие не только поставщики программного и аппаратного обеспечения и системные интеграторы, но и заказчики, представители научных кругов. Для бизнес-сообщества консорциум является проводником идей и ожиданий его участников, поскольку через него сообщество может стимулировать поставщиков технологий к разработке продуктов, предназначенных для решения практических задач. Интеграция данных является основой, от которой зависит успешность интеграции на всех других уровнях информационной системы. В данной статье предпринята попытка кратко рассмотреть методы и соответствующие им технологии интеграции. На одной из них - технологии хранилищ данных, которая может выступать в качестве основы корпоративной интеграции, - остановимся более подробно. Отдельные темы статьи - построение распределенных хранилищ данных и применение языка XML для решения задач интеграции с помощью хранилища данных. Необходимо отметить, что предлагаемая нами для более детального рассмотрения технология, как и любая другая, наряду с несомненными достоинствами имеет и определенные недостатки. Но в этом материале нам хотелось бы рассказать о преимуществах указанного подхода построения системы интеграции корпоративной информации. Краткая классификация интеграционных подходов Прежде всего будет нелишним определить само понятие бизнес-интеграции. Говоря о ней, обычно подразумевают интеграцию данных, процессов и людей, связанных с бизнесом. 1 Иногда сюда включают и информационные системы. В деталях эксперты нередко расходятся. Одни склонны относить сюда информационные порталы, репликацию данных, общие бизнес-функции, сервисно-ориентированную архитектуру, распределенные бизнес-процессы и интеграцию электронного бизнеса (B2B). Другие считают, что следует говорить об интеграции данных, приложений, процессов, отдельно выделяя стандарты и платформы интеграции. На наш взгляд, для наглядности целесообразно рассматривать следующие четыре уровня информационной системы, которые может охватывать бизнес-интеграция: данные, приложения, бизнес-процессы и взаимодействие пользователей. Кратко остановимся на каждом из них. Интеграция данных обеспечивает получение единого представления обо всех данных организации. Это направление опирается на различные технологии и подходы, которые ниже будут рассмотрены подробнее. Сейчас лишь подчеркнем, что интеграция данных является основой, от которой зависит успешность интеграции на всех других уровнях ИС. На уровне интеграции разнородных приложений обеспечивается взаимодействие их функций. Это достигается за счет управления потоками событий и координации работы приложений (в контексте транзакций, сообщений или данных). При интеграции бизнес-процессов компания должна определять и реализовывать процессы обмена корпоративной информацией между различными системами, а также управлять этими процессами. Средства проектирования бизнес-процессов позволяют анализировать, моделировать и имитировать бизнес-процессы и их базовые операции. Средства управления, в свою очередь, реализуют бизнес-процессы и координируют их, опираясь на основные технологии интеграции приложений. Интеграция взаимодействия пользователей обеспечивает их единым персонализированным и безопасным интерфейсом к бизнес-контенту (бизнес-процессам, приложениям и данным), который позволяет сотрудникам взаимодействовать и обмениваться данными. Примером продукта, поддерживающего совместную работу пользователей, является корпоративный портал. Методы интеграции данных Принято считать, что существует три основных метода интеграции данных: консолидация (consolidation), федерализация (federation) и распространение (propagation). Консолидация данных При использовании этого метода данные собираются из нескольких первичных систем и интегрируются в одно постоянное место хранения. Данные из него могут быть использованы для подготовки отчетности и проведения анализа, как в случае хранилища (data warehouse), или в качестве исходной информации для других приложений, как в случае операционного склада данных (Operational Data Store, ODS). Преимущество подобной консолидации состоит в том, что она позволяет трансформировать значительные объемы данных (вести реструктуризацию, согласование, очистку и/или агрегирование) в процессе их передачи от первичных систем к конечным местам хранения. Следует помнить, что в ряде случаев для этого могут потребоваться значительные вычислительные ресурсы. Однако с учетом непрерывного развития 2 современных аппаратных и программных средств и в связи с переходом на более мощные вычислительные платформы, например 64-разрядные серверы и базы данных, данное ограничение не представляется серьезным. Консолидация данных - основной подход, используемый при построении корпоративных хранилищ данных. Как известно, такое хранилище дает полную историческую картину и обеспечивает широкие возможности для анализа. Однако часто упускается из виду, что, являясь надежной платформой для аналитических процедур, хранилище предназначено также для решения следующих проблем: - интеграции текущих и исторических данных; - объединения данных из разрозненных источников; - обеспечения однородности данных в организации; - поддержки корпоративных стандартов, не требующей изменения действующих учетных и транзакционных систем. Существует три основных метода интеграции данных: консолидация (consolidation), федерализация (federation) и распространение (propagation). Консолидация может применяться также при создании витрины данных*1 на основе только одного источника (например, корпоративного хранилища). При построении хранилищ данных одной из самых распространенных технологий консолидации является технология ETL (Extract, Transform, Load). Другая распространенная технология такого рода - управление корпоративным контентом (Enterprise Content Management, ECM). Большинство решений ECM предназначено для управления неструктурированными данными: документами, отчетами и Web-страницами. _____ *1Под зависимой витриной данных (Dependent Data Mart) принято понимать витрину, в которую помещают данные, извлеченные из хранилища, имеющего структуру “звезда”, и которая использует аналогичную модель данных Федерализация данных Цель данного подхода - обеспечение единой виртуальной картины одного или нескольких источников исходных данных. Если бизнес-приложение генерирует запрос к этому виртуальному представлению, то процессор федерализации извлекает данные из соответствующих первичных источников, интегрирует их таким образом, чтобы они вписывались в виртуальную картину и отвечали требованиям запроса, и отправляет результаты этому бизнес-приложению. Все необходимые преобразования данных осуществляются при их извлечении из первичных файлов. Федеративный подход поддерживается технологией интеграции корпоративной информации (Enterprise Information Integration). Часто в качестве основных достоинств такого подхода называют возможность доступа к самой свежей информации и отсутствие необходимости консолидировать первичные данные в отдельной БД. Однако следует помнить, что федерализация не очень хорошо 3 подходит для извлечения и согласования больших массивов данных или в тех случаях, когда имеются серьезные проблемы с качеством данных в первичных системах. Еще один существенный фактор - возможное снижение производительности и дополнительные затраты на доступ к многочисленным источникам данных во время исполнения запросов. Распространение данных Распространение данных подразумевает их копирование из одного места в другое. Этот подход обычно используется для операций реального времени и базируется на механизмах "проталкивания", т. е. является событийно управляемым. Обновления, произошедшие в первичной системе, могут передаваться в конечную систему синхронно или асинхронно. Синхронная передача требует, чтобы обновления в обеих системах происходили во время одной и той же физической транзакции. Независимо от используемого типа синхронизации метод распространения гарантирует доставку данных в систему назначения. Такая гарантия - основной отличительный признак технологии распространения данных. Большинство методов синхронного распространения поддерживает двусторонний обмен данными между первичными и конечными системами. Примерами технологий, поддерживающих распространение данных, являются интеграция корпоративных приложений (Enterprise Application Integration) и тиражирование корпоративных данных (Еnterprise Data Replication). Консолидация данных на основе распределенного хранилища данных Хотелось бы более подробно остановиться на консолидации данных на основе хранилища, а точнее, на его перспективной разновидности - распределенном хранилище данных. Сегодня в связи с тенденцией укрупнения и диверсификации бизнеса особую актуальность приобретают именно такие хранилища. Они представляют собой систему иерархически связанных хранилищ данных и состоят из нескольких экземпляров хранилищ, которые функционируют на полуавтономной основе и, как правило, организационно или географически разнесены, однако могут управляться как один объект. Подобный подход идеален для крупных организаций со сложной разветвленной структурой автономных подразделений. Его цель - найти баланс между двумя крайностями: всеобъемлющим корпоративным хранилищем данных, обслуживающим все регионы и области бизнеса, и отдельными автономными региональными или отраслевыми хранилищами. В этом случае можно, с одной стороны, осуществлять общий контроль и предусмотреть определенную степень стандартизации, а с другой - позволить региональным отделениям сохранять автономность и учитывать местную специфику. Язык XML идеален для построения словаря метаданных в случае развертывания распределенного хранилища данных. Нетрудно увидеть, что данный подход обладает целым рядом преимуществ. Во-первых, в связи с тем, что построение распределенного хранилища данных можно осуществлять постепенно - шаг за шагом, значительно снижается риск неудачи при глобальном развертывании системы. Разумеется, региональные отделения несут затраты на разработку хранилища, но их расходы окупаются, поскольку у отделения появляется свой собственный информационный актив. В этом состоит коренное отличие от использования одного4 единственного, монолитного хранилища данных, когда большинство затрат ложится тяжким бременем на филиалы компании, а "сливки снимает" головной офис. Во-вторых, упомянутый выше метод постепенного развертывания позволяет реализовать местный контроль, упростить управление проектами и улучшить понимание местной специфики. Становится возможным сосредоточить внимание на тех сторонах или областях бизнеса, которые в первую очередь выиграют от использования хранилища данных и где можно быстрее всего получить возврат инвестиций. Немного практики. Еще одно важное замечание: консолидация данных на основе распределенного хранилища данных - это не область чистой теории, данный подход уже применяется на практике. Немало западных компаний успешно используют распределенные хранилища данных. Так, в концерне Shell построен целый ряд корпоративных хранилищ, расположенных в разных странах мира и объединенных в одну иерархическую систему во главе с центральным хранилищем данных. Благодаря этому компания может решать задачи подготовки отчетности для регионального руководства, а также собирать итоговые данные на региональном и глобальном уровнях. Гибкость используемой технологии позволила за два года ввести в разных отделениях более 50 изменений в базовую бизнес-модель (например, добавить новую структуру категорий продуктов), причем для передачи каждого изменения из центрального хранилища данных в локальные потребовалось в среднем около двух дней. Корпорация Unilever тоже создала распределенную систему, охватывающую территорию от Бразилии до Пакистана. Перед ней стояла задача создания распределенного федеративного хранилища для сбора и агрегирования данных о продажах в регионах и каждой отдельной стране. Примечательно, что данный подход нашел применение не только на Западе. Так, ЗАО "НордСервис", являющееся одной из ведущих отечественных компаний нефтегазового рынка, до недавнего времени использовало центральное (единое) хранилище данных для сбора информации из удаленных подразделений, ее проверки и "очистки" и расчета на ее базе бюджетных показателей, управленческого баланса, бюджета активов и пассивов для всего холдинга. В определенный момент стало очевидно, что существующая схема работы может быть улучшена путем повышения ответственности основных бизнесподразделений компании. Для этого на удаленных предприятиях развертываются экземпляры хранилища данных, предназначенные для расчетов их собственных бюджетных показателей и балансов, которые затем передаются в головной офис. Интеграция, хранилище данных и XML Как показывает практика, достоинства хранилищ данных как интеграционной основы для создания единой общекорпоративной среды оценены и активно используются во всем мире. К примеру, такая непростая задача, как получение данных из исходных систем, может быть эффективно решена с помощью языка XML, используемого в качестве средства для выгрузки информации из исходных систем и ее последующей загрузки в хранилище. Мы не будем подробно останавливаться на преимуществах применения языка XML для построения формата обмена данными - об этом написано достаточно много (см., в частности, PC Week/RE, N 33/2005, с. 33). Отметим только повсеместное распространение XML: сегодня практически невозможно найти систему, которая не поддерживает этот язык и не позволяет осуществлять загрузку и выгрузку данных в формате XML. В частности, такой популярный продукт, как MS Excel, экспортирует данные в XMLформат. Важно и то, что организацией выгрузки информации могут заниматься 5 сотрудники компании - пользователя решения, которые лучше знают свои ИС и быстрее разрешат возможные конфликты в случае изменения структуры источников данных. В многофилиальной компании XML-формат автоматически становится общекорпоративным стандартом. Данный подход был реализован компанией Intersoft Lab в хранилище данных "Контур корпорация". Для сбора данных здесь применяется XML-формат, ориентированный на описание объектов предметной области. Предполагается, что данные, выгружаемые из исходных систем, конвертируются в нужный XML-формат, который автоматически создается в "Контур корпорации" на основе описаний информационных объектов, подлежащих загрузке в хранилище. Описание информационных объектов содержится в словаре метаданных. Важно, что выгрузку данных из внешних источников в формат XML осуществляют специалисты организации заказчика, а это гарантирует, что при изменении структуры источников проблем с перенастройкой системы будет гораздо меньше. Отличительной особенностью реализации этого подхода является возможность расширить форматы обмена, не останавливая процессов передачи данных. Если структура хранилища меняется, то автоматически меняется и XML-формат. В таком случае новые XMLформаты не описываются вручную, а по заранее определенным правилам генерируются в момент изменения настроек хранилища. После чего система готова к сбору данных в новом формате. Важно, что при этом не требуется разрабатывать или модифицировать процедуры загрузки. Как показывает наш опыт, язык XML идеален для построения словаря метаданных при развертывании распределенного хранилища данных. Действительно, этот словарь может быть полностью или частично выгружен из центрального хранилища в XML-файл и загружен из него в локальные хранилища. Таким образом, хранилища данных, устанавливаемые в подчиненных организациях, могут быть быстро настроены в соответствии с общей корпоративной моделью. Кроме того, любые изменения в базовой модели легко передаются в филиалы. Подобное применение языка XML позволяет решать многие прикладные задачи, стоящие перед компаниями со сложной организационной структурой и организациями, участвующими в информационном обмене. Например, такой актуальный сегодня вопрос, как сбор сведений для кредитных историй, может быть эффективно решен путем установки в банках экземпляров хранилищ данных, предназначенных для подготовки информации к передаче в кредитные бюро. 6