Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Consider using a message queue like <a href="http://activemq.apache.org/" rel="nofollow">ActiveMQ</a>, <a href="http://activemq.apache.org/apollo/" rel="nofollow">Apollo</a>, <a href="http://www.hornetq.org/" rel="nofollow">HornetQ</a> or <a href="http://rabbitmq.com/" rel="nofollow">RabbitMQ</a>. There are (open source and commercial) libraries for Delphi available which allow to exchange messages over message queues.</p> <p>The PHP app would send documents (text or binary data) to a message queue, for example <code>/queue/new_pledge</code>. The message is stored on the (ActiveMQ / HornetQ / RabbitMQ) message broker and waits there until the Delphi client connects. If the Delphi app connectes, it fetches all pending messages, similar to reading new email in a mail application. Sender and the client do not have to run at the same time (asynchronous operation).</p> <p>This solution also supports load balancing: if more documents are received than can be handled by a single Delphi application, simply start additional instances on more computers. The messages in the queue will then be distributed between all Delphi apps.</p> <p>For the PHP side, there are message broker client libraries which use a simple protocol called STOMP which is supported by these open source message brokers. </p> <p>(I am the author of the <a href="http://www.habarisoft.com/" rel="nofollow">Habari Client</a> STOMP libraries for Delphi and Free Pascal, wich support five different message brokers)</p> <hr> <p>p.s. there is also a message queue system already in the operating system: <a href="http://en.wikipedia.org/wiki/Microsoft_Message_Queuing" rel="nofollow">Microsoft Message Queuing (MSMQ)</a>. </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload