# Orbeon Persistence Layer for GemStone/S

&#x20;**General Architecture**

![](https://3974112602-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH4gGgyMb1_fhOg782r%2F-LHZ7azc17xuUA4Tjqhv%2F-LHZ8382oPgZ5g7YgtyJ%2Fpl-gemstone-architecture.jpg?alt=media\&token=1d4036da-9004-4627-8d08-46598076db74)

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

![](https://3974112602-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LH4gGgyMb1_fhOg782r%2F-LHZ7azc17xuUA4Tjqhv%2F-LHZ8KX28Ec-WWmesi-9%2Fgemstone-architecture.jpg?alt=media\&token=3479f2b4-ba10-4d51-93c5-915d0904c4c7)

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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bpmflow.gitbook.io/project/orbeon-integration/orbeon-persistence-layer-for-gemstone-s.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
