> For the complete documentation index, see [llms.txt](https://oresund-integration-platform.gitbook.io/oresund-integration-platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oresund-integration-platform.gitbook.io/oresund-integration-platform/about/dependencies.md).

# Dependencies

## <mark style="color:purple;">**Step History Search Microservice**</mark>

**Øresund Integration Platform (ØIP)** uses Step History Search Microservice to store all the step-wise data generated during the execution. It uses open search / elastic search internally to store the data. The advantage of the implementation is as follows,\
\
OpenSearch is a fork of Elasticsearch that is designed to be open-source and community-driven while maintaining compatibility with the Elasticsearch API. There are several reasons why OpenSearch is implemented in this project.\
\
**Efficient search capabilities:** OpenSearch provides full-text search functionality that can be used to quickly and accurately search for specific information within large datasets.

**Scalability:** OpenSearch is designed to be highly scalable and can easily handle large amounts of data, making it ideal for systems that require high levels of throughput and data processing.\
\
**Open source:** OpenSearch is open-source software, meaning that it can be easily customized and integrated into existing systems without incurring significant licensing costs.

\ <mark style="color:blue;">**Functionality**</mark>
----------------------------------------------------

OIP has a logging-enabled option that, when present, allows the step history data to be stored in OpenSearch. This process is achieved by calling the micro-service layer, which operates outside of the OIP.

At the runtime, the system can be dynamically configured to use either ElasticSearch or OpenSearch, depending on the requirement. Once this configuration is set, the micro-service takes over and performs the necessary computations. It also handles the Create, Read, Update, and Delete (CRUD) operations in OpenSearch or ElasticSearch, as per the configuration.

Therefore, the logging-enabled option, along with the micro-service layer, provides a flexible and efficient solution for storing step history data in OpenSearch or ElasticSearch.\
\ <br>

<figure><img src="/files/GCfQxSUuXVE3BBcObqQV" alt=""><figcaption></figcaption></figure>

## <mark style="color:blue;">Limitations</mark>

* Can fetch only 10,000 records at a time in UI(this is the standard Open Search/Elasticsearch limit) however at certain times, We can temporarily increase the count and download the responses as excel and give it back. This 10,000 record is applicable for each filter we are applying.
* We need to provide exact or near-exact search criteria for displaying correct records.
* We need to delete records daily for the past 20 days by scheduling it as an I-flow.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://oresund-integration-platform.gitbook.io/oresund-integration-platform/about/dependencies.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.
