Delphi-PRAXiS
Seite 2 von 4     12 34      

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 4. Mär 2019 12:31

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

Zitat von dummzeuch (Beitrag 1426887)
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.

Aber auch da habe ich dann eine Netzwerk-Kommunikation. Es soll aber auch funktionieren, wenn ein Anwender mit dem PC auf eine Datei z.B. in der Cloud Zugriff hat und ein anderer mit einem Tablet oder iPhone.

Ich denke für die einfachsten Sachen (Datensatz hinzugefügt, geändert, gelöscht) könnte man einfach prüfen ob das Dateidatum geändert wurde, in diesem Fall die Datei laden, die erkannten Änderungen im Vergleich zum eigenen aktuellen Stand hinzufügen und - falls eigene Änderungen vorgenommen wurden, auch die in einen logischen aktuellen Stand einpflegen und speichern, so dass andere Anwender sich auch die eigenen Änderungen laden können.

Unter Windows kann man ja sehr schön eine Benachrichtigung einrichten, wenn eine Datei geändert wurde, muss mal prüfen, wie das bei den anderen Plattformen ist (sonst zur Not per regelmäßigem Pull).

Danke auch für den Hinweis auf TMS Echo. Könnte eine Lösung sein, aber wahrscheinlich müsste ich alles umstricken. Daher lieber eine Anpassung der eigenen Lösung.

scrat1979 4. Mär 2019 13:10

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Wenn die „Servervariante“ wegfällt würde ich persönlich beim Öffnen der Datei ein Flag in diese schreiben um anderen Clients zu signalisieren, dass die Datei gerade bereits geöffnet ist. Dies setzt voraus, die Datei zunächst lesend zu öffnen, den Flag auszulesen und die Datei - wenn negativ - dann schreibend zu öffnen und den Flag neu zu setzen.

Man müsste sich dann nur Gedanken machen, wie man den Flag zurücksetzt wenn die Anwendung im Betrieb abschmiert... eventuell durch zusätzlichen Timestamp wann der Flag gesetzt wurde.

jobo 4. Mär 2019 13:46

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Ich finde das latent gruselig.

Was bedeutet "..ein Datensatz geändert oder gelöscht.."? Es geht nicht um bspw. Textdateien oder Word, sondern um Datenbankdateien? (Also sqlite vermutlich)?

"Einfach ein Flag schreiben wenn.."
Diese Sachen kennt man als Delphinutzer o.ä. ja von der BDE. Hat immer Spaß gemacht, die Sperrdateien zu löschen. Sprich selbst Server spielen. Wenn keine weiß, was eigentlich die Ursache ist, kann man sich damit noch beliebt machen, weil das System ja wieder läuft.

Harry Stahl 4. Mär 2019 14:25

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

Zitat von jobo (Beitrag 1426911)
Ich finde das latent gruselig.

Was bedeutet "..ein Datensatz geändert oder gelöscht.."? Es geht nicht um bspw. Textdateien oder Word, sondern um Datenbankdateien? (Also sqlite vermutlich)?

Ja, stimmt schon (latent gruselig). Aber es ist eben nur als zusätzliches Angebot gedacht, für Anwender die nicht im vollen Client-Server Betrieb mit dem Produkt arbeiten wollen. Insofern würde es da auch nicht alle Möglichkeiten geben, das erkennen und Berücksichtigen von Änderungen der Datensätze würde reichen.

Das Datenbankformat ist ein eigenes, da gibt es insofern alle Freiheiten für mich.

Wie gesagt, mir würde da schon etwas einfallen. Aber die Frage war halt, ob es schon bestehende Konzepte

für diesen Problemfall gibt, also eine Art Richtlinie, an der man sich lang angeln könnte, wenn man etwas implementiert ("um nicht wieder alles neu erfinden zu müssen").

jobo 4. Mär 2019 14:52

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
Mmh, aber das wäre dann ja auch nur eine "Verlegenheitslösung" für Anwender, denen Dein "richtiges" Angebot zu kompliziert ist oder? Nicht weil es nicht lizensiert ist?
Frage also, wem tut man in dieser Situation mit dieser Idee einen Gefallen? Oder anders: Kann man die Entwicklungskapazität vielleicht eher in einen smarteres Serversetup stecken?

Codehunter 4. Mär 2019 16:29

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

Zitat von jobo (Beitrag 1426922)
Frage also, wem tut man in dieser Situation mit dieser Idee einen Gefallen? Oder anders: Kann man die Entwicklungskapazität vielleicht eher in einen smarteres Serversetup stecken?

Man stelle sich doch nur mal einen Raspberry Pi samt Gehäuse und Netzteil vor, der sich per DHCP allein ins Netz integriert und per mDNS seine Präsenz offeriert. Da drauf einen wie auch immer gearteten Serverdienst. Quasi wie ein netzwerkfähiger Dongle. Der kann dann wesentlich mehr als jede dateibasierte Lösung und dürfte in vielen Fällen aureichen. Preislich irgendwo um die 40 Euro.

Harry Stahl 4. Mär 2019 21:54

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

Zitat von Codehunter (Beitrag 1426938)
Zitat:

Zitat von jobo (Beitrag 1426922)
Frage also, wem tut man in dieser Situation mit dieser Idee einen Gefallen? Oder anders: Kann man die Entwicklungskapazität vielleicht eher in einen smarteres Serversetup stecken?

Man stelle sich doch nur mal einen Raspberry Pi samt Gehäuse und Netzteil vor, der sich per DHCP allein ins Netz integriert und per mDNS seine Präsenz offeriert. Da drauf einen wie auch immer gearteten Serverdienst. Quasi wie ein netzwerkfähiger Dongle. Der kann dann wesentlich mehr als jede dateibasierte Lösung und dürfte in vielen Fällen aureichen. Preislich irgendwo um die 40 Euro.

Cool, für den Preis, bau das und ich bin Dein erster Kunde!:)

Codehunter 5. Mär 2019 20:14

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

Zitat von Harry Stahl (Beitrag 1426948)
Zitat:

Zitat von Codehunter
Man stelle sich doch nur mal einen Raspberry Pi samt Gehäuse und Netzteil vor, der sich per DHCP allein ins Netz integriert und per mDNS seine Präsenz offeriert. Da drauf einen wie auch immer gearteten Serverdienst. Quasi wie ein netzwerkfähiger Dongle. Der kann dann wesentlich mehr als jede dateibasierte Lösung und dürfte in vielen Fällen aureichen. Preislich irgendwo um die 40 Euro.

Cool, für den Preis, bau das und ich bin Dein erster Kunde!:)


Für dein projektspezifisches Backend sollte mit Lazarus und Indy doch relativ schnell was machbar sein. REST-Server oder ein proprietärer Dienst, ganz egal.

Für den Raspi gibts sogar ein PoE-Shield. Damit prömpelst du das Ding dann tatsächlich wie einen "Netzwerk-Dongle" mit einem einzigen Kabel an einen PoE-Switch.

Das Schöne am Raspi ist, dass du deine "Firmware" einfach per SD-Image verteilen kannst. Das mit Abstand einfachste und eleganteste Kloning-Tool das ich kenne ist Roadkil Disk Image.

jobo 6. Mär 2019 12:26

AW: Konzepte für gemeinsames Arbeiten an einer Datei ohne Server
 
[QUOTE=Codehunter;1427014][QUOTE=Harry Stahl;1426948]
Zitat:

Zitat von Codehunter
Man stelle sich doch nur mal einen Raspberry Pi samt Gehäuse und Netzteil vor, der sich per DHCP allein ins Netz integriert und per mDNS seine Präsenz offeriert. ..

Das kann auch jeder normale Office PC, hardware Anschaffung braucht es dafür glaube ich nicht.
Ein Problem (egal welcher Rechner, der irgendwo am Ethernet hängt): Kann den jeder Client "sehen". mDNS allein hilft da nur sehr lokal oder?

kleine Idee zum Thema "Server": Viele haben schon mal eine Webkonferenz gehabt und kennen das, alle rufen den Browser auf, man redet und zeigt sich Dinge im Browser. Wer etwas zeigen möchte, bekommt "die Moderatorkugel" (oder was auch immer, je nach Tool), von dem, der sie gerade besitzt.
Der erste Teilnehmer erhält die Moderatorkugel automatisch, auch wenn er nicht Initiator der Konferenz ist.

Fazit
Eines der Client Programme muss halt immer Server sein. Dafür muss man eine automatische Regelung finden.
Dann braucht man keine extra Hardware. (Das Sichtbarkeitsproblem ist damit nicht gelöst)

Und noch was ganz anderes: Neulich hat irgendjemand ein Soziales Netzwerk auf Basis von git programmiert (Demonstrator, den man ausprobieren kann). Solange man Daten verwaltet, die textbasiert sind, wäre soetwas vielleicht auch ein Ansatz. (Weiß nicht mehr, wo ich das gelesen hab, wird man aber sicher finden, wenn man danach sucht)
Git basierend ist es also ein verteiltes System.

Schokohase 6. Mär 2019 12:35

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

Mit diesem Minimal-Server reduziert man aber die gesamte Installation im Prinzip auf das Anstecken der Brombeere.

Und hier noch ein paar mehr Nachteile, die man sich einhandelt, wenn der Server auf einem normalen Arbeitsplatz läuft:

- Viren
- Abstürze / Herunterfahren ("Wie, ich bin der Server?")
- Auslastung der Arbeitsstation durch Katzenvideos
- Datenschutz

und das sind nur die, die mir so spontan einfallen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 Uhr.
Seite 2 von 4     12 34      

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