[Biojava-l] LIMS framework- an open-bio project proposal
Matthew Pocock
matthew_pocock@yahoo.co.uk
Sat, 09 Mar 2002 09:38:54 +0000
Hi Alex,
This sounds realy usefull. Perhaps it could go into the BioJava CVS tree
under its own module? Do you have a URL for some JavaDoc so that we can
have a browse?
Thanks,
Matthew
Alex Rolfe wrote:
> This is an outline/overview for a LIMS/Workflow framework project. If
> it sounds like the sort of thing that you're interested in using or
> (better yet) helping with, please let me know. Most of the design and
> some of the implementation are done and it's at the point where it can
> almost be useful to people without much work.
>
> Many of us are familiar with writing LIMS software to track data from
> laboratory or computational experiments through some process. The same
> components tend to get written over and over and the same mistakes get
> made too. A LIMS framework makes this task easier by providing common
> functionality that lets you plug in simple, reusable components for
> process-specific work.
>
> The lims is built around the idea of Materials, Events, Queues, and
> Listeners. A Material is an object to represent a computational or
> biological material that will be put through some process. Events are
> objects that represent the results of some work. Queues are sets of
> Materials waiting for a specific step in the process. A material can be
> in one queue per process at any time. Listeners are objects that do the
> actual work. Each Queue has a set of Listeners that process the
> materials in the queue.
>
> In concrete terms, the lims system provides:
> - a GUI for lims design. Instead of hooking up components in code, you
> specify the process structure with a flowchart. The nodes in the
> flowchart correspond to Queues. You specify what listeners go with each
> queue. At each queue, at most one listener returns an Event to the
> system which determines the Queue to which the Material is routed.
> - a runtime engine. The engine calls the listeners that you provided at the
> correct times with the appropriate materials. It also records the
> state of the material and the history of the material.
> - a reporting infrastructure to let end-users query the history and
> status of the material.
>
> Right now, I'm using an SQL database for persistent storage of process
> definitions and state and JMS/SonicMQ as the core of the engine.
> Porting to other sql or jms implementations should be fairly easy. All
> of the code is in java right now. Providing an interface to other
> languages should be straightforward. It could be done either
> with SOAP or http bindings or some other method of passing serialized
> objects.
>
> The lims framework would be a separate project from biojava. I expect
> that it would be used by many of the same people, but the purposes are
> independent: process implementation vs. biological data representation.
>
> There's a longer description of the system design and some ideas about
> other features at http://www-genome.wi.mit.edu/~arolfe/lims-notes.ps.
> Questions, suggestions, etc. are welcome.
>
>
> Alex
> _______________________________________________
> Biojava-l mailing list - Biojava-l@biojava.org
> http://biojava.org/mailman/listinfo/biojava-l
>