Life without internal apache a.k.a. private web server
So, the next year will bring us a new way of installing IRIS. Always keep in mind that you have to bring your own web server. No matter how many instances of IRIS you have on your local machine. Or if you work in Docker, always keep in mind a bit more complicated configuration.
And I now want to understand the costs of this decision for end-developers like most of here.
Let's have a look, at what we got out of the box in Web Applications, obviously do not forget about System Management Portal.
Quite a few REST APIs, some of them for internal use only, are not supposed to be accessible in the production environment for public usage. Will require configuring it much more complex, for security reasons. While internally used API previously could be used via internal apache, and production web server configured just only for exact web application needed there.
- System Management Portal is still present, and a lot of stuff still available only there
- Vanilla docker images with IRIS, require to change a password via login on SMP with the first start (generating a new password, is an advanced-level task, not for beginners at all)
- Main IDE for development with IRIS - VSCode, uses REST API, which will require a correctly configured web server with support for web sockets for debugger
- SAM uses /api/monitor to gather metrics
- IAM uses /api/iam
- and some more system APIs for other needs
- The learning curve for the new developers, now even more complex. It's not just install IRIS, and find webserver and install and configure it.
In addition MergeCPF is not as useful and easy as expected to be, even set a default password for the system users, is quite a journey.
So, let's imagine if I would not install webserver for the IRIS, how I could use IRIS that way. And, I have no idea at all.
- No Web development possible, no even REST
- If you manage to find ODBC/JDBC drivers, you will probably could do something
Development with other languages, and drivers for them can be found in the community GitHub repository, or in WRC
- NodeJS driver is outdated (if you will find out how to install it), for SQL you will have to use ODBC, no other options.
- Java, JDBC only, hibernate as far as I know is outdated
- .Net, not sure, something for ADO.NET and ODBC
- Just IRIS SQL is outdated, missing a lot of new features
- Python
- Embedded python if developed outside as plain python files, not available by default configuration
- DB-API just in beta, with no visible development, not ready for any use
- ODBC if you manage to find the driver
And obviously, if you just evaluate IRIS, and have no access to WRC, your way to finding available drivers is much more complex
- Java, no maven central
- NodeJS, nothing on npm
- .Net, nothing with nuget
- Python, nothing on pypi with pip
Let's discuss this, what do you think?