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

  1. Извлечение данных из конечных учетных систем.
  2. Доставка данных в центральную БД.
  3. Загрузка данных в центральную БД.
  4. Построение аналитической отчетности.

Платформа SQL Server идеально подходит для решения всех этих задач, т.к.:

  1. Имеет все необходимые инструменты.
  2. С большой вероятностью, в ряде дочерних компаний уже используется SQL Server, поэтому не нужно заниматься развертыванием нового софта и планировать соответствующие программные и аппаратные ресурсы.

Общая картинка такого решения может выглядеть следующим образом:

111

Опишу каждую задачу с решением более подробно:

1. Извлечение данных из конечных учетных систем.

Здесь следует использовать SQL Server Integration Services (SSIS). Это ETL инструмент для извлечения данных из различных источников, их преобразования и загрузки в конечные приложения. Из “коробки” SSIS имеет набор коннекторов к таким источникам данных, как:

  • OLE DB/ODBC/ADO.NET.
  • DBF/dBASE файлов.
  • Файлы выгрузок (Flat files).
  • Excel файлы.
  • XML файлы.

clip_image002[4]

Можно провести быстрый анализ всех приложений на предприятии, чтобы выяснить какой тип подключения к ним возможен. К тем системам, к которым нет физической возможности подключения (не заложено, например, в самой системе), можно использовать файловые выгрузки, для монолитных mainframe приложений можно использовать BizTalk и Host Integration Server.

Для настройки логики выгрузки и обработки данных, используется графический редактор SSIS, в котором вы выстраиваете процесс (SSIS пакет), используя различные элементы управления (tasks). Пример такого процесса и панель с доступными элементами управления в среде Business Intelligence Studio я привел ниже на картинке.

clip_image003[4]

clip_image004[4]clip_image005[4]

Integration Services в библиотеке MSDN: http://msdn.microsoft.com/ru-ru/library/ms141026.aspx

2. Доставка данных в центральную БД.

Здесь у SQL Server есть ряд инструментов, включая репликацию, выполнение удаленных запросов а также механизм передачи данных посредством очередей - SQL Server Service Broker. В принципе, данные, которые извлекаются из конечных систем с помощью SSIS, также могут быть сразу же записаны на центральный сервер. Однако, здесь могут возникнуть такие нюансы, как

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

Поэтому следует использовать очереди SQL Server Service Broker. Его основные преимущества:

  • Асинхронная гарантированная доставка данных, передача больших объемов.
  • Работа поверх нестабильных каналов связи и докачка данных «на слабых» каналах связи.
  • Не привязка к схеме данных. Данные передаются транзакционно в форме сообщений.

Service Broker в библиотеке MSDN: http://msdn.microsoft.com/ru-ru/library/bb522893.aspx

3. Загрузка данных в центральную БД.

Здесь опять же следует использовать SQL Server Integration Services для преобразования доставленных данных к единому формату и их загрузки в конечное хранилище данных (например, из промежуточного (staging) хранилища). При этом, скорее всего, возникнет задача приведения к единым справочникам. Для ведения справочной информации и использования ее при преобразованиях можно использовать SQL Server Master Data Services (MDS).

Master Data Services в библиотеке MSDN: http://msdn.microsoft.com/ru-ru/library/ee633763.aspx

4. Построение аналитической отчетности.

Само хранилище интегрированных данных может также быть построено на SQL Server, включая возможности OLAP (SQL Analysis Services). Для построения регламентированной отчетности используются средства SQL Server Reporting Services, для более гибкой отчетности – офисные инструменты (Excel).

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