Announcement

Collapse
No announcement yet.

interbase + internet

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • interbase + internet

    Hallo,

    ich habe bisher nur desktop Datenbanken mit delphi6+interbase entwickelt und möchte nun folgenses projekt realisieren.

    die DB soll sich auf einem beliebigen server befinden, online zugriff übers internet. es sollen beliebig viele clients auf die db zugreifen können.

    wer kann mir meine gedanken nun etwas sortieren:

    realisiere ich das ganze nun mit einer com+ / .net lösung / middleware und tclientdatasets ? gibt es da noch andere oder bessere möglichkeiten, um eine maximale performance zu erreichen ?

    oder /wann brauche ich eine
    TSocketConnection (für den Borland Socket Server) durch TWebConnection
    (aus einem eintrag aus dem formum)

    kann ich eine bestehende anwendung, die ibquery und ibdataset nutzt umbauen?

  • #2
    Hallo Thomas,

    Einen Zugriff von Windows-Anwendungen über das Internet auf eine SQL-Datenbank würde ich nicht durchführen. Wenn nun für deine verwendete Datenbank eine Sicherheitslücke bekannt wird/ist mit der Hacker sich Zugriff auf diese Datenbank verschaffen können steht man schlecht da.

    Für solch einen Anwendungsfall wird man i.d.R einen Webclient welcher seinerseits auf die Datenbank zugreift. Eine weitere Möglichkeit wäre über ein Kommunikationsprotokol wie SOAP den Zugriff zu ermöglichen<br>
    Je nach Sicherheitsanforderungen ist der Datenbankserver auf einem eigenen Rechner installiert und vom Clientrechner nur über einen entsprechenden Firewall zu erreichen. Für einfache Anwendungen (auch Preislich) liegt beides auf dem gleichen Rechner und der DB-Server kann nur von der Webanwendung auf dem gleichen Rechner angefragt werden.

    Für die realisierung einer solchen Anwendung stehen viele Techniken/Programmiersprachen zur verfügung.

    COM+: Ist für Internetanwendungen ungeeignet<br>
    middleware: Nur ein Fachbegriff in der Mehrschichtigen Anwendungsentwicklung</b>
    TClientdatasets: Ist für Internetanwendungen m.E. ebenfalls ungeeignet<br>
    ASP.NET: Gute Wahl wenn man einen Windows-Rechner einsetzen kann.<br>
    <a href="http://www.atozedsoftware.com/products.html">Intraweb</a>: Gute Wahl wenn man Plattformunabhänig sein will (Windows, Linux, .NET, Java)<br>
    PHP: Sehr verbreitete Lösungsmöglichkeit die man sehr günstig von diversen Webhostern für relativ wenig Geld in Verbindung mit MySQL Angeboten bekommt<br>
    JAVA: Alternative Lösungsmöglichkeit, welche ebenfalls relativ Plattformunabhänig ist.<br>
    ...

    Für eine genauere Auswahl was für dich evtl. am besten geeignet wäre sind noch folgenden Angaben nötig:

    - Kostenrahmen der Lösung (Installationskosten + Monatliche Kosten)<br>
    - Dedizierter Server oder einfaches Hostingangebot von Webhostern<br>
    - Lastanforderungen (Nur wenige gleichzeitige User oder Tausende)<br>
    - Größer der Datenbank (1000 oder 1 Mio. Datensätze)<br&gt

    Comment


    • #3
      erstmal vielen dank.

      1.größe
      die db besteht aus ca. 200 Tabellen mit je 10-10.000 records, je nachdem welche tabelle es ist.
      2. dedizierter server oder eigener server. der server wird nur für die anwendung verwandt werden.
      3. userzahl wird bei max 10 usern gleichzeitig liegen
      4. Kostenrahmen. relativ egal gefordert ist datensicherheit+performance.

      das ziel des ganzen propjekts soll sein, das mehrere clients, die irgendwo stehen, auf eine db zugreifen können. es ist dabei recht egal wie die clients an die daten kommen also keinerlei vorgaben.
      ich hab einer anwendung mal gesagt, das sich die db ausserhalb befindet, er hat die db auch gefunden aber schon der erste connect dauert ca. 20 sek., das erste select-statement auch nochmal 15 sek., danach war es zwar schneller aber ca. 7 sekunden bei einer abfrage auf eine tabelle mit 5 records ist mir immer noch zu lange.

      gruß
      thoma

      Comment


      • #4
        1, Diese Anzahl der Datensätze sollte keiner Technik/Programmiersprache Probleme bereiten

        2, Da Sicherheit zählt ist wahrscheinlich trennung AppServer und DB-Server sinnvoll

        3, 10 User stellt keine Technik vor Probleme

        4, Wahrscheinlich ASP.NET die schnellste Möglichkeit (wenn zusätzlich noch auf Win2003 gesetzt werden kann). Aber da Du schon Erfharungen mit Delphi hast, würde ich auch Intraweb ansehen. Hab zwar selbst keine tiefgreifenden Praktischen erfahrungen, aber bei 10 Usern wird von der Web-Anwendungsseite höchstwahrscheinlich kein Performance-Problem zu erwarten sein (Vor allem wenn ein "normal-schneller" neuer Server verwendet wird).

        20-Sekunden für ein DB-Connect deutet auf einen Konfigurationsfehler hin (entweder in der DB-Konfiguration oder in der Netzwerkkonfiguration des Clients/Server). Bei einem Zugriff auf einen detizierten DB-Server sollte bei einfachen SQL-Abfragen das Ergebnis trotzdem im 10-ms-Bereich liegen (Wenn die Netzwerkverbindung schnell genug ist und das zu übertragende Ergebnis nicht gerade im MB-Bereich liegt)

        Comment

        Working...
        X