3 Stimmen

Brauchen Sie eine Anleitung zur Architektur?

Wir sind dabei, eine Reihe von Prozessen für unser Berichtsteam zu automatisieren. (Bei den Berichten handelt es sich um Tagesberichte, Wochenberichte, Monatsberichte usw.)

**Meistens besteht der Prozess darin, einige Daten aus dem Orakel zu ziehen und sie dann zu füllen in bestimmte Excel-Vorlagendateien.

Die einzelnen Berichte und damit auch ihre Vorlagen unterscheiden sich voneinander. Außer der Manipulation von Excel-Dateien steckt kaum Geschäftslogik dahinter.**

Der Kunde wollte ein integriertes Tool und alle automatisierten Prozesse werden als Menüs/Untermenüs.

Zurzeit warten etwa 30 Prozesse darauf, automatisiert zu werden. Und wir erwarten weitere neue Berichte im nächsten Quartal.

Ich habe bei weitem keine praktische Erfahrung im Bereich der Architektur. Ich habe bereits zwei oder drei Systeme (sie sind mehr als 4 Jahre alt) für diesen angesehenen Kunden gewartet. Es ist sehr wahrscheinlich, dass das oben erwähnte Tool noch weitere 3 Jahre in Betrieb bleiben wird.

In der Vergangenheit habe ich die Erfahrung gemacht, dass die Umsetzung von Änderungswünschen an der starren und undokumentierten Codebasis zum Zusammenbruch des Systems und schließlich zu meinem eigenen Zusammenbruch führte.

Mein Hauptanliegen ist also die Wartungsfreundlichkeit.

Auf der Suche danach bin ich auf diesen Link gestoßen, Intelligente Clients mit CAB und SCSF Ist der obige Link für meine Anforderungen geeignet?

Außerdem sollte ich die einzelnen automatisierten Prozesse in getrennten Formularen unter einem einzigen Projekt ablegen, oder sie in getrennten Projekten unter einer einzigen Lösung unterbringen?

Bitte korrigieren Sie mich, wenn ich weitere wichtige Informationen übersehen habe.

Vielen Dank.

1voto

slugster Punkte 48412

Warum ersetzen Sie die verschiedenen Excel-Vorlagen nicht durch eine richtige Berichtslösung? Die Verwendung eines vernünftigen Berichterstattungsprodukts hat folgende Vorteile:

  • jeder kann auf denselben Bericht zugreifen
  • Sie können Rollen verwenden, um zu verhindern, dass Personen bestimmte Berichte sehen.
  • die Benutzer können die Parameter der Berichte bei jeder Ausführung ändern, oder sie können die von Ihnen festgelegten Standardwerte verwenden
  • die Berichterstattung kann in hohem Maße automatisiert werden, sie kann automatisch nach bestimmten Zeitplänen erfolgen (z. B. jeden Montagmorgen um 9 Uhr oder jeden Sonntagabend nach der Wochenendverarbeitung)
  • Berichte können in einer Vielzahl von Formaten geliefert werden
  • Berichtstools können gespeicherte Prozeduren in der Datenbank verwenden, diese gespeicherten Prozeduren können die Geschäftslogik kapseln

Persönlich würde ich die Verwendung von Sql Server Reporting Services (Version 2008, versuchen Sie, 2005 zu vermeiden) befürworten, obwohl es auch andere Produkte auf dem Markt gibt. SSRS kann mit einer Oracle-Datenbank kommunizieren, ist kostenlos erhältlich und kann verwendet werden.

Sie haben auch vage Anspielungen auf "Prozesse" gemacht. So wie ich das verstehe, haben Sie irgendwo einen Code laufen, der Daten aus der Datenbank holt, sie etwas aufbereitet und in einem Bereitstellungsbereich ablegt - vielleicht ist die Excel-Tabelle der Bereitstellungsbereich, und weitere Berichte werden von diesen Bereitstellungsdaten abgeleitet. Wenn meine Interpretation richtig ist, dann entfällt bei dem oben erwähnten Berichtsprodukt (und möglicherweise bei vielen anderen) die Notwendigkeit, dies zu tun.

1voto

Walter Punkte 2492

Wir haben vor vielen Jahren ein ähnliches System gebaut. Das System bestand aus einem Hauptprozess und einer Reihe von Excel-Berichtsgeneratoren, die eine Plugin-Architektur implementierten. Jeder Bericht verfügte über einen eigenen Berichtsgenerator und konnte nach einem eigenen Zeitplan erstellt werden, ähnlich wie Quartz und quartz.net die Zeitplanung handhaben (aber das war viele Jahre, bevor sie entwickelt wurden). Die Plugin-Architektur war der Schlüssel zum System, da neue Berichtsgeneratoren dynamisch erstellt und eingefügt werden konnten.

Der Hauptprozess war für das Starten/Überwachen der Generatoren, das Abhören von Ereignissen, die von den Generatoren ausgelöst wurden, und die Verteilung aller Berichte zuständig. Die Verteilung bestand hauptsächlich aus FTP zu einem Dateiserver, auf dem die Berichte von einer Website aus angezeigt und gespeichert werden konnten. Einige Berichte wurden aber auch per E-Mail an eine Verteilerliste geschickt.

Die Hauptdatenbank, in der alle Berichtsdaten gespeichert wurden, enthielt auch alle System-Metadaten, die den Hauptprozess und die Generatoren über die Einzelheiten ihrer Arbeit informierten.

In unserem System wurden alle Berichte sequentiell ausgeführt, was hauptsächlich auf die damaligen Beschränkungen von Excel zurückzuführen war. Wenn man davon ausgeht, dass Excel jetzt in der Lage ist, sich selbst zu verwalten, gibt es keinen Grund, warum ein neues System nicht so gestaltet werden könnte, dass es parallel läuft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X