2010-11-16 16 views
7

Vorrei installare un piccolo programma che recuperi le informazioni da un database e poi le distribuisca su un altro programma quando richiesto. Ad esempio, un programma chiamato "Master" recupera i dati dal database e crea una raccolta di oggetti (elenco, array, ecc. Funziona meglio) e quindi un programma chiamato "Slave" (in esecuzione da più desktop) può chiamare un metodo (cioè GetNextRecord) da "Master" per recuperare il record successivo nella raccolta.Chiamare il metodo Delphi da un altro programma Delphi

Mi piacerebbe essere in grado di consentire solo a uno 'Slave' di poter chiamare il metodo GetNextRecord alla volta per evitare di assegnare a più slave lo stesso record. 'Master' verrebbe eseguito sul server con il database mentre 'Slave' sarebbe in esecuzione su più macchine desktop.

Qualcuno ha un esempio di questo o di un tutorial su come è fatto?

TIA, Brian Enderle

risposta

1

cosa si sta descrivendo è anche conosciuto come load balancing, che può essere implementato utilizzando un Message Queue.

Guardi su Message Oriented Middleware e controllare le implementazioni esistenti, come Microsoft Message Queuing (MSMQ):

MSMQ è essenzialmente un protocollo di messaggistica che consente alle applicazioni in esecuzione su server separati/processi per comunicare in modo fail-safe.

Un raccomandato di leggere anche il libro su Enterprise Integration Patterns


Nota: Io sono l'autore di Delphi e Free Pascal librerie client per il messaggio code open source/broker di messaggi (ActiveMQ, HornetQ, OpenMQ, RabbitMQ)

0

Guarderei DataSnap in Delphi XE. C'è un white paper gratuito di DataSnap 2010 con i video allo http://www.embarcadero-info.com/in_action/radstudio/db.html e al momento sto lavorando a una piccola applicazione di case study Delphi XE in miniatura per un altro white paper (probabilmente pubblicato il prossimo mese o all'inizio del 2011). Nel frattempo, puoi anche consultare il mio manuale per i corsi di Delphi XE DataSnap Development Essentials pubblicato oggi allo http://www.eBob42.com/courseware (vedi TOC allo http://www.ebob42.com/training/DataSnapXE.pdf).

Se non si dispone della versione Enterprise di Delphi e non si desidera eseguire l'aggiornamento, è possibile dare un'occhiata a RemObjects SDK.

Nota: io sono rivenditore di entrambi, ma ho anche utilizzare sia in progetti concreti per e con i clienti, in modo so di cosa sto parlando ;-)

Problemi correlati