Autor Beitrag
csollfrank
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 10.12.07 10:49 
Hallo :D

Wir suchen Hilfe oder auch einfach nur ein paar Tips, ggf. auch gegen Bezahlung, was die Architektur unserer portierten (und weiterhin zu portierenden) Standardanwendung angeht. Hier kurz die Eckdaten:

Allgemein

Kaufmännische Standardanwendung

Portierung von Visual Objects und dBase nach C# und MySql 5.x
Gängige 32- und 64-Bit-Windows-Systeme. Momentan ab W2k
Geringer Einfluss auf die Client- und Server-Hardware. Clients nicht immer die aktuellsten Office-PCs, Server teilweise nicht performanter als die Clients.

Anwendungseckdaten

Anzahl Klassen: 2000 (+?) geschätzt
Anzahl Fenster 3-stellig

Anwendung muss nicht auf demselben Host wie die Daten liegen.
Mehrbenutzerbetrieb mit konkurrierenden Lese- und Schreibzugriffen auf die Daten.

Komplexe Algorithmen
Performance wichtig
Asynchrone Lesezugriffe
Hintergrundthreads, z. B. für Erinnerungen
Umfangreiche Export- und Importschnittstellen
Komplexe, variable Filter-/Suchfunktionalität

Internationalisierung
Umfangreiches benutzerbezogenes Rechtesystem
Reporting

Logging an vielen Stellen im Quellcode. Momentan mit Log4Net
Datenzugriff über Persistenzschicht. Momentan mit Nhibernate
(Vorher Versuch mit NDO, dessen Enhancing das Kompilieren bei unserer Klassenanzahl unmöglich machte)

Kapselung von Anwendungsbereichen, z.B. wegen möglichem späterem Webzugriff auf Anwendungslogik

Datenbankeckdaten

Pro Lizenznehmer eine übergeordnete Datenbank und 1 bis x Mandanten-Datenbanken
Mehr als 1000 Tabellen pro Mandantendatenbank
Maximal 3. Normalform
Viele m:n Beziehungen

Wachsende Datenmenge

Datensätze/Tabelle Anteil an allen Tabellen der Datenbank
< 1.000 25 %
< 100.000 30 %
< 500.000 20 %
> 1.000.000 25 %

Die Datenbanken müssen nicht auf einem einzigen Host liegen (verteilt LAN/WAN)
Das Betriebssystem des Datenbankhosts soll keine Rolle spielen

Die Fragen, die wir haben, sind
Gibt es etwas, was wir bei der angegebenen Konstellation unbedingt beachten müssen?
Hat jemand Erfahrung mit der Portierung von Visual Objects/dbf nach C#/MySql?
Sieht jemand Probleme bei dieser Anwendungsgröße/Konstellation, die jetzt schon abgefangen werden können?
Hat jemand Tips, was die Architektur angeht?
Wir wissen, das sind sehr allgemeine Fragen, aber diese sind für uns gerade am wichtigsten. Konkretere Fragen zu kleineren Bereichen der Anwendung werden sich erst bei Auftreten von Problemen ergeben.

Wir haben leider alle keine große Erfahrung in der Umsetzung eines Projektes dieser Größenordnung, und ein Großteil des Teams hat gerade erst mit C# (Von diesem Teil des Teams wurde die Visual Objects Version entwickelt und gewartet) angefangen und noch keine Erfahrung mit objektorientierten Techniken wie Entwurfsmustern, Schichtenmodell (Bei uns die Trennung nach GUI - Businessobjekte und -logik - Datenbankzugriffsschicht - Datenbank) etc.

Darum wären wir für jede Art der Hilfestellung dankbar :D

Vielen Dank schon alleine fürs Gelesen-haben :D

Moderiert von user profile iconUGrohne: Beiträge zusammengefasst.