AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Konzepte für gemeinsames Arbeiten an einer Datei ohne Server

Konzepte für gemeinsames Arbeiten an einer Datei ohne Server

Ein Thema von Harry Stahl · begonnen am 3. Mär 2019 · letzter Beitrag vom 15. Mär 2019
Antwort Antwort
Seite 1 von 4  1 23     Letzte » 
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.477 Beiträge
 
Delphi 11 Alexandria
 
#1

Konzepte für gemeinsames Arbeiten an einer Datei ohne Server

  Alt 3. Mär 2019, 18:44
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.
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#2

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

  Alt 3. Mär 2019, 18:53
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.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.896 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 3. Mär 2019, 20:08
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.

Geändert von Rollo62 ( 3. Mär 2019 um 20:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.477 Beiträge
 
Delphi 11 Alexandria
 
#4

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

  Alt 3. Mär 2019, 21:22
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)...
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.174 Beiträge
 
Delphi 11 Alexandria
 
#5

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

  Alt 4. Mär 2019, 07:18
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?
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#6

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

  Alt 4. Mär 2019, 08:37
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.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#7

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

  Alt 4. Mär 2019, 09:11
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..
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.463 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

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

  Alt 4. Mär 2019, 09:27
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.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

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

  Alt 4. Mär 2019, 09:45
Die Frage ist halt, welchen Aufwand du betreiben musst, um ohne Server auszukommen. Vielleicht kannst du ja einen Client zu einem Server aufbohren?

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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#10

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

  Alt 4. Mär 2019, 11:19
Die Frage ist halt, welchen Aufwand du betreiben musst, um ohne Server auszukommen. Vielleicht kannst du ja einen Client zu einem Server aufbohren?

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?
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:30 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