Shared Memory Access (SMA) enables Java applications to start a local solidDB server that is loaded into the Java Virtual Machine context from a dynamic library. The Java application is then able to connect to the solidDB server and use the services that the solidDB server provides through a standard JDBC API.
When you use Shared Memory Access (SMA) with Java/JDBC, you link the following components into a single executable process:
▪ SMA driver library,
▪ your Java/JDBC program,
▪ the JVM (Java Virtual Machine).
The layers in the executable process are, from top to bottom:
▪ Local Java/JDBC client application,
▪ JVM,
▪ SMA driver library.
The Java commands in your client are executed by the JVM. If the command is a JDBC function call, the JVM calls the appropriate function in the SMA driver library. The function call is direct, it does not go through the network (through RPC). The calls are made using Java Native Interface (JNI). You do not need to write any JNI code yourself; you simply have to call the same JDBC functions that you would call if you were writing a remote client program.