AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Allgemeine Fragen zu einer datenbank/Internet-Anwendung
Thema durchsuchen
Ansicht
Themen-Optionen

Allgemeine Fragen zu einer datenbank/Internet-Anwendung

Ein Thema von delphi user 2005 · begonnen am 17. Mai 2005 · letzter Beitrag vom 19. Mai 2005
Antwort Antwort
delphi user 2005

Registriert seit: 17. Mai 2005
Ort: Augsburg
2 Beiträge
 
#1

Allgemeine Fragen zu einer datenbank/Internet-Anwendung

  Alt 17. Mai 2005, 23:50
Datenbank: Dbase • Zugriff über: ODBC
Hallo Leute,

ich habe mich hier angemeldet und hoffe das ich hier richtig bin
mit meinen Fragen.

Die Suche in dem Forum brachte mich bisher leider nicht weiter.

Versuche das ganze mal recht global zu schildern.

Die Sache ist recht komplex aber ich suche eigentlich nur vernünftige Ansatzpunkte
um eine Lösung zu erarbeiten.

Ich selbst benutze Delphi 7 Prof.

Ich entwickle ist eine Datenbank (Dbase) was aber nicht das Problem ist.
Die Applikation soll über das Internet ablaufen.

D.h. die Datenbank soll auf einem Server liegen und der jeweilige User greift über
eine normale Anwendung (keine Webbrowser Oberfläche) auf die Datenbank zu.

Zum Teil lesend, zum Teil aber auch schreibend.
Habe zwar Erfahrung mit Datenbankprogrammierung unter Delphi
aber bisher hab ich mich mit der Netzwerktechnik noch nicht befassen müssen.

Jetzt stellt sich mir eben die Fragen,
  • welcher Server bzw. Webserver wie richte ich es ein?
  • wie stelle ich die Verbindung zur Datenbank her? Mit der guten alten BDE wird das wohl nicht funktionieren
  • Kann das ganze überhaupt mit Dbase funktionieren?
  • Wie viele Datensätze dürfen die Tabellen hierbei enthalten (wann wird es kritisch) - vom Zugriff her?
  • Womit schreibt man am ende sinvollerweise die Inastallationroutine

Wäre schön mir jemand etwas hierzu sagen kann,
vielleicht kann mir auch jemand sagen wo es im Netz
ein gutes Tuttorial, bzw. einen Workshop dazu gibt.

Gruß
Martin
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Allgemeine Fragen zu einer datenbank/Internet-Anwendung

  Alt 18. Mai 2005, 07:16
Hallo Neuling,

aus deiner Beschreibung geht leider nicht hervor, ob dBase eine Invariante in deinem Projekt darstellt, oder ob dir bessere Lösungen einfach nicht bekannt sind. dBase war zu seiner Zeit keine schlechte Sache, aber letztlich nur ein netzwerkfähiger Flatfile-Manager zu einer Zeit, als man unter Server "FileServer" verstand. Heute ist ein SQL-Server das Mittel der Wahl, wenn es um Datenverarbeitung im Netzwerk geht.

Die Frage nach dem Web-Server erledigt sich, da du ja mit einer Win32 Anwendung zugreifen willst. Wenn du dich zum Einsatz eines SQL-Servers entschließt, dann findest du hier im Forum haufenweise Informationen zu Interbase, Firebird, Advantage Database Server und andere.

Für den Zugriff von Delphi aus gibt es teils spezielle, teils universelle Zugriffskomponenten - ADO, IBO, ZEOS und andere mehr.

Willst du bei dBase bleiben, wirst du mit Problemen kämpfen, die für Programmierer im Client/Server-Bereich längst der Vergangenheit angehören - z.B. korrupte Dateien nach Absturz einer Client-Maschine und downtime wegen Reparaturversuchen. Ab einer bestimmten Benutzerzahl bricht die Performanz kläglich ein, und die Daten müssen mehr oder weniger komplett zu jedem Benutzer übertragen werden, da die Zugriffsroutinen in deiner Anwendung stecken - bei SQL-Servern werden nur Nachrichten zum Server gesendet und die Daten werden maßgeschneidert zurück geliefert.

Bei SQL-Servern dürftest du nicht einmal ansatzweise in die Nähe der Row-Limits kommen.

Die Installation kannst du mit Inno-Setup vorbereiten.

Wenn du für die Suche "Tutorial" verwendest, dann bekommst du bestimmt auch Treffer hier im Forum.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Allgemeine Fragen zu einer datenbank/Internet-Anwendung

  Alt 18. Mai 2005, 08:17
Zitat von delphi user 2005:
Ich entwickle ist eine Datenbank (Dbase) was aber nicht das Problem ist.
Die Applikation soll über das Internet ablaufen.
Egal was du weiter machst. Schmeiß DBase weg! Und vor allem die BDE die du verwendest.
Es sollte nicht mehr mit DBase entwickelt werden. Und die BDE ist im Internet-Bereich (egal welche Lösung
vollkommen falsch am Platz). Probleme über Probleme.
  • welcher Server bzw. Webserver wie richte ich es ein?
Willst Du eine 2-Tier oder 3(Multi-Tier)-Anwendung erstellen.
Sprich: Willst Du auf dem Server noch mehr als nur die Datenbank haben oder auch Middlewar
  • wie stelle ich die Verbindung zur Datenbank her? Mit der guten alten BDE wird das wohl nicht funktionieren
Je nachdem ob du 3-Tier oder nur 2-Tier haben willst. Wenn Du z.B. MySQL auf dem Server hast und direkt zugreifen willst, so kannst Du z.B. native Komponenten wie DAC for MySQL, Zeos, ... verwenden, welche sich fast wie die "gute" alte BDE Programmieren lassen
  • Kann das ganze überhaupt mit Dbase funktionieren?
vergiss DBase einfach. Machs vernünftig mit irgendeiner Datenbank von MySQL, MS-SQL, Interbase, .... Aber kein DBase(mit BDE) mehr.
  • Wie viele Datensätze dürfen die Tabellen hierbei enthalten (wann wird es kritisch) - vom Zugriff her?
Du mußt nur deine Abfragen optimieren. Es stört nicht wenn auf dem Server 5 Mio. Datensätze sind, du aber nur 10 Anforderst.
  • Womit schreibt man am ende sinvollerweise die Inastallationroutine
Für den Client oder Serverteil? Kommt auch noch auf die gewählte Architektur (2/3-Tier) an ob nicht evtl. komplett auf einen Installer verzichten kannst bzw. der Serverteil wenn er "nur" DB-Schicht ist eh von den DB-Installern bedient wird.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Marcel Gascoyne
Marcel Gascoyne

Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
 
Delphi 2005 Architect
 
#4

Re: Allgemeine Fragen zu einer datenbank/Internet-Anwendung

  Alt 18. Mai 2005, 10:41
Wenn Deine Anwendung direkt über das Internet laufen soll würde ich mir stark überlegen ob die User direkt auf die Datenbank zugreifen dürfen.

Dies ist der klassische Fall für eine Dreischichtanwendung: Datenbankserver, Applicationserver, Client. Den Application Server und den Client auf Basis des SOAP Protokolls kannst Du direkt mit Delphi 7 Pro entwickeln (BizSnap und WebBroker Technologie). Mit den DataSnap (ehem. MIDAS) Komponenten kannst Du hierbei auch mit Datensteuerelementen arbeiten, DataSnap ist allerdings erst ab der Enterprise Version verfügbar.

Weiterer Vorteil: Die Clients greifen über HTTP oder SSL nur auf den Applicationserver zu. Datenbankzugriffe finden nur zwischen dem Applicationserver und dem Datenbankserver statt, der Client braucht damit auch keine Treibersoftware für die Datenbank.

Gruß,
Marcel
Marcel Gascoyne
Der Fehler sitzt immer vor der Tastatur
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Allgemeine Fragen zu einer datenbank/Internet-Anwendung

  Alt 18. Mai 2005, 10:59
Zitat von Marcel Gascoyne:
Weiterer Vorteil: Die Clients greifen über HTTP oder SSL nur auf den Applicationserver zu. Datenbankzugriffe finden nur zwischen dem Applicationserver und dem Datenbankserver statt, der Client braucht damit auch keine Treibersoftware für die Datenbank.
Voraussetzung ist allerdings, daß du überhaupt die Möglichkeit hast, ein Mittelstück irgendwo zu platzieren. Bei den meisten Providern wirst du daran wohl scheitern.

Also je nach Dateninhalt kann man meines Achtens ruhig direkt auf die Datenbank zugreifen.
  Mit Zitat antworten Zitat
Benutzerbild von Marcel Gascoyne
Marcel Gascoyne

Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
 
Delphi 2005 Architect
 
#6

Re: Allgemeine Fragen zu einer datenbank/Internet-Anwendung

  Alt 18. Mai 2005, 12:15
Zitat von Jelly:
Voraussetzung ist allerdings, daß du überhaupt die Möglichkeit hast, ein Mittelstück irgendwo zu platzieren. Bei den meisten Providern wirst du daran wohl scheitern.
Aus der Frage geht nicht hervor was für ein Server eingesetzt werden soll. Selbst bei einem Massenhoster wie z.b. 1&1 oder STRATO lassen sich Webservices realisieren, der Applicationserver läuft dann halt mit PHP statt Delphi.

Zitat von Jelly:
Also je nach Dateninhalt kann man meines Achtens ruhig direkt auf die Datenbank zugreifen.
Gerade das wird bei den Massenhostern nicht funktionieren.

Gruß,
Marcel
Marcel Gascoyne
Der Fehler sitzt immer vor der Tastatur
  Mit Zitat antworten Zitat
delphi user 2005

Registriert seit: 17. Mai 2005
Ort: Augsburg
2 Beiträge
 
#7

Re: Allgemeine Fragen zu einer datenbank/Internet-Anwendung

  Alt 19. Mai 2005, 00:21
Erst mal danke für die vielen Antworten

Zitat:
Egal was du weiter machst. Schmeiß DBase weg! Und vor allem die BDE die du verwendest.
Ich hab DBase als Datenbank in betracht gezogen weil ich da meine Erfahrungen gesammelt habe.
Benutze ich z.B. MySQL nehme ich mal an das ich meine bisherigen Funktionsbiblotheken komplett vergessen kann. Sehe ich das richtig?

Was den Webserver angeht würde ich gerne auf Apache zugreifen. Wie gut kann man eine Verbindung mit Delphi zu Apache erstellen.

Weis da jemand ein Beispielscipt?

Zitat:
Willst Du eine 2-Tier oder 3(Multi-Tier)-Anwendung erstellen.
Sprich: Willst Du auf dem Server noch mehr als nur die Datenbank haben oder auch Middlewar
Kann mir jemand da mal ein Beispiel nennen wo die Unterschiede liegen.

Bei der Datenbank schwebt mir dann MySql vor.
Nehme an das ist am umkompliziertesten. Oder?

Zitat:
Wenn Deine Anwendung direkt über das Internet laufen soll würde ich mir stark überlegen ob die User direkt auf die Datenbank zugreifen dürfen.
Natürlich muß das ganze sicher sein. Sollte man es mit VPN übertragen?
Und bringt Delphi für VPN schon Tools mit?

Der User sollte auch nicht auf die Orginaldatenbank zugreifen sondern auf eine Kopie die in festen Zeitabständen (z.b. Stündlich) aktualisiert wird.

Gruß
Martin
  Mit Zitat antworten Zitat
Benutzerbild von Marcel Gascoyne
Marcel Gascoyne

Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
 
Delphi 2005 Architect
 
#8

Re: Allgemeine Fragen zu einer datenbank/Internet-Anwendung

  Alt 19. Mai 2005, 06:01
Zitat:
Ich hab DBase als Datenbank in betracht gezogen weil ich da meine Erfahrungen gesammelt habe.
Benutze ich z.B. MySQL nehme ich mal an das ich meine bisherigen Funktionsbiblotheken komplett vergessen kann. Sehe ich das richtig?
Wie bisher schon gesagt wurde sollte man DBase nicht für neue Anwendungen verwenden. Es ist halt eine dateibasierte Datenbank und kein Server. Deine Funktionsbibliotheken werden nicht mehr funtionieren wenn diese speziell für DBase sind. Was sind das denn für Bibliotheken ?

Zitat:
Was den Webserver angeht würde ich gerne auf Apache zugreifen. Wie gut kann man eine Verbindung mit Delphi zu Apache erstellen.
Mit Delphi 7 kannst Du Module für den Apache programieren (unter Windows). Für die Linuxvariante brauchst Du Kylix, da funktioniert das ebenfalls. So kann man den Applicationserver z.b. als Apache Modul entwickeln.

Zitat:
Weis da jemand ein Beispielscipt?
Schonmal in Deinem Demos Ordner im Delphi Verzeichnis nachgesehen ?

Zitat:
Bei der Datenbank schwebt mir dann MySql vor.
Nehme an das ist am umkompliziertesten. Oder?
MySQL ist für den Anfang nicht schlecht. Für größere Anwendungen würde ich aber doch auf Firebird, Oracle oder MSSQL setzen, da diese mehr Funktionalität mitbringen. Mit MySQL 5 könnte dies allerdings eine gute Alternative sein.

Zitat:
Natürlich muß das ganze sicher sein. Sollte man es mit VPN übertragen?
Und bringt Delphi für VPN schon Tools mit?
Mit den Indy Komponenten kannst Du Dir sicherlich ein VPN zusammenbauen, schau Dir mal die Tunneling Komponenten an. Für den professionellen Einsatz würde ich aber auf eine Hardwarelösung, wie z.b. ein vernünftiger Router oder einen Linuxserver setzen.

Zitat:
Der User sollte auch nicht auf die Orginaldatenbank zugreifen sondern auf eine Kopie die in festen Zeitabständen (z.b. Stündlich) aktualisiert wird.
Sowas kannst Du direkt in einem Applicationserver integrieren.

Gruß,
Marcel
Marcel Gascoyne
Der Fehler sitzt immer vor der Tastatur
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Allgemeine Fragen zu einer datenbank/Internet-Anwendung

  Alt 19. Mai 2005, 08:31
Zitat von delphi user 2005:
Ich hab DBase als Datenbank in betracht gezogen weil ich da meine Erfahrungen gesammelt habe.
Benutze ich z.B. MySQL nehme ich mal an das ich meine bisherigen Funktionsbiblotheken komplett vergessen kann. Sehe ich das richtig?
Teilweise, da du entweder Features verwenden die bei SQL-Server nicht oder nur sehr inperformant umgesetzt werden können.
Du wirst hier schon optimierungen bezüglich SQL-Server vornehmen müssen.

Zitat von delphi user 2005:
Zitat:
Willst Du eine 2-Tier oder 3(Multi-Tier)-Anwendung erstellen.
Sprich: Willst Du auf dem Server noch mehr als nur die Datenbank haben oder auch Middlewar
Kann mir jemand da mal ein Beispiel nennen wo die Unterschiede liegen.
Unterschiede liegen in der Möglichkeit von Lastverteilung (Skalierbarkeit), Verteilung von Anwendungslogik, Zugriffsschutz, ...

Zitat von delphi user 2005:
Bei der Datenbank schwebt mir dann MySql vor.
Nehme an das ist am umkompliziertesten. Oder?
Ist Umkompliziert und wenn die Anforderungen nicht zu hoch sind (Ausfallsicherheit, Backup, Cluster-Lösung, ...) dürfte es auch reichen. Aber da solltest Du dich selbst noch schlauer machen was dir wichtig ist.

Zitat von delphi user 2005:
Zitat:
Wenn Deine Anwendung direkt über das Internet laufen soll würde ich mir stark überlegen ob die User direkt auf die Datenbank zugreifen dürfen.
Natürlich muß das ganze sicher sein. Sollte man es mit VPN übertragen?
Und bringt Delphi für VPN schon Tools mit?
VPN wegen eines DB-Zugriffs einsetzen. Ich denke da gibt es besser möglichkeiten. Diverse DB's bieten von sich aus verschlüsselte Datenübertragung

Zitat von delphi user 2005:
Der User sollte auch nicht auf die Orginaldatenbank zugreifen sondern auf eine Kopie die in festen Zeitabständen (z.b. Stündlich) aktualisiert wird.
Am besten noch mir stündlicher/täglicher synchronisation in beiden Richtungen? Also sollen die User nicht immer auf den aktuellen Datenbestand arbeiten. Dann würde sich evtl. die Replikationsmechanismen z.B. vom MS SQL-Server anbieten. Ist aber nur sinnvoll wenn die Anzahl der User überschaubar bleibt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:54 Uhr.
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