[ome-devel] Ice vs. GlassFish

Josh Moore josh at glencoesoftware.com
Fri Aug 2 17:10:12 BST 2013


On Aug 2, 2013, at 5:21 PM, Curtis Rueden wrote:

> Hi Gus,
> 
>> My initial response after speaking to other members of the OME Team is
>> that Glassfish is Java-only, while Ice allows components to be written
>> in different languages on both the client and server. e.g. Python,
>> C++, in addition to Java.
> 
> Indeed. I think the issue is less about application servers (GlassFish,
> JBoss, etc.) and more about cross-language client-server interoperability.
> AFAIK, GlassFish does not have an IDL at all, which is something OMERO
> really leans on heavily.
> 
> Other options besides ZeroC Ice could be Apache Thrift [1], or maybe with
> more effort Hessian [2] or Protocol Buffers [3] (these latter two are not
> trying to do as much, so more supporting infrastructure would be needed).
> But Ice, despite it being such a PITA in many ways, is also very powerful
> and performant. And at this point OMERO is *very* well-tested with it.
> 
> I'm sure Josh and/or Chris has much more insight and experience with this
> issue... :-)

Curtis is generally right that it's not Glassfish v. Ice, but more RMI v. Ice, and the major downfall of RMI is, as Gus said, certainly that it's Java-only. You *could* run OMERO (with Ice) inside of Glassfish just as we did previously inside of JBoss, but there is little or no gain, and at this point, it would require customization anyway. At the end of the day, you must code specifically for an application server like JBoss or Glassfish to get any benefit. If someone has a pre-existing need for Glassfish, though, there may be a good reason to embed OMERO in it, in which case we can certainly try to help.

Cheers,
~Josh


> Regards,
> Curtis
> 
> [1] http://thrift.apache.org/
> [2] http://hessian.caucho.com/
> [3] https://code.google.com/p/protobuf/
> 
> 
> On Fri, Aug 2, 2013 at 9:27 AM, Gus Ferguson <r.k.ferguson at dundee.ac.uk>wrote:
> 
>> Hi
>> 
>> The following comments have been passed on by a OMERO user who is working
>> hard to promote the adoption of OMERO at his institute.
>> 
>>> One of the arguments of our colleagues developing WIDE (an alternative
>> to OMERO) is that OMERO is based on Ice.
>>> 
>>> According to them, this technology is old, not mainstream and making
>> OMERO depending on it. They use Java GlassFish, according to them much
>> better. Could you, or someone around comment of this?
>>> 
>>> I don't know the differences and every time I don't have arguments to
>> defend one or the other technology.
>> 
>> My initial response after speaking to other members of the OME Team is
>> that Glassfish is Java-only, while Ice allows components to be written in
>> different languages on both the client and server. e.g. Python, C++, in
>> addition to Java.
>> 
>> The issues were considered 5 years ago:
>> http://trac.openmicroscopy.org.uk/ome/ticket/382, and Ice was chosen at
>> the time.
>> 
>> Josh - would you or any other developers care to comment further on this?
>> 
>> Many thanks.
>> 
>> Regards
>> Gus



More information about the ome-devel mailing list