> For the complete documentation index, see [llms.txt](https://bpmflow.gitbook.io/project/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bpmflow.gitbook.io/project/orbeon-integration/orbeon-persistence-layer-for-gemstone-s.md).

# Orbeon Persistence Layer for GemStone/S

&#x20;**General Architecture**

![](/files/-LHZ8382oPgZ5g7YgtyJ)

&#x20;**GemStone/S Architecture for Orbeon Forms**

![](/files/-LHZ8KX28Ec-WWmesi-9)

This **Orbeon Persistence Layer** (<https://github.com/brunobuzzi/OrbeonPersistenceLayer>) is an implementation of **REST Services** on the top of GemStone/S (<http://www.gemtalksystems.com>) to store **Orbeon Forms** (<http://www.orbeon.com>) natively in **GemStone/S Database** (a NON SQL database).

The Documentation here is about the **REST Services** implmenentation in **GemStone/S** and is **NOT** the official documentation of Orbeon Persistence Layer. The official Documentation of Orbeon Persistence Layer can be found [**here**](http://doc.orbeon.com/form-runner/api/persistence/index.html) .

The following diagrams are just to get a general idea how to implement an Orbeon Persistence Layer. The aim is to list the services that Orbeon call for each functionallity, not to show the internals of the GemStone/S implementation (for this you can download the code).

The following Diagrams are grouped by Orbeon functionality.\
\
[**Service Diagrams**](https://brunobuzzi.gitbooks.io/orbeon-persistence-layer/content/diagrams.html)

The following link show all services that MUST be implemented for a complete Orbeon Persistence Layer. You will notice that various services can be implemented as one because of it's service path. But at implementation level we choose to split them by funcionality not by path.\
\
[**Service Methods**](https://brunobuzzi.gitbooks.io/orbeon-persistence-layer/content/service_methods.html)\
\
**Persistence Layer Configuration Options**\
\
There are a lof of options that can be configured in this persistence layer such as: deferred processing, path for attachments, search type and audit options.\
\
[**Options Description here**](https://brunobuzzi.gitbooks.io/orbeon-persistence-layer/content/configuration_options.html)<br>
