Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Konzeptfrage: Datenobjekte syncronisieren

  Alt 16. Jun 2011, 21:37
@mjustin
Das klingt nicht schlecht - im Grunde, wie ich mir das mit DataSnap vorgestellt habe. Zumindest die Kommunikation wäre m.E. wohl damit realisierbar, aber wohl kein Transaktionsspeicher.
Muss ich mir später mal genauer anschauen.

Grundsätzlich könnte der MainClient (Server) eine Datei öffnen. Später könnten sich dann Clients "anmelden" und sich die aktuellen Objekte schicken lassen. Ab dann werden alle Änderungen an alle Clients weiter geschickt.

@Jumpy
Die Daten liegen in einer Textdatei, die die gesamte Struktur abbildet:
Code:
!ProgramName=Olympic
!ProgramVersion=(V. 0.3.1j-)
!FileVersion=0
<TournamentEvent=20110614204644842-20110614204808441-0000005353
  Name=30. Kaltenkirchener Badminton Mannschaftsturnier 2009
  <State=20110308225432075-20110308225432422-0000000005
  >
  <Sport=20100827212547328-20100827212547942-0000000002
    Name=Badminton
    SportPlaceName=Feld
    <NumeratorList=20100827212547328-20100827212547942-0000000003
      <Numerator=20100827212547328-20100827212702853-0000000005
        Name=Rallypoint
        Activate=True
        PointName=Bälle
        WinSetCount=2
        Definition=0..19:21;20..28:+2;29:30
        PlanDuration=30
      >
      <Numerator=20100827212547328-20100827212808350-0000000006
        Name=alte Zählweise bis 15
        Activate=True
        PointName=Bälle
        WinSetCount=2
        Definition=0..14:15;14..16:17
        PlanDuration=40
      >
      <Numerator=20100827212547328-20100827212845934-0000000007
        Name=alte Zählweise bis 11
        Activate=True
        PointName=Bälle
        WinSetCount=2
        Definition=0..10:11;10..12:13
        PlanDuration=25
      >
    >
    <DisciplineGroupList=20100827212547328-20100827212547942-0000000004
      <DisciplineGroup=20100827212547328-20100827212930462-0000000008
        Name=2HD, DD, 3HE, DE, Mix
        <DisciplineList=20100829114444357-20100829114444984-0000000001
          <Discipline=20100829115644843-20100829115652374-0000000001
            Name=1.HD
            NameMirror=1.HD
            GameTypeNumber=1
            GameType=gtMD
            Numerator=20100827212547328-20100827212702853-0000000005
          >
          <Discipline=20100829115731646-20100829120222558-0000000001
            Name=2.HD
            NameMirror=2.HD
            GameTypeNumber=2
            GameType=gtMD
            Numerator=20100827212547328-20100827212702853-0000000005
          >
          <Discipline=20100829115731646-20100829120226174-0000000002
            Name=DD
            NameMirror=DD
            GameTypeNumber=0
            GameType=gtWD
            Numerator=20100827212547328-20100827212702853-0000000005
          >
...

@omata
Im Grunde ist der "MainClient" nur ein normaler Client, der lediglich die Textdatei geöffnet hat, die die zu nutzenden Daten enthält.
Wird MainClient geschlossen, haben alle anderen Clients noch ihre Objekte in ihrem Speicher und können miteinander kommunizieren (egal, ob z.B. DataSnap oder eine SQL-Datenbank zum Datenaustausch genutzt wird).
Wie gesagt, ich bin erst mal dabei, mir eine Meinung zu bilden.
Ich will keine weltweite Datenbankanwendung erstellen, sondern eine objektorientierte, normalerweise lokale Anwendung, die aber ihre Daten u.U. mit anderen Clients teilen soll.

Im aktuellen Projekt soll eine Turnierleitung eine Turnierverwaltung abwickeln und 1-2 weitere Rechner als Auskunfssystem für die Spieler bereitgestellt werden. Auch ein zweiter Rechner für eine zweite Turnierleitung wäre denkbar.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (16. Jun 2011 um 21:40 Uhr)
  Mit Zitat antworten Zitat