Oracle Magazine - Русское издание (Октябрь 2007)

Марк Риттман ,
член команды Oracle ACE

Введение в интеграцию данных в реальном времени
(An Introduction to Real-Time Data Integration,
by Mark Rittman
)

Источник: сайт корпорации Oracle, http://www.oracle.com/technology/pub/articles/rittman-odi.html

Эта статья представляет собой введение в Oracle Data Integrator, программное Java-обеспечение среднего слоя, которое использует базу данных для выполнения набора задач интеграции данных на основе SOA.

В наше время сложных, “hot-pluggable” (“подключаемых без выключения”) систем и сервис-ориентированной архитектуры (SOA), согласование данных и "доведение их до ума" становится все более и более трудным делом. В то время, как база данных основных приложений функционирует под управлением Oracle Database, вполне можно иметь другие, меньшие системы, использующие базы данных и платформы, поставляемые другими производителями. Приложения могут общаться между собой при использовании технологий типа Web-сервисов, приложения и данные могут размещаться на удаленных компьютерах, а управление ими может производиться с единого корпоративного центра данных.

Программный продукт Oracle Data Integrator (http://www.oracle.com/technology/products/oracle-data-integrator/index.html) , член семейства продуктов Oracle Fusion Middleware (http://www.oracle.com/technology/products/middleware/index.html), решает задачи интеграции данных для все более и более гетерогенных сред. Он представляет собой Java-приложение, использующее базу данных для выполнения наборов задач интеграции данных, и распространяет эту возможность для широкого диапазона типов баз данных также, как для Oracle Database. Кроме того, этот продукт дает возможность извлекать и включать преобразованные данные посредством Web-сервисов и сообщений, а также создавать интеграционные процессы, отвечающие на события или создающие их в корпоративной сервис-ориентированной архитектуре.

Архитектура Oracle Data Integrator

Oracle Data Integrator организован в виде модульного репозитория, к которому обращаются графические Java-модули и агенты планирования. Графические модули, применяемые для проектирования и построения интеграционных процессов, используются агентами для планирования и координинации задач интеграции. Когда проекты Oracle Data Integrator переходят в стадию промышленной эксплуатации, лица, осуществляющие управление данными (data stewards - стюарды данных), могут использовать Web-приложение, именуемое Metadata Navigator, чтобы сообщить о метаданных в репозитории. Встроенные Knowledge Modules (модули знаний ) извлекают и загружают данные на гетерогенные платформы, используя для этого специфичные для каждой платформы код и утилиты.

Репозиторий Oracle Data Integrator состоит из главного репозитория, содержащего детализированные данные о ролях и о пользователях, подключениях к базам данных и другим источникам данных, а также о версиях проектов для одного или нескольких рабочих репозиториев, где содержатся детализированные моделей данных и отображения, используемые для интеграции данных. Эти репозитории могут храниться и в реляционных базах данных Oracle, и в реляционных базах данных других производителей. Управление этими репозиториями осуществляется при помощи графических модулей, а агенты получают к ним доступ во время выполнения.

Для создания и управления проектами Oracle Data Integrator используются четыре графических модуля:

  • Designer (Проектировщик) используется для определения хранилищ данных (таблицы, файлы, Web-сервисы и так далее), интерфейсов (отображений данных) и пакетов (наборов шагов интеграции, включая интерфейсы).
  • Topology Manager (диспетчер топологий) используется для создания подключений и управления источниками данных и агентами. Обычное ограничение состоит в том, что доступ к нему имеют только администраторы.
  • Operator (Оператор) используется для рассмотрения задач интеграции производства и управления ими.
  • Security Manager (Руководитель службы безопасности) управляет пользователями и их привилегиями в репозитории.

Поскольку эти приложения построены на базе Java, они могут выполняться в любой Java-среде, в том числе Microsoft Windows, OS Macintosh X и Linux.

Декларативное проектирование

Вообще говоря, в задаче интеграции данных можно выделить две ключевые области:

  • Бизнес-правила – какие биты данных преобразуются и объединяются с другими битами
  • Технические подробности того, как практически извлекать, загружать данные и так далее

То, что этому разбиению уделяется такое внимание, означает, что часто наиболее подходящими кандидатами на роль определяющих подобные бизнес-правила становятся технические эксперты организации в области бизнеса или данных, тогда как технические подробности часто лучше оставить для технического персонала, скажем, типа разработчиков и АБД. При использовании же большинства инструментальных средств интеграции данных часто оказывается трудно разделить обязанности подобным образом, потому что особенности отображения в них данных перепутывают бизнес-правила и технические детали реализации в одном и том же отображении данных. В Oracle Data Integrator применяется другой подход, где как и в SQL, используется декларативный подход к построению отображений данных, которые в пределах этого инструментального средства принято называть "интерфейсами".

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

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

Расширяемые модули знаний

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

Модули знаний для Oracle Data Integrator являются "плагинами", в которых инкапсулированы лучшие методы загрузки, преобразования или объединения данных для определенного источника данных или целевого объекта. В Oracle Data Integrator имеется шесть типов модулей знаний, как показано на следующей диаграмме:

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

Модули знаний также являются расширяемыми, таким образом, в будущем вы сможете добавить функциональные возможности, не предоставляемые Oracle Data Integrator в настоящее время. Например, сравнительно просто взять имеющийся набор модулей знаний на базе Oracle и расширить его, чтобы включить опцию Oracle Data Pump для Oracle Database 10g.

Межсетевые экраны качества данных

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

В Oracle Data Integrator используется инновационный подход к этой проблеме, связанный с использованием модулей проверки знаний для выполнения “межсетевой защиты” от грязных данных из источника данных. Этот метод позволяет использовать в процессе интеграции только те данные, которые удовлетворяют вашим бизнес-правилам. При использовании этого подхода для эффективного гарантирования качества данных необходимо сначала определить для своих исходных объектов одно или несколько ограничений, а затем использовать модули проверки знаний для идентификации любых строк, которые не удовлетворяют этим ограничениям, и занесения таких строк в таблицу ошибок.

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

Поддержка фиксации измененных данных

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

Поскольку это является довольно общепринятым требованием, Oracle Data Integrator предоставляет модули журнализации знаний, в которых ведется мониторинг исходных баз данных, а новые и измененные записи копируются в журнал, который можно будет впоследствии читать вместо первоначальной исходной таблицы. В тех случаях, когда поставщики базы данных, например, Oracle, предоставляют собственную поддержку фиксации измененных данных, используются именно эта возможность; в противном же случае модуль журнализации знаний использует методики типа триггеров, чтобы фиксировать действия языка манипулирования данными (язык DML) и сделать изменения доступными. Позже в этой статье вы увидите, как в Oracle Data Integrator предоставляется поддержка опции фиксации измененных данных (Oracle Change Data Capture), и как ее можно использовать для инкрементальной загрузки базы данных в режиме реального времени на других платформах баз данных.

Oracle Data Integrator по отношению к Oracle Warehouse Builder

К этому моменту постоянные пользователи Oracle Warehouse Builder, вероятно, уже успели задать вопрос о том, какое отношение к ним имеет Oracle Data Integrator, и как все это вписывается в остальную часть стека технологий работы с хранилищами данных Oracle. Ответ состоит в том, что Oracle Data Integrator является инструментом, дополнительным к Oracle Warehouse Builder, и может оказаться особенно полезным, когда работа, связанная с созданием уровней промежуточного хранения и интеграции в вашем хранилище данных Oracle, нетривиальна или затрагивает источники баз данных SOA или других (не Oracle) производителей.

Для тех, кто строит хранилища данных Oracle, в Oracle Warehouse Builder имеется широкий набор связанных с Oracle опций организации хранилищ данных, например, поддержка моделирования реляционных и многомерных структур данных, интеграция с Oracle Business Intelligence Discoverer, поддержка загрузки медленно изменяющихся измерений и профилировщик данных – для понимания структуры и семантики ваших данных.

Момент, где создает ценность Oracle Data Integrator, – это начальная подготовка и интеграция ваших исходных данных, вплоть до промежуточной области хранения хранилища информации.

Oracle Data Integrator может интегрировать и синтезировать данные из многочисленных несопоставимых источников данных, включая Web-сервисы и архитектуры на основе событий, и, как показано на приведенном выше рисунке, предоставляет удобный графический интерфейс поверх связанных с Oracle Database особенностей, типа Oracle Change Data Capture. После того как данные будут интегрированы и скопированы в промежуточную область хранения в хранилище данных, Oracle Warehouse Builder может принять от Oracle Data Integrator полномочия и создать для хранилища склад операционных данных и уровни измерений, а затем заполнить их.

Теперь, когда вы познакомились с Oracle Data Integrator, в предлагаемой статье будет показано, как этот инструмент используется в реальном сценарии интеграции данных.

Oracle Data Integrator в деле: кросс-платформенная интеграция данных в реальном времени

В этом сценарии перед вами ставится задача – получить некоторые данные о заказах и клиентах из базы данных Oracle, объединить их с другими данными о служащих, хранящимися в плоском файле, а затем загрузить интегрированные данные в базу данных Microsoft SQL Server 2000. Поскольку анализ заказов должен вестись в порядке их поступления, вы хотите передавать их в целевую базу данных как можно ближе к реальному времени, и извлекать только новые и измененные данные, чтобы сохранить как можно более низкий уровень рабочей нагрузки. В сети Oracle Technology Network вы читали об Oracle Data Integrator и теперь хотите использовать этот новый инструмент для извлечения и загрузки своих данных.

Сначала нужно войти в Oracle Data Integrator и запустить Topology Manager, как показано на следующем рисунке.

В Oracle Data Integrator принято называть физическую базу данных, сервис или источник данных на основе событий сервером данных. Используя Topology Manager, вы создаете три новых сервера данных:

  1. Сервер данных Oracle Database, установленный пользователем SYSTEM, обслуживает схемы ORDERS и ORDERS_WORKAREA. Схема ORDERS содержит данные о заказах, которые вы хотите извлечь, тогда как схема ORDERS_WORKAREA – это та самая схема, которую вы специально создали, как пустую схему для хранения рабочих таблиц, создаваемых Oracle Data Integrator. Для создания этого подключения используйте драйвер Oracle JDBC.
  2. Сервер данных файла (File), который отображается на разделенный запятыми файл, содержащий детальную информацию о служащих. Для создания этого подключения используйте Sunopsis File JDBC Driver.
  3. Сервер данных Microsoft SQL Server, который отображается на базу данных по имени ORDERS_DATA_MART. Для создания этого подключения используйте драйвер Sun JDBC-ODBC Bridge JDBC или драйверы Microsoft JDBC, которые можно загрузить с Web-сайта Microsoft.

После того как будут определены серверы данных, вы выходите из Topology Manager и запускаете Designer. Используя Designer, вы создаете модели данных для представления таблиц Oracle, файл, а также таблицы и файлы Microsoft SQL Server, которые будут в дальнейшем именоваться в Oracle Data Integrator хранилищами данных. Создайте сначала модели Oracle и Microsoft SQL Server, а затем используйте опцию Reverse для импорта таблиц с метаданными в репозиторий Oracle Data Integrator, как показано на следующем рисунке.

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

Удостоверьтесь, что если для лежащих в основе исходных таблиц не были определены первичные ключи, то вы определили их путем использования приложения Designer и обязали Oracle Data Integrator принудительно выполнять их, потому что многие из особенностей отображения Oracle Data Integrator полагаются на то, что были определены ограничения.

Теперь, когда определены хранилища данных, вы можете начать создавать процесс фиксации измененных данных, на вход которого поступают ваши исходные данные.

Тем не менее, прежде чем сделать это, вы импортируете в свой проект модуль знаний, который предлагает функциональные возможности фиксации измененных данных. Чтобы сделать это, Вы должны в приложении Designer кликнуть по вкладке Projects, кликнуть правой кнопкой мыши по проекту и выбрать Import->Import Knowledge Modules. Из перечня выберите следующие модули знаний, которые предлагают функциональные возможности фиксации измененных данных и будут использоваться в других частях проекта.

  • CKM SQL
  • IKM SQL Incremental Update
  • JKM Oracle 10g Consistent (LOGMINER)
  • LKM File to SQL
  • LKM SQL to SQL

Теперь, когда стали доступны необходимые модули знаний, необходимо отредактировать предварительно созданный модуль Oracle и выбрать вкладку Journalizing. Поскольку вы хотите согласованным образом фиксировать изменения таблиц ORDERS и CUSTOMER, то выбирается опцию Consistent и модуль знаний JKM Oracle 10g Consistent (LOGMINER). Этот модуль знаний, показанный на следующем рисунке, будет фиксировать новые и измененные данные, используя опцию Oracle Database 10g LogMiner, и асинхронно распространит изменения на всю очередь, используя для этого Oracle Streams.

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

  • Asynchronous Mode (Асинхронный режим): Да
  • Auto-Configuration (Автоматическое конфигурирование): Да
  • Journal Table Options (Опции таблицы журнала): значение по умолчанию

Нажмите Apply, чтобы сохранить изменения, а затем нажмите OK, чтобы закончить конфигурирование. Теперь вы должны добавить таблицы к набору фиксации измененных данных.

Чтобы сделать это, вы определяете местонахождение сервера данных Oracle в перечне моделей Designer, по очереди щелкаете правой кнопкой мыши по таблицам CUSTOMERS и ORDERS и выбираете Changed Data Capture->Add to CDC. Затем еще раз отредактируйте модель на вкладке Journalized Tables и используйте клавиши со стрелками "вверх" и "вниз", чтобы поместить таблицу ORDERS выше таблицы CUSTOMERS.

Теперь вы готовы создать журнал, в котором будут фиксироваться измененные данные из этих двух таблиц. Для этого снова щелкните правой кнопкой мыши по модели и выберите Changed Data Capture->Start Journal. Нажмите OK, чтобы выполнить код локально, а затем запустите приложение Operator, чтобы проверить прогресс операции. Если все прошло хорошо, вам будет представлен перечень выполненных шагов, похожий на следующий.

Если в ходе выполнения процесса возникли ошибки, то обычно это бывает связано с тем, что при подключении к Oracle была использована учетная запись пользователя, у которой нет необходимых привилегий. Проверьте имеющуюся детальную информацию о пользователе и документацию Oracle Data Integrator, чтобы разрешить любые ошибки перед тем, как перейти к оставшейся части упражнения.

Затем вы добавляете подписчика журнала, возвращаясь для этого к приложению Designer. Там необходимо щелкнуть правой кнопкой мыши по серверу данных источника Oracle и выбрать Changed Data Capture->Subscriber->Subscribe. Вы добавляете нового подписчика и выполняете код локально, чтобы гарантировать, что код выполняется правильно (при выполнении некоторых операций могут генерироваться предупреждения, потому что необходимые таблицы были уже созданы на предыдущем шаге). Как только этот шаг будет завершен, Вы получите процесс фиксации измененных данных, и Вы будете готовы приступить к построению интерфейсов.

Для этого проекта требуются два интерфейса, первый из которых берет существующий набор данных из базы данных источника Oracle, объединяет его с данными в исходном файле и загружает их в целевую базу данных Microsoft SQL Server, как показано на приведенном рисунке.

Заметьте, что некоторые из столбцов целевой таблицы были отображены автоматически, но другие столбцы, например, SALES_PERSON_ID, SALES_PERSON_NAME и CUSTOMER_NAME, первоначально оказываются не отображенными, потому что процесс отображения не смог найти соответствующий исходный столбец. Теперь вы должны вручную отобразить эти другие столбцы, используя для ввода SQL-предложения редактор выражений, используя синтаксис либо исходных, либо целевых баз данных – в зависимости от того, где именно имеет место преобразование.

Если Вы кликнете по вкладке Flow, то сможете увидеть фактические модули знаний, которые используются для загрузки и последующей интеграции ваших данных, как показано на приведенном рисунке.

Для того чтобы дать возможность извлекать данные из любой базы данных и файла и затем инкрементально загружать их в любую базу данных, Oracle Data Integrator выбирает модули знаний по умолчанию. Позже можно будет изменить эти модули знаний на более подходящие для вашей конкретной базы данных и версии, но пока оставьте для них значение по умолчанию.

И, наконец, как показано на следующем рисунке, кликните по вкладке Control, чтобы выбрать Control Knowledge Module (CKM – модуль контроля знаний), используемый для того, чтобы разобраться с ошибками ограничений в целевой таблице. Выберите модуль знаний CKM SQL Knowledge Module, который обработает ошибочные данные для любой базы данных, соответствующей требованиям ISO-92.

Теперь вы готовы приступить к тестированию интерфейса. Для этого кликните по кнопке Execute в правом нижнем углу диалога интерфейса, а затем откройте приложение Operator, чтобы проверить продвижение интерфейса, как это показано на приведенном ниже рисунке.

Поскольку интерфейс был выполнен без ошибок, вы переходите к целевому хранилищу данных в приложении Designer и просматриваете загруженные данные, как показано на следующем рисунке.

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

Чтобы сделать это, следует создать еще один интерфейс, но на сей раз, когда вы будете добавлять исходные таблицы CUSTOMERS и ORDERS, кликните по флажку, указывающему, что используются журнализированные (занесенные в журнал) данные, а не контенты хранилища данных. После того как вы сделаете это для одной из подвергнутых журнализации таблиц, тот же режим будет автоматически выбран для всех других таблиц в согласованном наборе, как показано на приведенном ниже рисунке.

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

Чтобы протестировать этот второй интерфейс, вы вставляете в таблицы ORDERS и CUSTOMERS некоторые новые записи и затем используете интерфейс Designer для расширения окна журнала; позже вы расширите окно автоматически, а затем произведете его очистку, как часть пакета Oracle Data Integrator. Пока же, тем не менее, вы должны кликнуть правой кнопкой мыши по модели данных Oracle и выбрать из контекстного меню Changed Data->Consumption->Extend Window, чтобы сделать последний набор новых и измененных данных доступным для второго интерфейса, как показано на следующем рисунке.

Вы можете быстро проверить, какие строки находятся в журналах таблицы, кликнув правой кнопкой мыши по релевантному хранилищу данных, выбирая Changed Data Capture, а затем Journal Data …, или же можете выполнить интерфейс, открывая его снова в редакторе и нажимая Execute в правом нижнем углу экрана.

Поскольку вы уже загрузили начальный набор данных в целевую витрину данных, используя первый созданный интерфейс, теперь создайте пакет Oracle Data Integrator, чтобы выполнить следующие шаги:

  1. Проверьте записанные в журнал данные из таблиц ORDERS и CUSTOMER, чтобы увидеть, были ли в них добавлены новые или измененные записи данных. Как только будет обнаружено предварительно определенное число записей журнала, выполните остальную часть пакета или перейдите к последнему шагу, не загружая никаких данных.
  2. Если обнаружены записанные в журнал данные, расширьте окно журнала.
  3. Выполните интерфейс для чтения записанных в журнал данных, подключите к нему файл и загрузите результат в целевое хранилище данных.
  4. Произведите чистку окна журнала.
  5. Запустите этот пакет снова.

При разработке подобного пакета и последующем его развертывании как сценария Oracle Data Integrator фактически создает работающий в реальном времени, непрерывно выполняющийся процесс ETL. Используя опцию обнаружения событий пакета Oracle Data Integrator, этот сценарий запустит себя, как только будет обнаружено предварительно заданное число измененных записей данных или после того как пройдет также заданный предварительно интервал времени (обычно измеряемый в миллисекундах). Устанавливая подходящие пороги количества записанных в журнал данных и времени тайм-аута, вы можете создать процесс интеграции в реальном времени с минимальным временем ожидания.

Чтобы создать этот пакет, следует переместиться на вкладку Projects в приложении Designer, определить местонахождение папки, содержащей определенные ранее интерфейсы, найти элемент Packages, кликнуть по нему правой кнопкой мыши и выбрать опцию Insert Package. Затем вы присваиваете пакету имя и передвигаетесь к вкладке Diagram в диалоговом окне деталей пакета.

Используя размещенную справа инструментальную панель, Вы переходите в папку Event Detection и добавляете инструмент OdiWaitForLogData состав пакета, как показано на приведенном ниже рисунке. Этот инструмент будет через регулярные интервалы времени опрашивать записанные в журнал данные, а затем либо завершаться неудачей, если не будет найдено никаких строк, либо передавать управление следующему шагу в пакете, если в журнале было обнаружено установленное число строк.

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

Теперь вы добавляете шаг для расширения окна журнала, чтобы считать в него новые данные. Чтобы сделать это, Вы переходите к списку моделей и занесите в него модель Oracle. Вы выбираете модель, рассматриваете ее свойства, а затем заменяете список Model Type на Journalizing Model, как показано на приведенном рисунке.

Затем следует кликнуть по флажку Extend Window, чтобы указать, что связанный с журналом шаг – это шаг расширения окна журнала.

Затем вы добавляете интерфейс, который связывает данные из журналов с отображениями, и снова добавляете к пакету модель Oracle, но на сей раз выбираете опцию Purge Window, чтобы произвести очистку журнала после того, как он будет прочитан. Наконец, вы добавляете инструмент OdiStartScen из папки Utilities на инструментальной панели, чтобы перезапустить его снова, как только он закончится, а также добавляете коннекторы для показа потока шагов, как это сделано на следующем рисунке, в зависимости от того, обнаружены ли на первом шаге строки журнала, или нет.

Поскольку на заключительном шаге OdiStartScen обращается к сценариям, являющимся запущенными в массовое производство версиями пакетов, вы определяете местонахождение пакета, с которым вы работаете, во вкладке Project приложения Designer, кликаете по нему правой кнопкой мыши и выбираете Generate Scenario. После того как был создан сценарий, вы редактируете свойства шага OdiStartScen, чтобы он ссылался на только что сгенерированный вами сценарий. Добавляя к пакету этот заключительный шаг, вы сможете гарантировать, что он постоянно выполняется, распространяя новые и измененные данные из исходных таблиц Oracle в целевую базу данных в режиме реального времени.

Резюме

Инструментальное средство Oracle Data Integrator – новое прибавление в семействе продуктов Oracle Fusion Middleware – дает вам возможность выполнять интеграцию, ориентированную на данные, события и на сервисы для большого числа платформ. Это средство дополняет Oracle Warehouse Builder и предоставляет графический интерфейс для специфических для Oracle Database особенностей, например, для загрузки больших объемов данных и Oracle Change Data Capture. В прочитанной вами статье было показано, как можно использовать Oracle Data Integrator для создания процессов интеграции данных в реальном времени между несопоставимыми платформами, и как декларативный подход к процессу интеграции позволяет вам сосредоточиться на управлении бизнесом, а не на деталях реализации.


Марк Риттман ( http: // www.rittmanmead.com/blog), член команды "ACE Oracle" (Асы Oracle), является соучредителем компании Rittman Mead Consulting, специализированного партнера Oracle. Эта компания из Великобритании сосредотачивает свои усилия на системах Oracle для анализа бизнес-информации и организации работы с хранилищами данных. Марк является постоянным участником OTN и форумов OTN и одним из авторов книги "Oracle Business Intelligence Suite Developers’ GuideЭ (“Руководство для разработчиков набора Oracle Business Intelligence”), выпуск которой в издательстве Oracle Press намечен на 2008 год.

E-mail this page