With version 1.0.4 released in April, in my opinion, HCL Domino AppDevPack contains a minimum set of functionalities to be considered as an option to take into account when facing a new web development based on Domino or modernizing an application beyond the HCL Notes client.
For those who do not know it, AppDevPack is a module that we can add to our HCL Domino server (as a server task) that allows us through a defined API to connect our Domino databases to a Node.js server.
This connection provides multiple advantages. We can use this API to define access points and/or update data stored in our HCL Domino server, using multiple nsfs as source (looking for something like “JOIN” in relational databases) and consume them with modern frameworks like react.js, angular or vue.js, or even the last version of Dojo, much more different than the one that comes deployed with XPages.
The Node.js runtime is available for a few more architectures; in this sense, AppDevPack could be used to interconnect a Domino HCL server with an ARM architecture device and use Domino as a backend for IoT devices.
The access through Node.js gives us the possibility to have both a logical and physical separation. Logical, as it is possible to use Domino as a datastore or backend and the NodeJs part as a controller or a frontend. Physical, as it is not necessary that the Node.js server is located in the same machine or even in the same domain as our HCL Domino server.
Unlike XPages, we can use AppDevPack without being forced to use any special middleware or framework (With Xpages, the use of JSF and Dojo is mandatory although there are ways to “disable” them).
AppDevPack reinforces Domino as another choice in the data persistence market behind a Node.js server with the advantages we all know such as replication or security at field-document-role-acl level although with the disadvantages of the propietary license compared to other open source licenses such as MongoDb (one of the most used), Apache Cassandra or Redis.
Another possibility provided by AppDevPack is the ease of building PWA applications. With this type of applications, we could have access to our data with a native app look and feel while maintaining a single code and having more control of the final solution (although with much more effort) than with HCL Nomad. It is possible to use PWA in Xpages or classic Notes development, but the flexibility offered by AppDevPack makes it easier to develop.
The latest version of AppDevPack (1.0.4, at the moment of writing) allows access and manipulation of richtext fields and the possibility of running agents. This last one is a great advance in the case of modernization, because it will allow us to reuse our lotusscript code as long as it is an isolated code and without using UI classes like NotesUIWorkspace or NotesUIDocument.
AppDevPack comes with the “IAM” module, an access provider which, using the well-known OAuth 2.0 protocol, allows user authentication in the HCL Domino server and therefore takes advantage of its security at all levels. Perhaps the installation is a bit cumbersome, but it has the advantage of being quite configurable; from several security parameters to the login form itself.
Unlike Nomad or Volt, which are integrated directly into the server, you need to install the Node.js runtime separately to use AppDevPack; just another point of additional configuration and administration. This is certainly a reason many end customers find difficult or impossible to adopt this technology.