Пути интеграции баз данных в SOA / ESB? - PullRequest
2 голосов
/ 08 октября 2008

Ситуация: У некоторых банков есть устаревшая АБС (автоматическая банковская система).

Банк хочет:

  1. уведомляет старую унаследованную систему CRM об изменениях в учетной записи клиента (операция публикации).
  2. проверка ПИН-кодов клиентских карт (операция Запрос / Ответ) - в синхронном режиме.

ABS реализован в очень старых частных технологиях с вызовами StoredProcedures. Таким образом, я могу подключиться к этой системе только через базу данных.

Какие способы интеграции приложений Java / .Net (ESB) со старой / устаревшей системой баз данных вы знаете?

Операция записи / публикации

Сервер данных любого поставщика:

  1. Сканирование таблиц для новых записей - слишком низкая скорость.
  2. Триггер (если он поддерживается), который обрабатывает обновления SQL, вставляет и записывает информацию о событиях в некоторую таблицу. И слушатель приложения должен проверять эту таблицу на наличие событий.
  3. Oracle serevr: PL / SQL TRIGGERS + Oracle AQ. И слушатель для JMS.

Операция чтения

  1. Просто запишите результат в таблицы АБС - опасно.

  2. ...

Как уведомить устаревшую систему баз данных об ответах в синхронном режиме ??? Как реализовать запись / чтение в синхронном режиме ???

Опять же, какие способы интеграции приложений Java / .Net (ESB) со старой / устаревшей системой баз данных вы знаете?

Ответы [ 3 ]

2 голосов
/ 11 октября 2008

Многие поставщики шумихи по поводу DataServices. Я думаю, что наибольшая ценность этих продуктов заключается в интеграции различных источников данных.

Я бы рассмотрел создание простого "приложения", которое предоставляет эти данные в качестве службы

1 голос
/ 08 октября 2008

Это зависит от многих факторов; особенно пропускная способность чтения / записи и чувствительность к производительности базы данных.

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

Затем вы можете использовать триггеры / опросы / JMS, основываясь на том, что вам нужно, без влияния на исходную базу данных.

В зависимости от используемой технологии репликации базы данных; затем вы можете часто устанавливать триггеры в базе данных реплики (которая может время от времени немного отставать от мастера) - чтобы минимизировать влияние на производственную базу данных

0 голосов
/ 01 ноября 2008

Я могу предложить вам использовать Mule в качестве ESB в вашем банке (см. Также http://www.mulesource.org/display/MULE/Home).

Позволяет напрямую связываться с базой данных (уровень jdbc, который должен быть в порядке с хранимыми процедурами, а также уровнем таблиц / представлений). У меня есть положительный опыт интеграции базовой банковской системы (уровень базы данных, Oracle) с автономным приложением (уровень веб-сервисов).

Честно говоря, я не получил все ваши вопросы (вы можете задавать мне вопросы на русском языке напрямую, если вы предпочитаете), но IMO Mule - ваш способ - он может использовать JMS, JDBC, файловый уровень и многие другие и обрабатывать syncronouse Асинкорновые события (см. также http://www.mulesource.org/display/MULE2USER/Available+Transports).

Reagrds.

P.S. Чтобы быть более понятным для англоязычной аудитории, я могу предложить вам использовать базовую банковскую систему более стандартного термина вместо ABS (что означает то же самое в странах xUSSR).

...