Agents are still quite important for all kinds of application. It's also a component that has never been touched for a long time. Here are some important features that might add great value to the platform:
- As suggested in DDXP-I-4, Java agents need to use the same JVM with XPages. It's quite common we need to use the same Java/JAR files in XPages applications and Java agents at the same time. In addition, agents should be able to access global objects of XSP environment like application scope etc.
- Any agent might be run from XPages however an optional mode needed for background processes. So an agent can be run on background and XPages will continue its own JSF cycle. Such background processes are extremely valuable for many applications now.
- When we use DOTS, tasklets can stay resident in the JVM memory. A scheduled tasklet can be loaded into memory and the same instance can be reused when running on schedule. This is extremely useful for background processes that needs to maintain a certain state or cache a lot of data in the memory.On the other hand, each Java agents are quite expensive for the server as they load a JVM instance when run.
PS: These improvements should be done for LS/Node.js parts as well)