[Delphi] DataSnap en master/detail query's

Pagina: 1
Acties:

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 11:52

Tomatoman

Fulltime prutser

Topicstarter
Om de afhandeling van storingsmeldingen te volgen, ben ik een Delphi progsel aan het bouwen. Aan iedere storingsmelding wordt een zogeheten 'work order' gehangen. Zodra er voortgang is, wordt aan de work order een nieuwe 'work status' toegevoegd. De oude work status records blijven behouden om het statusverloop te kunnen volgen. Hetzelfde geldt voor rekeningen (invoices). Zodra er voortgang is met het opmaken/versturen/betalen van rekeningen, wordt een nieuwe 'invoice status' toegevoegd. De oude invoice statussen blijven weer behouden.

Ik heb een database met daarin drie relevante tabellen:
tblWorkOrdertblWorkStatustblInvoiceStatus
* ID * ID * ID
WorkOrderNrWorkOrderIDWorkOrderID
NotesWorkStatusIDInvoiceStatusID
EditDateEditDate
EditorIDEditorID
NotesInvoiceNr
Notes
De velden waar * voor staat zijn de primary keys, de onderstreepte velden zijn gekoppeld (master/detail).

Tot zover duidelijk, lijkt me. Nu wil ik mijn desktop-applicatie gaan ombouwen naar een DataSnap-applicatie, zodat meerdere gebruikers de database kunnen editen. Probleem: waar bouw ik de master-detail query's, aan de client side of aan de server side? Als ik het aan de server side doe, worden de data die over het netwerk worden verstuurd nogal groot. En als ik het aan de client side doe, krijg ik een synchronisatieprobleem als verschillende gebruikers tegelijkertijd wijzigingen in de tabellen aanbrengen - hoe ga ik daarmee om?

Wat denken jullie ervan?

Een goede grap mag vrienden kosten.


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Server side zou ik doen. Houd alle business logic (relaties in dit geval) zoveel mogelijk aan de server kant. En andere vraag is of mster/detail relaties op die manier aanleggen zo ie zo wel een goed idee is.

We adore chaos because we like to restore order - M.C. Escher