# Pro-Code

Rierino core library, which is accessible for our clients through our Maven repository provide all utility functions, abstract classes and interfaces for creating and incorporating new elements into backend microservices.

## Creating a New Element &#x20;

New microservice elements can be implemented using Rierino Java SDK, for use cases such as:

* Implementing a new [custom handler](/devops/pro-code/custom-handlers.md), which wraps a 3rd party Java library for Rierino, or executes a highly customized logic
* Implementing a new [custom state manager](/devops/pro-code/custom-state-managers.md), for a data source type which is not currently supported out of box by Rierino

New elements can be built and stored in a Maven repository that is accessible by Rierino deployment environment.

## Deploying in Microservices

All custom elements can be included in required microservices as dependencies within their [deployment configurations](/devops/microservices/deployment-packages/defining-a-deployment.md).

## Using in Microservices

Once the microservices are configured to use new element dependencies, these elements can be configured on the [elements](/devops/microservices/building-blocks.md) screen of devops application and added to the runners which will be utilizing them.

{% hint style="warning" %}
Rierino provides a wide range of options for creating flexible microservices, APIs and event processing capabilities, including custom scripting and dynamic code processing features.&#x20;

Unless it is an edge case or implementation of an adapter for an existing 3rd party library, it is recommended to utilize built-in functionalities, which are continuously maintained and improved by Rierino team.
{% endhint %}

{% hint style="info" %}
In addition to provided list of elements, it is also possible to create custom runners, transformation and condition classes, listeners, aggregate manipulators, locking mechanisms using available base classes, if required.
{% endhint %}


---

# 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://docs.rierino.com/devops/pro-code.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.
