I've been meaning to write this post for at least a year but these days I'm always too busy for blogging. Last year, we embarked on a project in which we wanted to regularly exchange data between Domino and a SQL server database on Azure.
We looked at several third party options before realizing that HCL Domino had what we needed built-in and out of the box - even better, HCL also had a "codeless" solution (Foundry) available to us to do the whole transfer.
This post will most likely be the first part of a series that covers the REST API and a bit of Foundry. I'm no expert on either but there's not a lot of information out there so anything is better than nothing.
Prepping the Environment
Before embarking on our API journey, we upgraded our servers to Domino 12.0.2. It's something of a sore point with me that people think that it's fine to leave Domino on much older versions, for example, release 9. It isn't. Old versions of any software have security holes and Domino is no exception. Unless you're happy working on Windows 95 and Word 97 and you don't have any internet services, you should always be on the latest.
Just consider how you will explain your "cost cutting" to your board of directors when your systems have been hacked. Don't take the risk, stay up to date.
Installing the REST API
C:\Users\adminauspay>d:
D:\>cd D:\Install\07 REST API 1.0.3
D:\Install\07 REST API 1.0.3>java -jar restapiInstall.jar -d="D:\Lotus\Domino\data" -i="D:\Lotus\Domino\notes.ini" -p="D:\Lotus\Domino" -r="D:\Lotus\Domino\restapi" -a
Port 8880
- If your server only has publicly accessible materials on it, You might consider allowing the port to stay as is but you should at the very least have some very responsive firewalling around it.
- If your server has a mix of public and private information on it, then you should consider replicating the public material to a new server that will become your Public REST API server (assuming you're making those APIs public) and then setting up replication for the data on that server to be available on whatever other servers you need it on. Those other servers should be behind firewalls.
- If your API service is entirely for internal use, then you might want to consider firewalling that port so that it's only available to certain endpoints. This could force users to have a VPN or if it's talking to an application, such as a HCL Foundry server or other service, you could have the port locked to a single set of IP Addresses.
Comments