Web Processor-Web Memory Bus
General information

The Web Processor/Web Memory Bus is implemented by the AR repository (located in Java package lv.lumii.tda.adapters.repository.ar) via memory-mapped files.

The memory-mapped files are located in the project cache folder (a folder, where the zipped webAppOS project is extracted, namely, webappos/cache/projects/[cache-UUID]).

There are 4 memory-mapped files used by AR:

AR relies on the Java VM implementation of memory-mapped files. Java VM, in its turn, relies on the underlying operating system.

Each server-side web memory slot initializes an AR instance by opening the repository with the location string:

shmserver:[project-cache-folder]

AR will automatically create all *.shm files, if they do not exist.

When a web processor receives a web call, it can access the repository via the IWebMemory interface:

IWebMemory webmem = API.dataMemory.getWebMemory("[project_id received in a web call seed]");

The returned object is a stub, which connects to the shared memory-mapped files by opening an instance of the AR repository with the location string:

shmclient:[project-cache-folder]