In my project iris-vector, there are a few things, which make it impossible to make it ObjectScriptLess, at least for now. 

  • I've already mentioned the issues of running Python based SQL functions, in my article, so, I had to add ObjectScript realization too.
  • And any new DataType in IRIS, which implements custom serialization based on methods like DisplayToStorage, at the moment accepts only ObjectScript, due to tied implementation to SQL Compilation engine.

A bunch of services with their InboundAdapters, such as FTP, Email, SQL, Kafka, and so on, connects to external server using this InboundAdapter directly, collect data and use it in Service. 

And only for TCP, HTTP, SOAP, REST by some reason decided that InboundAdapter now should start our own server, so, external services should connect to us. It's useful for sure, but the why we can't use it the other way too, is it somehow completely different? The logic in the workflow is still the same, it's Input data, which have to start the workflow. 

And the same class through VSCode, outputs always the same

Compilation started on 09/11/2023 19:15:59 with qualifiers 'c-uk'
Compilation finished successfully in 0.059s.

Compilation started on 09/11/2023 19:16:00 with qualifiers 'c-uk'
Compilation finished successfully in 0.056s.

Compilation started on 09/11/2023 19:16:22 with qualifiers 'c-uk'
Compilation finished successfully in 0.056s.

Compilation started on 09/11/2023 19:16:27 with qualifiers 'c-uk'
Compilation finished successfully in 0.050s.

Compilation started on 09/11/2023 19:16:30 with qualifiers 'c-uk'
Compilation finished successfully in 0.052s.

Compilation started on 09/11/2023 19:16:33 with qualifiers 'c-uk'
Compilation finished successfully in 0.056s.

Compilation started on 09/11/2023 19:16:35 with qualifiers 'c-uk'
Compilation finished successfully in 0.053s.

In terminal, I managed to get expected log, on each third compile, but it's still insane

Compilation started on 09/11/2023 19:13:27 with qualifiers 'ck-u'
Compiling class User.demo
Compiling table SQLUser.demo
Compiling routine User.demo.1
Compilation finished successfully in 0.081s.

USER>do $system.OBJ.Compile("User.demo","ck-u")

Compilation started on 09/11/2023 19:13:28 with qualifiers 'ck-u'
Compilation finished successfully in 0.071s.

USER>do $system.OBJ.Compile("User.demo","ck-u")

Compilation started on 09/11/2023 19:13:29 with qualifiers 'ck-u'
Compilation finished successfully in 0.064s.

USER>do $system.OBJ.Compile("User.demo","ck-u")

Compilation started on 09/11/2023 19:13:30 with qualifiers 'ck-u'
Compiling class User.demo
Compiling table SQLUser.demo
Compiling routine User.demo.1
Compilation finished successfully in 0.087s.

Unfortunately, this is not the case, all transactions have to be closed anyway. 

In example below, I changed only one value and then used rollback, so, it changed it back and committed 

Missing TCOMMIT, would only mean, that transaction is still open, and it's a bad sign, which will be logged in messages.log, for a long opened transactions.

That means improper configuration for the webserver. Anything that goes through a CSP application goes this way.

Properly configured webserver, should take care of static files without IRIS, just process them itself.

In this case, IRIS will not even know about requests to the static files.

Remember, that you should not use a private Webserver in the production at all, and have to have something manually configured. And any newest IRIS non-community versions since 2023.2 will not even install a private webserver anymore unless the IRIS is updated from some previous version.