Workflow management system in Erlang/Mnesia?

Torbjorn Tornkvist tobbe@REDACTED
Tue Jan 25 10:10:54 CET 2000


> I came across Mnesia and Erlang these days and got the impression that it
> may be a cool environment to implement an open source, web-based,
> distributed, fault-tolerant workflow management system that we intend to
> use as the basis for a laboratory management system.  I'm writing this
> message in the hope to get feedback on whether Erlang/Mnesia is a good
> choice for this and whether my expectations are realistic.  

You can find an example of an Open Source Erlang/Mnesia/Web 
application here:

 http://www.bluetail.com/~tobbe/btt/

> * does Erlang/Mnesia sound like a good solution for this problem in
> general?

Yes.

> * does Erlang automatically offer load-balancing distribution of processing
> similar to pvm?  

No.

> If not, can this be added and with how much effort ?

I guess this is very application dependent. However, there already
exist a library call 'pool', from the man-page:

  ---------
  pool can be used to run a set of Erlang nodes as a pool of
  computational processors. It is organized as a master  and
  a set of slave nodes and includes the following features:

      * The  slave  nodes  send  regular reports to the master
        about their current load.

      * Queries can be sent to the master to  determine  which
        node will have the least load.

  The  BIF  statistics(run_queue)  is  used  for  estimating
  future loads. It returns the length of the queue of  ready
  to run processes in the Erlang system.
  ---------

When it comes to the question about fault-tolerance it can be
as simple as using the HEART facility to automatically restart
an Erlang node, or as 'complicated' as the Bluetail Mail Robustifier
(http://www.bluetail.com). For example I had good use of the 
former mechanism in the Ticket system mentioned above. I had a bug
which sometimes caused the whole system to crash, but since it was 
restarted automatically the (Web) clients just noticed a long
delay which was fixed by hitting the reload button (at that
time the sytem was back in operation again with no data lost).

Cheers /Tobbe
--
Torbjörn Törnkvist , tel: +46 8 692 22 15 , fax: +46 8 654 70 71
Bluetail AB , Hantverkargatan 78 , SE-112 38 Stockholm , Sweden            
Email: tobbe@REDACTED , Web: http://www.bluetail.com/~tobbe




More information about the erlang-questions mailing list