Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Online-Pendant einer Datenbankanwendung erstellen (https://www.delphipraxis.net/159289-online-pendant-einer-datenbankanwendung-erstellen.html)

erich.wanker 22. Mär 2011 09:38

Online-Pendant einer Datenbankanwendung erstellen
 
Hallo Leute,

ich hab eine kleines Programm geschrieben:
Win32 Delphi Anwendung
greift auf Firebird SQL 2.1 via Zeos 6.6.6 zu
Reportbuilder 9.1 für Ausdrucke
Jetzt würde ich gerne ein OnlineSystem bauen, das eine abgespeckte Version der Software darstellt..

Jetzt sind meine Überlegungen wie folgt:
Erstellen eines "Online html css Systems", das die nötigen Funktionalitäten bietet:
Dieses html/css System wird in einen Subfolder der Win32bit Software abgespeichert.
In der win32bit Software könen FTP Grunddaten erfasst werden: Server/Benutzer/Kennwort/Port
Via INDY FTP kann das "Standard Software Paket" einmalig auf einen Internetserver übertragen werden.

Die nötigen Datenbankwerte werden kontinuierlich als Textdatei? via FTP auf den Internetserver übertragen.

Der User kann nun online Daten einsehen, und Werte verändern - aber nicht neu/umbenennen/löschen ect.. !!!! .. es reicht vollkommen, das er "Tätigkeiten als erledigt" markieren kann - sonnst nix...

Alle 15 Minuten werden die Daten vom Internetserver geholt und in der Firebird DB aktualisiert - und alle in der Firebird neu erstellten Daten ermittelt und das ganze wieder online gestellt.

Somit ist die FirebirdDB, die sich auf einem Firmenrechner befindet - nicht aus dem Internet erreichbar !

Aber: Wie kann ich nun die Daten abgleichen und welche Online Datenstruktur ist sinnvoll?
Eine "Textdatenbank" und PHP
Irgendwas mit XML ?
MySQL ?


Anregungen und Ideen herzlich willkommen ;-)

Vielen Dank

Erich

mkinzler 22. Mär 2011 09:42

AW: Online-Pendant einer Datenbankanwendung erstellen
 
Ich würde auf Client Server mit dem selben DBMS arbeiten.

erich.wanker 22. Mär 2011 09:56

AW: Online-Pendant einer Datenbankanwendung erstellen
 
Leider nicht möglich ...

Ich weiß nicht, welche Internetserver der Kunde einsetzt ..
Portfreigabe (3050 für Firebird als Beispiel) ist auch nicht immer möglich...

Vielen Dank
Erich

P.S.: Das sich der Kunde selbst eine MYSQL Datenbak erstellt - ist schon fast zu viel ... :-(

Wenn ich den Datenabgleich via FTP oder mit Hilfe von PHP´s erreichen könnte, wär´s super .. mit PHP ist aber wieder die Gefahr des "TimeOut" bei größeren Datenmengen gegeben..

ThomasBab 22. Mär 2011 10:03

AW: Online-Pendant einer Datenbankanwendung erstellen
 
Hallo!

Wie wäre es mit der Komponente "Intraweb"?

BUG 22. Mär 2011 10:03

AW: Online-Pendant einer Datenbankanwendung erstellen
 
Mit dem Vorgehen, was du skizziert hast, könnte man eventuell mit Sqlite und PHP arbeiten.

Vorteil gegenüber einer "normalen" Datenbank: du hast eine einfache solide Datenbankdatei, die du rel. problemlos herumschubsen kannst und ohne Server mit PHP (5) Bordmitteln verwalten kannst.
Vorteil gegenüber Textdateien: du kannst SQL-Abfragen nutzen und eventuell das Datenbankschema der Firebird-DB übernehmen.

Der Moment des Kopierens per FTP ist vielleicht kritisch, ist es bei anderen (Datei-)Formaten aber auch.

mkinzler 22. Mär 2011 10:44

AW: Online-Pendant einer Datenbankanwendung erstellen
 
Ich würde statt Kopieren eher Synchronisieren

angos 22. Mär 2011 11:01

AW: Online-Pendant einer Datenbankanwendung erstellen
 
Zitat:

Zitat von erich.wanker (Beitrag 1090205)
[..]P.S.: Das sich der Kunde selbst eine MYSQL Datenbak erstellt - ist schon fast zu viel ... :-([..]

Lösung: erstelle du ihm doch eine Datenbank.
Wobei, wie schon erwähnt wurde, natürlich auch SQlite ginge. Von einer Textdatei-basierten Lösung würde ich an deiner Stelle Abstand nehmen und auch den Hinweis von mkinzler (sync) berücksichtigen.

Neumann 22. Mär 2011 11:50

AW: Online-Pendant einer Datenbankanwendung erstellen
 
Hallo,

wenn möglich würde ich die gleiche Firebird-Datenbank auf dem Webserver verwenden, wenn das nicht gehen sollte MySQL oder SQLLite.

Daten kann man z.B. über Soap austauschen, habe mal ein PHP-Script, welches von jemandem veröffentlicht wurde aber nicht richtig funktionierte, etwas angepasst um so etwas zu realisieren. Bin allerdings nicht besonders gut in PHP und mag es auch nicht besonders, das Projekt liegt bei mir zur Zeit auf Eis.

Das Delphi-Programm verwendet dann ein Clientdataset mit einer Soap-Komponente als Provider. Einsatzzweck war wie gesagt Daten von der lokalen Anwendung an den Webserver zu senden. Es geht damit Daten zu lesen, anzufügen, zu ändern oder zu löschen.

Wenn jemand Interesse hat so mit mir gemeinsam weiterzuentwickeln würde ich ev. daran weiterarbeiten, denn im Grunde kann man sich dafür eine Menge Einsatzmöglichkeiten denken, wie z.B. Webshops mit lokalen Daten synchronisieren.

Gruß Ralf

mjustin 22. Mär 2011 14:17

AW: Online-Pendant einer Datenbankanwendung erstellen
 
Wenn der Webserver WebDAV kann, wäre damit Synchronisation der Webserverdaten in beide Richtungen möglich.
Vorteil: damit ist dann auch das öffnen weiterer Ports wie es zum Beispiel für FTP notwendig wäre, nicht mehr nötig, da der Standard Port verwendet werden kann.

Andere Synchronisationsverfahren erfordern eine Netzwerkverbindung (Freigabe) oder ein Protokollle mit entsprechenden Voraussetzungen an die Firewall - / Netzwerk - Konfiguration. FTP im Intranet ist sicher ein Kandidat (jedoch ohne weitere Absicherung nicht für Internet).

Für asynchrone Übertragung auch größerer Datenmengen ist eine Message Queue wie zum Beispiel Microsoft Message Queue (MSMQ), das in allen aktuellen Windows Versionen enthalten ist, eventuell noch eine Alternative. Damit hat man garantierte Zustellung, auch wenn das Zielsystem momentan offline ist.

mschaefer 22. Mär 2011 17:06

AW: Online-Pendant einer Datenbankanwendung erstellen
 
http://www.delphipraxis.net/148076-m...mysql-dll.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz