views:

222

answers:

3

A number of years ago I implemented an asynchronous peer-to-peer Message-Oriented-Middle-ware that was very friendly to use in Excel VBA, and I find myself again needing to do lots of calculations which could be trivially distributed, if I had the mechanism.

I could re-implement the MOM layer, but I'd prefer to use a third party product if one existed.

My requirements are these:

  • to be able to send messages easily from Excel VBA and VB6,
  • to have a resource discovery mechanism to find the calculation services,
  • to have asynchronous message sends (I don't want to lock up Excel while the calculation is being done),
  • to provide a queuing mechanism so I can have multiple servers doing the work easily,
  • to have low admin for setup

Can anyone suggest anything?

Many thx

-- DM

A: 

The only question I can offer an answer to is the emailing. Ron DeBruin has excellent examples on his site for VBA code to email.

http://www.rondebruin.nl/sendmail.htm

guitarthrower
<smiles> when I said sending a message I was meaning to a queue or service via MOM rather than via email. Thx all the same. ;o)
DangerMouse
wow, I was a bit off base then, huh?!
guitarthrower
+1  A: 

RESTFul Web Services are easy to use from Excel VBA. You can use a reference to MSXML2 or WinHttp - Sounds like you want to use in Async mode so as not to block the Excel UI.

Start with something simple:

  • Simple discovery (scan your subnetfor worker nodes).
  • Divide your task up.
  • Share out tasks.
  • Wait or poll for results.
  • Update cells with new results.
  • If any sub task takes too long round robin again.

Nice to have visual indication on cells pending results.

These links may help you.

Peer-to-Peer Programming with WCF and .NET Framework 3.5

Peer-to-Peer Programming

MPAPI - Parallel and Distributed Applications Framework

Andrew
Cheers... I'll have a look into those...
DangerMouse
Hi had a look - pls correct me if I've got the wrong end of the stick but RESTFUL seems to be a fairly heavy weight client-server architecture, i.e. needing servers to be programmed and setup rather than allowing an ad-hoc peer-to-peer style of request-response?
DangerMouse
+1  A: 

The next release of Microsoft Windows Server 2008 HPC edition includes something called "Excel Runner" which is specifically designed to deal with the kind of problem you are describing.

John Channing