В общем случае было бы трудно сделать все это одним и тем же способом, но вы можете попробовать один из них:
Построить некоторые представления по схеме базы данных и
написать отчеты о противодействии
те. Это означает, что вы обладаете некоторой гибкостью в базовой схеме базы данных и можете использовать представления в качестве уровня абстракции.
Построить какое-то хранилище данных
платформы и написать процесс ETL
заполнить его из различных источников данных. Это более гибкий, но более сложный процесс сборки, и он будет работать только после периодического обновления. Если эта задержка приемлема для вашего приложения, то я бы предположил, что система хранилища данных - лучший подход.
Ключевое преимущество хранилища данных заключается в том, что оно оптимизировано для создания отчетов и имеет согласованный интерфейс для всех источников данных - вы объединяете их в единую базу данных с одной схемой. Отчеты разрабатываются по этой схеме. Добавление новых систем достигается путем написания ETL-процесса для заполнения хранилища; отчеты продолжают работать независимо от источника данных.
WCF - это система сетевой связи. Вы обнаружите, что трудно заставить архитектуру такого типа обрабатывать большие объемы данных по транзакциям в зависимости от транзакции - процесс ETL с пакетной загрузкой будет гораздо более эффективным. Однако, если вам нужен канал в реальном времени (возможно, для системы торговой площадки), вы можете сделать это с помощью чего-то подобного.
Если вам нужен канал с низкой задержкой, другим подходом будет исследование жанра инструментов под названием Интеграция корпоративной информации . Возможно, наиболее широко доступным инструментом, который может это сделать, является Представление источника данных в SSIS , которое дает вам некоторую гибкость при сопоставлении произвольных источников данных с согласованной схемой. Он не такой сложный, как лучшие в своем роде инструменты EII, но вы можете поместить поверх него пакеты служб SSIS и использовать их в качестве источника данных для своих отчетов, если вам потребуется дальнейшее преобразование данных.
Тем не менее, я никогда не создавал систему, подобную этой, поэтому я не могу подтвердить, насколько хорошо она работает на практике. Я предполагаю, что это будет довольно хрупким и трудным разбить на части, которые могут быть проверены модулем, поэтому разработка и обслуживание будет довольно трудоемким для системы нетривиальной сложности.
Если вы хотите исследовать другие системы EII на рынке Эта ссылка - это каталог различных статей о EII и некоторых других поставщиках инструментов EII.