Как лучше всего интегрировать несколько систем?

9
задан Erratic 25 September 2008 в 04:15
поделиться

6 ответов

Интеграция разрозненных систем является моим дневным заданием.

На вашем месте я перешел бы к большому усилию постараться не получать доступ к данным A System из непосредственно в System B. Updating, база данных A System от System B чрезвычайно неблагоразумна. Это - точно противоположность хорошей практики для создания бизнес-логики таким образом рассеянной. Вы закончите тем, что сожалели о нем.

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

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

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

Удачи.

Править:

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

8
ответ дан 3 November 2019 в 00:06
поделиться

Кажется поиском мнений таким образом, я обеспечу мой.

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

0
ответ дан 3 November 2019 в 00:06
поделиться
4
ответ дан 3 November 2019 в 00:06
поделиться

Одна из проблем, которые Вы будете иметь, состоит в том, чтобы выровнять данные в каждой из различных систем так, чтобы это могло быть интегрировано во-первых. Может случиться так, что каждая из систем, которые Вы хотите интегрировать, содержит совершенно различные наборы данных, но более вероятно это - данные, которые накладываются. Прежде, чем погрузиться в запись API:s (который является маршрутом, которым я следовал бы также, учитывая Ваше описание) я рекомендую попытаться придумать логическую модель данных для данных, которые должны быть интегрированы. Эта модель данных затем поможет Вам усилить данные, которые Вы имеете в различных системах и делаете ее более полезной для других баз данных.

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

0
ответ дан 3 November 2019 в 00:06
поделиться

Непосредственно взаимодействие через интерфейс через продвижение / ввод по абсолютному адресу баз данных выставляет много внутренней детали одной системы другому. Существуют очевидные недостатки: обновление одной системы может повредить другой. Кроме того, могут быть технические ограничения в том, как одна система может получить доступ к базе данных другого (рассмотрите, как приложение, записанное в C на Unix, будет взаимодействовать с базой данных SQL Server 2005, работающей на Windows 2003 Server).

Первой вещью, которую необходимо решить, является платформа, где "основная база данных" будет находиться, и то же для промежуточного программного обеспечения, обеспечивающего очень необходимое связующее звено. Вместо того, чтобы идти к интеграции промежуточного программного обеспечения уровня API (такой как CORBA), я предложил бы, чтобы Вы считали сообщение Ориентированным Промежуточным программным обеспечением. MS Biztalk, агат Sun и Fusion Oracle может быть некоторыми опциями.

Ваша идея новой базы данных является шагом в правильном направлении. Вы хотели бы читать немного на шаблоне Агрегирования Объекта Предприятия.

Комбинация "интеграции данных" с промежуточным программным обеспечением является способом пойти.

0
ответ дан 3 November 2019 в 00:06
поделиться

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

  1. Реализация сервисов/API для различных систем, которые выставляют функциональность для каждой системы
  2. Реализация Промежуточного программного обеспечения, которое получает доступ к этим API и предоставляет интерфейс всем системам для доступа к данным/сервисам из других систем (данные доступов из центрального источника при наличии, еще получает их от другой системы),
  3. Реализация Центральной Базы данных только, без данных
  4. Реализация Caching/Data-Storage Services на уровне Промежуточного программного обеспечения, который может хранилище/данные кэша в центральной базе данных каждый раз, когда к тем данным получают доступ от любой из Систем, например, ЕСЛИ Системные записи A 1-5 выбираются Системой B через Промежуточное программное обеспечение, Middleware Data Caching Services, может сохранить эти записи в централизованной базе данных и в следующий раз, когда эти записи будут выбраны от центральной базы данных
  5. Чистка данных может произойти параллельно
  6. Можно также создать механизм импорта для продвижения данных от нескольких систем до центральной базы данных ежедневно (автоматизированный или руководство)

Таким образом, усилие распределяется через несколько этапов, и данные постепенно хранятся в центральной базе данных на first-accessed-first-stored основе.

0
ответ дан 3 November 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: