Starts here. To clarify what this article is all about, let me first explain the purpose of this application. This app is just one big text processor. Whenever an external content arrives in the system, it is processed with different algorithms in order to find some artifacts and other processing. These algorithms are written by analysts using processing DSL and it’s just a Groovy script. Also, this is just like a regular application that needs implementation, support, debug, etc. So, we needed something like a lightweight web IDE which supports DSL for the challenges outlined above.
It’s a very common situation when an application needs some runtime customization, but it’s impossible via settings and you are too lazy to change source code, or you just cannot update your application too often. In that case you may use different script engines in order to change application behavior in runtime. Moreover, the developer doesn’t have to do changes themself. It may be the duty of administrators, analysts, etc
So, I want to describe the way of one java application, from the simplest script engine up to engines with secured sandboxes.