![]() |
Grundsatzfrage zu Datenbankprojekt
Hallo zusammen,
über die letzten Jahre habe ich ein BDE-Projekt (Paradox/DBase und Tables/Querys) zusammengestückelt, das inzwischen einen ganz guten Umfang erreicht hat. Das Projekt läuft im Netzwerk mit bis zu 10 Usern rel. zuverlässig (Dank der DP nun auch mit 64bit-PC´s). Es sind etwa 20 Tabellen mit insg. 1Mio Datensätze verwendet. Die Haupttabelle hat etwa 40T Datensätze, der Rest sind dann diverse Detailtabellen. Monatlich werden zwei Importe durchgeführt, diverse Daten abgeglichen und Reports/Fehlerlisten erzeugt. Weiterhin verwalten wir damit unsere Vorgänge (bei wem ist was in Bearbeitung) und Wiedervorlagetermine. Nun steht mal eine "Generalüberholung" an, besser gesagt ein Neuaufbau. Unser IT-Bereich entwickelt Browseranwendungen (GIS usw) - ich weiß aber nicht, mit welcher Entwicklungsumgebung. Formularanwendungen können/wollen sie nicht. Ich halte nicht viel von Browseranwendung - jedenfalls nicht als Hauptarbeitsmittel, das man 8 Stunden am Tag durchgehend benutzt. Daher mal ein paar Grundsatzfragen: 1) Würdet Ihr Euch Browseranwendungen "aufdrücken" lassen? Meine VCL-Anwendung ist speziell auf unsere Bedürfnisse zugeschnitten, reagiert auf jeden Tastendruck und selektiert passende Datensätze (Table.GotoNearst) und ist mit den ganzen Formularen sehr effektiv verwendbar. IT hat schon eingeräumt, dass sie das so mit Ihren Mitteln nicht umsetzen können. Die weiteren Überlegungen mal für den Fall, dass die VCL (Win32/64) zum tragen kommen sollte: 2) DataBinding Darauf würde ich keinesfalls verzichten wollen! Mal abgesehen davon, ob letztlich DB-Komponenten, Live Binding oder DSharp zum Einsatz käme. (Die odControls nenne ich hier freiwillig nicht ;-)) 3) MultiTier? Wenn max. 10-15 User das Projekt nutzen und alle ohnehin in einem Netzwerk verbunden sind, sollte man dann der Einfachheit halber eine klassische DB-Anwendung erstellen oder doch MultiTier (z.B. mit DataSnap). Hier mal unter dem Aspekt, dass keine Anbindung von Außen/Internet notwendig werden wird. Die Frage ist, was unter dem Strich ein besseres Arbeiten mit weniger Schwierigkeiten ermöglicht. Ein MultiTier-Projekt verursacht ja immer etwas Mehraufwand (inzwischen natürlich nicht mehr so viel wie früher). Wiegen die Vorteile den Mehraufwand auf, wenn die Clients die DB auch problemlos direkt erreichen können? 4) ORM? Auch in der Beziehung schwanke ich immer wieder. Zwar habe ich mir schon einiges dazu angesehen (insb. auch mORMot - Dank an Sir Rufo!), aber ich kann den Aufwand/Nutzen nicht recht nachvollziehen, insbes. auch in Bezug auf die vorgenannten offenen Fragen. Die Businesslogik wird nicht übermäßig kompliziert werden. Klar würde ich gern komplett mit Objekten arbeiten, aber ohne DB ist ein solches Projekt natürlich nicht machbar. Wenn man dann wieder einen Aufwand betreiben musss, um die Daten in Objekte zu laden und sie dann wieder in die DB zu schreiben, sollte man dann nicht doch eher prozedural arbeiten und "klassisch" SQL-Statements nutzen? Ich komme bei meinen Überlegungen immer wieder zu anderen Schlüssen und verwerfe sie dann wieder. :freak: In welchem Rahmen würdet Ihr solch ein neues Projekt anlegen? |
AW: Grundsatzfrage zu Datenbankprojekt
Zitat:
|
AW: Grundsatzfrage zu Datenbankprojekt
Schieb das doch erst einmal von BDE zu ADO und auf einen MSSQL-Server (Einfach, weil der sich am Besten mit ADO versteht). Oder Firebird mit Zeos oder irgendwas in der Art.
Bei 10-15 Leuten kannst Du eine 2-Tier Anwendung machen, Die paar Connections schaft so eine DB locker. |
AW: Grundsatzfrage zu Datenbankprojekt
Ich hatte auch eine ganze Reihe von Anwendungen mit Paradox Tabellen unter der BDE laufen. Eine läuft auch noch immer erfolgreich. Alle anderen habe ich mittlerweile auf Firebird migriert. Bei 10-15 usern genügt eine klassische DB Anwendung. Mit Browseranwendungen im Datenbankbereich habe ich keine Erfahrungen. Wahrscheinlich deswegen würde ich eher eine normale Delphi Anwendung mit guten DB Komponenten schreiben. (Ich benutze FibPlus.)
|
AW: Grundsatzfrage zu Datenbankprojekt
Deine Beschreibung klingt so, als ginge es um eine sehr spezifische, firmeninterne Anwendung. Bei der vielleicht niemals die Frage entsteht, ob sie auch außerhalb der Firma, via Intranet/VPN oder sogar frei angewendet wird. Das wäre m.E. ein sehr guter Grund für eine Browserlösung. Sonst würde ich nicht auf den Komfort (bei Implementierung und Verwendung) einer Formularanwendung verzichten wohlen (Tastaturbedieung, usw. usw., andererseits gehört schon was Liebe zum Detail dazu, eine solche Anwendung auch wirklich zu erstellen ). Deployment und Pflegeaufwand wären in der Größenordnung sicher auch eher zugunsten einer 2 Schichtanwendung einzuordnen.
Also reicht eine 2 Schichtanwendung, selbst wenn es mehr als 15 (gleichzeitige) Benutzer werden. Muss es eine kommerzielle DB sein? Firebird wurde ja schon vorgeschlagen. Wenn es etwas(!) kosten darf, würde ich Oracle auf jeden Fall MSSQL vorziehen. Eine "SE one" tuts allemal und ist bezahlbar. Meine (schlechten) MSSQL Erfahrungen sind allerdings schon 10 Jahre her. Ich weiß nicht, was sich da mittlerweile getan hat. Wenn konkurrierende Zugriffe, Sperrverhalten usw. kein Thema sind, ist aber auch das wohl egal. |
AW: Grundsatzfrage zu Datenbankprojekt
Jedem Admin rollen sich jetzt die Zehennägel hoch, wenn sie an die Installationund Wartung von Oracle denken.
|
AW: Grundsatzfrage zu Datenbankprojekt
Was MSSQL und ORACLE angeht, kann ich JoBo nur zustimmen.
Mir ist allerdings im letzten jahr ein Browserfrontend "aufgedrückt" worden. Wenn es läuft, ist nichts dagegen zu sagen, wenn es allerdings irgendwo hakt, ist immer der andere Server schuld, oder das Betriebssystem oder .... Übrigens haben wir auch einen Feuervogel im Einsatz, der vor allem durch Unauffälligkeit und Stabilität auffällt. (ca. 40 Benutzer) Gruß K-H |
AW: Grundsatzfrage zu Datenbankprojekt
Zitat:
Man stelle sich vor, Emba würde die IDE in einem Browser präsentieren. :shock: Dazu kommt es hoffentlich bis zu meiner Rente nie! Zitat:
Außerdem sind einige Teile inzwischen wieder überflüssig etc. Zitat:
Ich hatte vor Jahren schon einmal bei unserer IT angefragt, ob ich einen DB-Server nutzen könnte (die sind für diese Entscheidungen zuständig) und da hieß es: Nein, ich wäre ja nicht zertifiziert. Also blieb es bei der BDE, wobei man nun aber mal Alternativen andenken sollte. Dass eine klassische DB-Anwendung reicht, ist eigentlich schon klar (Ein DB-Server wäre ja ansich schon mal eine Verbesserung zur BDE). Meine Frage wäre vor allem, ob sich eine Multi-Tier-Variante in der Form lohnen würde, dass man (quasi automatisch) übersichtlicher arbeitet durch die Trennung in die einzelnen Schichten. Ich würde natürlich heutzutage auch die Businesslogik nicht mehr direkt in die Ereignisbehandlungen schreiben, aber wie man es genau am geschicktesten löst, das ist noch die Frage. Zitat:
Zitat:
Mal schauen, wie es weiter geht. Als erstes werden wir uns mal entscheiden müssen, ob wir eine Browser-App überhaupt akzeptieren würden. Dann sind wohl noch die Kosten zu diskutieren. Oha! Es wird wohl bei der BDE bleiben. :stupid: |
AW: Grundsatzfrage zu Datenbankprojekt
Zitat:
Also zurück zum "guten alten" ODBC (oder zur nativen Bibliothek der entsprechenden DB). |
AW: Grundsatzfrage zu Datenbankprojekt
Zitat:
Mussten vor kurzen erst unsere App auf einem Citrix-Server zum laufen bringen bei dem der (DB?)-Admin keinen plan hatte was jetzt für ein NET-Client installiert ist und welche TNS-Datei nur wirklich gezogen wird :twisted: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz