Es wäre schwierig, so etwas in einem allgemeinen Fall zu tun, aber Sie könnten es mit einer dieser Methoden versuchen:
-
Erstellen Sie einige Ansichten über das Datenbankschema und schreiben die Berichtsspracs gegen diese. Dies bedeutet, dass Sie eine gewisse Flexibilität im zugrunde liegenden Datenbankschema haben und die Ansichten als Abstraktionsschicht verwenden können.
-
Aufbau einer Art von Data Warehouse Plattform und schreiben Sie einen ETL-Prozess, um sie aus den verschiedenen Datenquellen zu befüllen. Dies ist zwar flexibler, aber auch aufwändiger und funktioniert nur bei einer regelmäßigen Aktualisierung. Wenn dieses Maß an Latenz für Ihre Anwendung akzeptabel ist, würde ich vorschlagen, dass das Data-Warehouse-System der bessere Ansatz ist.
Der Hauptvorteil eines Data Warehouse besteht darin, dass es für die Berichterstattung optimiert ist und über eine einheitliche Schnittstelle für alle Datenquellen verfügt - Sie konsolidieren sie in einer einzigen Datenbank mit einem einzigen Schema. Die Berichte werden anhand dieses Schemas entwickelt. Das Hinzufügen neuer Systeme erfolgt durch das Schreiben eines ETL-Prozesses zum Auffüllen des Data Warehouse; die Berichte funktionieren unabhängig von der Datenquelle weiter.
WCF ist ein Netzwerkkommunikationssystem. Sie werden feststellen, dass es schwierig ist, mit dieser Art von Architektur große Datenmengen auf Transaktionsbasis zu verarbeiten - ein ETL-Prozess mit Stapelverarbeitung wäre viel effizienter. Wenn Sie jedoch einen Echtzeit-Feed benötigen (z. B. für ein Handelssystem), könnten Sie dies mit einer ähnlichen Lösung erreichen.
Wenn Sie eine Einspeisung mit geringer Latenz benötigen, wäre ein anderer Ansatz, eine Art von Tooling zu untersuchen, das Integration von Unternehmensinformationen . Das vielleicht am weitesten verbreitete Tool, das dies leisten kann, ist ein Ansicht der Datenquelle en SSIS was Ihnen eine gewisse Flexibilität bei der Zuordnung beliebiger Datenquellen zu einem konsistenten Schema bietet. Es ist nicht so ausgereift wie die besten EII-Tools, aber Sie können SSIS-Pakete darauf aufsetzen und diese als Datenquelle für Ihre Berichte verwenden, wenn Sie die Daten weiter transformieren müssen.
Allerdings habe ich noch nie ein so strukturiertes System aufgebaut, so dass ich mich nicht wirklich dafür verbürgen kann, wie gut es in der Praxis funktioniert. Ich würde vermuten, dass es ziemlich anfällig und schwer in Teile zu zerlegen ist, die in Einheiten getestet werden können, so dass Entwicklung und Wartung für ein System von nicht-trivialer Komplexität ziemlich zeitaufwändig sein werden.
Wenn Sie sich über andere EII-Systeme auf dem Markt informieren möchten Dieser Link ist ein Verzeichnis verschiedener Artikel über EII und einige andere Anbieter von EII-Werkzeugen.