[ome-users] Using Bio-formats through Python

Josh Moore josh at glencoesoftware.com
Fri Nov 2 06:54:55 GMT 2012


On Nov 2, 2012, at 7:36 AM, Steve Bennett wrote:

> Hi Josh,
>  Thanks for the reply.

Gladly.


>> Most of OMERO could be thought of as an Ice-based (therefore)
>> Python-accessible wrapper around Bio-Formats, so there are definitely bits
>> of code we can point you to in terms of writing an Ice interface. It all
>> very much depends on how you intend to deploy it, etc. OMERO.web for
>> example which is also Django-based, connects to OMERO (ultimately) via an
>> API defined in these Ice files:
>> 
> 
>> 
>> https://github.com/openmicroscopy/openmicroscopy/tree/master/components/blitz/resources/omero/
>> 
>> I.E, for whatever actions you want to take on the Bio-Formats that you are
>> wrapping with Ice, you'll want to have minimally a method, if not a
>> service, that provides the functionality which would then need to be
>> implemented in Java.
>> 
> 
> Great, thanks. I'll do some reading up on Ice and that code to see whether
> using it, or pipes, makes more sense. I suspect the latter, as very little
> communication is needed between the Django app and Bio-formats. Perhaps
> something as little as "Open this file, and write out the metadata you find
> as JSON to this pipe."

May well be. If you start wanting to answer "yes" or "several" to the questions below, though, a middleware solution like Ice may start to pay off. You'll just have to see. 


>> * How many instances of Bio-Formats should be running and on how many
>> servers?
>> 
> 
> Just one per deployment.
> 
> 
>> * Do they need to be started/stopped?
>> 
> 
> I had imagined that Bio-Formats was just a .jar instantiated as needed, but
> obviously not. There wouldn't be any inherent problem with having a service
> running in the background, other than its incremental effect on the whole
> system complexity.

If you use Ice, then the Java process would typically be persistent so that the socket remains open, though you could use the launching framework in order to have them spun up/down.


>> * What kind of security, etc. is needed? (i.e. would a firewall protect
>> them)
>> 
> 
> Not really an issue, as it would be running on the same server as MyTardis
> (which is generally firewalled, of course).

In which case Ice's sockets and local sockets would tend to be equally secure.

> Steve

Cheers,
~Josh




More information about the ome-users mailing list