Genii Weblog
Branching out: Would it run on a toaster?
Tue 18 Feb 2020, 03:40 PM
Tweetby Ben Langhinrichs
I made a an off-the-cuff remark earlier today in the comments on my post, Branching out: Models, msgs, and microservices, asking if LotusScript would run on a toaster. But while I was joking, I wanted to explore the idea for a moment, not with LotusScript but with domino-db, as it raises a point that I think is sometimes missed (or glossed over). We often hear that domino-db is a Node.js solution, and that is correct, but somewhat misleading. I am in the middle of developing two Node.js products (aside from Exciton Boost, which simply enhances domino-db and the REST API in Domino Access Services). One of those two includes extensive use of C++ addons for Node.js, and thus would not be easily used elsewhere (such as our toaster). The other is closer to the model used in domino-db. While I was working with the latter, I realized that I could make a Python version or a pure web JavaScript version just as easily as the Node.js version. The reason is that the thin layer is simply sending and receiving gRPC messages, and those are available in all sorts of languages and implementations.
Given that domino-db is just a messenger (and message receiver), it would likely be easy to discern the proto bufs used and send them from somewhere else. In other words, I could probably write a domino-db for Python in a weekend, and it would interact with PROTON exactly the way domino-db does. In fact, the server would likely be completely unaware that I was running from somewhere else.
Anyway, I don't have any desire for a Python version of domino-db, but if you do, give me a call. For a very reasonable price, I could create one for you. Maybe your toaster uses Python, for example?
Image note: I have no relationship with Griffin Technologies, but if smart toasters and other home IoT devices are your jam, go check them out.
Posts in this series:
- The tree you are busy hugging has new branches,
- Branching out: A few terms
- Branching out: REST, gRPC, and other gory details you can (mostly) ignore
- Branching out: No REST for the wicked - Part 1
- Branching out: No REST for the wicked - Part 2
- Branching out: Let's tackle Node.js
- Branching out: More CRUD with domino-db
- Branching out: Why the domino-db Document is not like NotesDocument
- Branching out: Models, msgs, and microservices
Copyright © 2020 Genii Software Ltd.
What has been said: