Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Konzepte für gemeinsames Arbeiten an einer Datei ohne Server (https://www.delphipraxis.net/199937-konzepte-fuer-gemeinsames-arbeiten-einer-datei-ohne-server.html)

Harry Stahl 3. Mär 2019 18:44

Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Hallo, ich habe einige Anwendungen im Angebot, die arbeiten mit einem Server im lokalen Netzwerk (oder einem Server im Internet), und deren Clients können dann so eine gemeinsame Datei zur gleichen Zeit bearbeiten. Der Server regelt die Zugangsrechte, das sperren von Datensätzen, die Benachrichtigung der Clients über Änderungen, usw.

Das funktioniert alles Bestens, jedoch stelle ich immer wieder fest, dass es wegen der komplexen Konfiguration von Server und Clients auch einige potentielle Anwender abschreckt.

Auch gibt es Anwender, die speichern z.B. eine Datendatei in einer Dropbox und nehmen darauf Zugriff per PC oder Handy bzw. Tablet. Oder eine kleine Firma mit 3-4 Leuten, wo sich keiner mit Netzwerk, IP- Portadressen usw. auskennt. Da erlebe ich es nicht selten, dass die dann lieber 3 Clients bestellen und sich absprechen, wer Daten eingeben darf und wer nur lesen darf.

Meine Frage daher, gibt es eigentlich Lösungen ohne Server, wo Modelle nur für Einzelanwendungen (eine Art Protokoll), einen gemeinsamen Zugriff auf eine Datendatei regeln und somit es mehreren Anwendern (über Netzwerk, DropBox, NAS) ermöglicht, gleichzeitig mit einer Datendatei arbeiten zu können, und über gemachte Änderungen informiert werden, bzw. Sperren gesetzt werden, wenn jemand in der Datei zufälligerweise gerade den gleichen Datensatz bearbeiten sollte?

Hätte ja was, wenn die Anwender nur Ihre Anwendungen irgendwo installieren müssten und die Anwendungen selber das gemeinsame "intelligente" Management der Datei für Zugriff, Änderungen und Benachrichtigung regeln würden.

Schokohase 3. Mär 2019 18:53

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Ja, diese Frage hört man öfter: "Wie geht duschen ohne nass zu werden?"

Genau aus diesem Grunde werden viele Anwendungen cloud-basiert angeboten, weil dadurch diese notwendige Server-Infrastruktur einfach da ist.

Fazit: Einer muss die Arbeit (Server-Infrastruktur) erledigen, wer ist egal.

Rollo62 3. Mär 2019 20:08

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Wenn es nur um ein paar Nutzer geht könnte das auch Owncloud / Nextcloud auf eigenem PHP Server.
Die Isolation durch Sperren musst du wahrscheinlich selber drumrum machen.

Harry Stahl 3. Mär 2019 21:22

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Ich meine mich zu entsinnen vor einigen Jahren mal von so einer Lösung von einem Konkurrenzprodukt gehört zu haben. Denke also es gibt das schon und sollte auch grundsätzlich machbar sein.

Im Prinzip hätte ich da auch schon selber Ideen, wie man das machen könnte, aber es wäre sicher noch viel Zeit und Aufwand nötig, bis man eine stabile und zuverlässige Lösung entwickelt hätte. Insofern halt meine Frage. Hätte ja sein können, das es da evtl. schon fertige Lösungen gibt (die natürlich auch was Kosten könnten, kein Thema)...

TigerLilly 4. Mär 2019 07:18

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Von TMS gibt es TMS Echo, das dich da unterstützen könnte.

Ich hab so was ähnliches mal gemacht, in dem ich anstelle einer Datenbank ein verteiltes Versionskontrollsystem genommen habe. Das war auch recht cool.

Die Frage ist halt, welchen Aufwand du betreiben musst, um ohne Server auszukommen. Vielleicht kannst du ja einen Client zu einem Server aufbohren?

Codehunter 4. Mär 2019 08:37

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
In dem Zusammenhang erinnere ich mich an ein lustiges kleines Programm namens A Smaller Note 99 von vor 20 Jahren. Das konnte das mit dem shared-Read/Write-File erstaunlich gut. Der Datenaustauschordner wurde einfach auf irgendein Netshare gelegt und sämtliche Teilnehmer-Instanzen auf zich Rechnern griffen darauf zu. Das Programm selbst läuft sogar noch heute auf Win 10, nur der Installer nicht. Ich frage mich wie das da intern realisiert wurde. Vermutlich hat man Schreibversuche so lange in einen Warteloop geschickt bis es keinen Write-Lock mehr auf der Datei gibt.

HolgerX 4. Mär 2019 09:11

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Hmm..

Ich denke aber, das 'A Smaller Note 99' einfach in den definierten Ordner immer eine neue Nachricht als neue Datei ablegt und der Empfänger diese liest und löscht..

Somit würde hier nur einer schreiben und einer lesen...

Wenn jedoch auf die gleiche Datei schreibend von verschiedenen PCs zugegriffen werden soll, dann muss hier ein Locking stattfinden.

Dieses könnte durch zusätzliches Ablegen eine 'Lock' Datei des Schreibers erfolgen, oder unter Verwendung von exclusivem öffnen der Datei per Dateisystem.

Bei beidem würde der 2. Schreiber warten, bis das Lock aufgehoben wurde. Dann würde jedoch der 2. Schreiber die Datei 'überschreiben'.
Bei Verwendung der 'Lock'Datei könnte hingegen der 2. Schreiber erstmal die Datei einlesen, Vergleichen und nur seine eigenen Änderungen hinzufügen, selbst wenn die Datei während des Compares nicht mehr geöffnet ist, bleibt das Lock bestehen..

dummzeuch 4. Mär 2019 09:27

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Im Prinzip kann natürlch ein Client auch gleichzeitig Server sein. Dazu dann noch eine automatische Erkennung, welcher Client der Server ist, und schon entfällt die Konfiguration weitestgehend.

Aber der "Server-Client" muss dann natürlich laufen, wenn die anderen Clients funktionieren sollen.

Trotzdem schreckt es vermutlich weniger ab, wenn man sagt: "Der Hauptrechner muss immer laufen." als wenn man von einem Server spricht.

Dann gäbe es noch die Möglichkeit, dass alle Clients lesend auf dieselben Dateien im Netz zugreifen und nur beim Schreiben eine Synchronisation notwendig wird. Da muessten sich dann die Clients dynamisch auf einen "Server" einigen.

Oder man löst es ganz traditionell mittels File-Locking.

All das funktioniert natürlich nur sehr bedingt mit Cloud-Synchronisation, weil da auch kaputte Daten übertragen werden könnten. Außer man legt einen Lock auf die komplette Datei, die könnte dann zumindest nicht kaputt übertragen werden. Was der Sync-Prozess dann allerdings macht, ist ungewiss. Im Schlimmsten Fall schlägt das Öffnen fehl und die Synchronisation löscht deshalb die Datei in der Cloud.

p80286 4. Mär 2019 09:45

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Zitat:

Zitat von TigerLilly (Beitrag 1426874)
Die Frage ist halt, welchen Aufwand du betreiben musst, um ohne Server auszukommen. Vielleicht kannst du ja einen Client zu einem Server aufbohren?

:roll:
Da muß man drauf kommen, ein Server ist nur dann ein Server wenn er dediziert ist.
Das hab ich schon immer ganz toll gefunden.

Gruß
K-H

Codehunter 4. Mär 2019 11:19

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Zitat:

Zitat von p80286 (Beitrag 1426888)
Zitat:

Zitat von TigerLilly (Beitrag 1426874)
Die Frage ist halt, welchen Aufwand du betreiben musst, um ohne Server auszukommen. Vielleicht kannst du ja einen Client zu einem Server aufbohren?

:roll:
Da muß man drauf kommen, ein Server ist nur dann ein Server wenn er dediziert ist.
Das hab ich schon immer ganz toll gefunden.

Gruß
K-H

In dem Zusammenhang wäre vllt. auch mDNS eine nützliche Ergänzung?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr.
Seite 1 von 4  1 23     Letzte »    

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