View Source

The Java Remote Method Invocation API (RMI API) is the preferred method for accessing KIM, if you use Java or a [compatible|http://www.jython.org/archive/22/index.html] [language|http://jruby.codehaus.org/]. Having fully-featured Java at both communication ends and in between, it allows a more sophisticated and convenient API design compared to SOAP.

In order to get started:

* make sure you are familiar with [the basics of RMI|http://java.sun.com/docs/books/tutorial/rmi/index.html] (no need to dive into [details|http://www.oracle.com/technetwork/java/javase/tech/index-jsp-138781.html])
* ensure you have access to a [KIM server installed|Installation Guide] somewhere on the network
* review [the required network and server setup|Configuring remote connection]
* reference the required jars from your application
** maven users can just reference [the kim-api artifact|http://maven.ontotext.com/content/repositories/public/com/ontotext/kim/kim-api/] from our public repository:
{code:xml}
<dependency>
<groupId>com.ontotext.kim</groupId>
<artifactId>kim-api</artifactId>
<version>3.0-RC4</version>
</dependency>
{code}
** alternatively, add *<KIM_HOME>/kim-api.jar* and *<KIM_HOME>/lib/.*jar* to your classpath. If you need to add the minimal set of dependencies along *kim-api.jar*, download [this package|ftp://ftp.ontotext.com/pub/kim/kim-api-dependencies-3.0.zip] instead of using *<KIM_HOME>/lib/.*jar*.
* go through the [KIM Java RMI Client Examples]

(i) The KIM remote interfaces do not extend *java.rmi.Remote*, which is generally required by Java RMI. This is due to a convenience wrapper, which removes this and other limitations of the RMI implementation.

The KIM Web Service API (WS API) is generally a subset of the RMI API. Therefore, when developing RMI client applications, you can also use the examples in the [WS API documentation|Web Services API]. It provides more detailed descriptions of some methods and data structures.