Personal tools
  • We're Hiring!

You are here: Home Documentation Previous versions OME Server System Overview OME Data Server

OME Data Server

OME data server (omeds)

The OME data server is used to store all of the metadata associated with the images in OME. Unlike the image server, there is no single data server binary. Instead, the data server is made up of a PostgreSQL database with a dynamically generated schema, along with a collection of Perl classes for accessing the data in a structured manner.

Client programs can interact with the data server in one of two ways:

  • Programs can be written to execute server-side, on the data server machine. These programs are written in Perl (or with a Perl interface layer), and use the data server classes directly. The OME administration tools and test scripts are written this way, and are executed from the shell by a Unix user with the appropriate permissions to access the OME database.

    User-level applications cannot easily be written in this way, since there is no built-in way to provide interactivity with the user, who probably does not have an OME administrative account on the data server machine. The Web interface is implemented in this way, but requires a large set of Perl classes to provide the HTML-generation capabilites required by the user interface.

  • Programs can be communicate with the XML-RPC layer which is built into the data server Perl classes. This allows client programs to be written in any language which has an XML-RPC library (which is most of them), and to be run on any machine which has IP access to the data server machine. This is how the standard Java client is written.

    However, in order to use this mechanism, you must implement a communication layer on top of your XML-RPC library. A communication layer is provided for Java (see the Java API section), but for other languages, this library (or something similar) would have to be duplicated.

For more information on the data server Perl classes, please see the Perl API section. For more information on the details of the XML-RPC protocol, please see the Remote framework section.

Document Actions