mulgara - semantic store

skip navigation


System Architecture

Much like a relational database, Mulgara may be used as a data repository for software applications. Mulgara has an open API that supports many industry-standard programming languages and protocols.

Different types of users interact with Mulgara in different ways depending on their needs:

Using SOAP allows Mulgara to run on a different server from an organizations' web application server, and still maintain accessibility through the regular corporate firewall. If this is not required (for example, the Java RMI port is opened on the firewall, or the Mulgara server and the web application server are running on the same machine) the JSP tag libraries can communicate with the driver directly using the iTQL bean, effectively removing a level of indirection. The JSP tag libraries and COM object provide convenient methods by which iTQL commands can be sent and answers parsed into suitable formats.

iTQL commands received by the SOAP endpoint are sent to the iTQL interpreter. The interpreter uses a driver to issue commands to Mulgara servers containing the models specified by the command. The driver is responsible for coordinating the distribution of commands to the appropriate servers, and collating the results into a single answer to be returned to the interpreter. The remote server receives method calls from the driver via RMI, and makes the appropriate method calls to the underlying Mulgara database.

Pluggable resolvers, provided with Mulgara or written by third parties, allow Mulgara to query just about any type of data source, including:

See the Resolvers section for more information, including a tutorial on how to write your own resolvers.

Deciding on the appropriate integration method depends on your choice of development tools, platform, operating system and network environment. You should choose:

The following sections explore the application integration methods available in more detail and where applicable, provides links to tutorials. The assumption is that you are familiar with the JavaTM language for software development.

In This Section

JavaServer Pages Tag Library

iTQL Shell

Simple Object Access Protocol (SOAP)

iTQL Bean

Mulgara Driver


Valid XHTML 1.0 TransitionalValid CSS 3.0!