Architecture wrt adding custom optimization, agent and forecasting services/components

Hi all, I am just looking into openremote and it looks pretty impressive and complete. As a software engineer I have a question though:

  1. Are there docs that describe how the different services communicate internally?
  2. How easy is it to integrate other services and agents into openremote?

For instance, if I want to add my own forecasting service, or I would like to build my own optimization service: Do I have to write those in Java and do they have to be part of the core openremote code? Or is it possible to write services for that externally from open remote in any language of choice, and loosely couple those into OpenRemote over MQTT/AMQP/HTTP? I think although the current forecasting service and optimization service are probably close to my use-case of community energy optimization, the devil is probably in the details, and it is likely I will end up needing my own optimization algorithms or forecasting algorithms.

Thanks.

1 Like

In my own experience, sooner or later, you will be forced to get your hands dirty with Java, especially if you care about performance. OpenRemote was not designed with a microservice architecture in mind. The interfaces are rather tight and tend to change frequently. This was unfortunate and forced me to use different solutions to address my IoT challenges.