Einzelnen Beitrag anzeigen

ByTheTime

Registriert seit: 24. Sep 2011
Ort: Frankfurt
297 Beiträge
 
Delphi XE2 Architect
 
#1

Die richtige Datenbank- und Komponentenwahl

  Alt 1. Nov 2014, 14:41
Hallo,
ich habe vor ein älteres aber immer noch in Benutzung befindliches Programm mal auf den neusten Stand der Technik zu befördern Dazu hätte ich allerdings ein paar Fragen was die Datenbank- und Komponentenwahl angeht. Bevor ich darauf eingehe erstmal ein bisschen Text

Das Programm um was es sich handelt ist in Delphi 5 begonnen und dann immer von mir upgegraded und weiterentwickelt worden. Es ist eigentlich das erste "größere" Projekt was ich jemals in Angriff genommen habe und es, kurz nachdem ich Delphi gelernt habe, begonnen (Dementsprechend sieht auch die Source aus. Da ich immer mehr dazugelernt habe und sich mein Programmierstil entsprechend geändert hat, ist das wirklich kein schöner Anblick ). Aber es funktioniert halt!
Es handelt sich um eine Protokoll-Software die im Moment von ca. 5-7 Leuten aus meinem Bekanntenkreis regelmäßig benutzt wird. Ich kenne allerdings noch einige Leute die das Programm gerne verwenden würden, allerdings scheitert es an einigen Punkten:
  • Nicht jeder hat einen Windows Rechner
  • Nicht jeder hat Excel (wird für den Excel Export benötigt, der eines der begehrtesten Features ist)
  • Nicht jeder hat die Zeit sich immer an den PC zu setzen und mit der Software zu arbeiten
  • Als "DB" kommt eine MyBase Tabelle zum Einsatz. Daher ist man auf einen Rechner beschränkt, ein Datenaustausch mit anderen Rechnern (z.B. PC Zuhause und Rechner auf der Arbeit) ist nicht möglich

Das Programm wollte ich daher mal komplett neu aufsetzen und um einige Features, eine schönere UI und sogar um eine Android App erweitern.

Jetzt habe ich dazu, wie angekündigt ein paar Fragen:
  1. Meine Erfahrung mit "richtigen" Datenbanken beträgt gleich Null. Ich habe vor einiger Zeit nur mal mit der guten, alten BDE gearbeitet Da ich ja eine Systemübergreifende App entwickeln möchte, in welcher die Daten der Benutzer praktisch "in der Cloud" sind, bietet sich ja eine Lösung mit einer DB auf einem zentralen Server an. Ich hätte da jetzt an MySQL oder MariaDB gedacht, für jeden Benutzer gibt es eine Tabelle mit dessen Daten die ich dann abrufen kann. Gibt es da Einwände, Probleme oder Vorschläge von eurer Seite? Und noch eine ganz wichtige Sache: Wie sieht es denn da mit den Lizenzen aus? Da ich das Projekt finanziell alleine trage und auch kein Geld für die Software verlange, würde ich ungern noch Lizenzen erwerben oder gar in eine Lizenzfalle treten.
  2. Da ich eine Android App entwickeln möchte, müsste ich sowieso mein Delphi upgraden. Das wird dann wahrscheinlich auf XE7 (oder eventuell XE8 hinauslaufen da auf der Roadmap ja WindowsRT gelistet ist). Da ist ja auch FireDAC dabei. Hat jemand schon Erfahrung mit FireDAC gesammelt und ist das für mein Vorhaben zu empfehlen? So wie ich das verstanden habe ist FireDAC eine plattformunabhängige Datenzugriffsbibliothek, das heißt ich spare mir den Weg über den MySQL ODBC-Treiber und DLL's wie die libmysql.dll Oder habe ich da jetzt was durcheinander geworfen
  3. Noch einen letzten Punkt der mir schon die ganze Zeit nicht aus dem Kopf geht. Der ist zwar schon etwas weitreichend, aber vllt. kann ja jemand meinen Horizont erweitern Wenn ich jetzt alle Daten auf einem Server ablege und der Benutzer hat mal keine Internetverbidung... Was ist den dann? Klar, er kommt nicht mehr an seine Daten, kann Sie weder abrufen, noch editieren. Aber wie kann ich solche Probleme den umgehen? Am liebsten wäre mir ja eine lokale DB die ich mit der MySQL-Tabelle synchronisiere, aber ist das nicht für den Anfang schon wieder viel zu kompliziert? Was git es noch für Lösungsansätze für solch ein Problem?

So... Ich hoffe ich konnte euch vermitteln was mir gerade so durch den Kopf geht und freue mich auf eure Antworten

Gruß,
Lukas
Lukas

Geändert von ByTheTime ( 1. Nov 2014 um 14:45 Uhr)
  Mit Zitat antworten Zitat