If you follow our regular news, you probably noticed that we NEVER talk about technology here, but only about features.

This time, we’ll make an exception… so, dear business users, forgive us and skip this post, or you might be scared by jargon!

Tech users: you can stay, it might interest you…

PickaForm has a secret weapon: behind the scene, we use an IBM Domino Server. For the vast majority of developers, this might seem like a curious choice!

Indeed, although the IBM Domino server has been there for over 25 years, many young developers have no idea what it is. They’re using Java stacks, Php stacks, Ruby stacks, or {name your stack here}, and more recently Node.js stacks.

So, why on earth use an “old-techno” like the IBM Domino Server?

I will try to be as short as possible, but there is a lot to say, and here is the answer:

THE SWISS-ARMY-KNIFE SERVER

The first obvious reason is that IBM Domino Server is a 100% complete stack. And when I say 100%, I think 100%. Seriously. 100%.

I do not know any other stack as complete on the market. By complete, I mean that when you start an IBM Domino server, you immediately have all the following services:

  • Authentication, with user management, groups, multi-level subgroups, and roles
  • Directory services, native, LDAP, or the ability to synchronize with Active Directory
  • Messaging web protocols: SMTP, POP, IMAP
  • the NoSQL database server
  • a database replication service
  • a JVM for those who want to execute Java code
  • and of course, an HTTP server

… and other services dedicated to administration, self-repair, indexing databases, etc.

All in 10 seconds!

RUN & FORGET

10 seconds, does it seem long? No problem, because apart from making system updates, you’ll never have to restart your server anyway! Yes, even on Windows…

And that’s the second reason why IBM Domino is chosen: stability! This thing is stable like a nuclear-powered aircraft carrier.

INDESTRUCTIBLE

But beyond stability, it is also its robustness that surprises. Do you want a concrete example? For my developments, I use an entry-level notebook that is now over 5 years old. Only 2Gb of memory, a simple hard drive a bit dusty … and an IBM Domino server purring on it from the beginning.

I absolutely tested everything on this poor Domino server which served me as a cobbaye! Heaps of settings, add-ons, Java libraries, codes found on the Internet more or less dangerous … and despite all this and several tens of thousands of commits to change the structure of databases, the result is without equivocal:

ZERO INCIDENT.

I did not succeed in killing the beast. Of course, there is no doubt that it is possible if it is the main goal! … but in everyday use, IBM Domino is like a train launched at high speed: unstoppable.

NO-SQL BEFORE TIME

And this is just the beginning: now we will talk about its native NoSQL database, which is provided out-of-the-box.

In the mid-2000s, the competition was making a mockery of this strange and completely has-been NoSQL concept, which was called “Indexed Sequential”.

Typical exchange between developers:

– Tom (non-Domino developer): “What is the database on it?”

– Jerry (Domino developer): “An IBM database.”

– Tom: “Ok, but what exactly? Oracle? MySQL?”

– Jerry: “No no, IBM … it’s a proprietary format, and it’s an indexed sequential database.”

– Tom: “Sequential Indexed? What’s the benefit?”

– Jerry: “The speed of development, because the database has no fixed structure, and also the search engine, very suitable for document-oriented projects.”

– Tom: “Mmmh ok, what’s the downside?”

– Jerry: “We can not do joints between tables, but don’t worry because …”

– Tom: “…. What! We can’t do joints? !! ​​But then, what can we do with it, seriously? Okay, no matter, thanks for the info, I have to go back to work!”

End of the discusion …

In 2018, the technological landscape has completely changed, with many powerful players in the world of NoSQL, such as Cassandra, Redis, MongoDb, Amazon DynamoDb, Couchbase … and it’s almost the opposite turn that has occurred!

The same discussion today would surely take the following course:

– Tom (non-Domino developer): “What is the database on it?”

– Jerry (Domino developer): “A NoSQL database, ultra-robust, ultra-secure, and super-easy to replicate!”

– Tom: “Wow, so cooooool! I want to try this!”

MATURE

NoSQL has become a near-standard market since developers have finally realized all the benefits of using this technology. In the field, Domino is a forerunner, and IBM has been sharpening its tool for 25 years.

Others can not say as much, and the following points emerge:

  • Real administration tools for your NoSQL databases
  • a true reliable replication layer from server to server, but also from client to server, and advanced replication parameters: we can replicate all or part of the data by describing rules
  • and most importantly … security is directly integrated into the database, which allows a simple and ingenious mechanism to secure your data on several levels:
    • database level (LCA)
    • document level (authors / readers fields)
    • field level (encryption)

SECURITY

When you have to develop such a level of security yourself on a classic NoSQL (MongoDb type), you have to do this at the software level, with all that implies: a simple bug in the code will put the customer data at operational risk!

Clearly, the security is left to the skill of the developer of the application, which very honestly does not seem to be a good idea (never trust developers 🙂 ).

This can not happen with IBM Domino, since security is handled at the lowest level by the server itself, and we simply use the API to secure the data.

And here we only talk about security at the database level, but the Domino server natively provides many other levels of security to access the data, and also to decide what can be done or not in the server environment.

In the end, your nights will be quiter.

FULL-TEXT

As a welcome gift, the IBM Domino databases offer you file storage, and a full-text indexer that allows you to search not only your data, but also the contents of stored files.

Yes, when you have to do all that with competitors, you have to scratch your head, and sometimes even double the amount of stored data (mongodb + elastic-search).

With IBM Domino, it’s already in the box, and it can be used very easily with the API.

REPLICATION

We can not seriously talk about IBM Domino without talking about its top-level database replication.

Accessible by a command line, from the desktop client, or via the API, replication is perfectly integrated, and above all: it works!

Better: you can even tear a network cable in the middle of replication without any fear for the integrity of your data. And that, we can say it: it reassures!

HOT UPDATE

It will be the conclusion of this already long post, but which I think is the Nirvana of the developer: the update of the structure of your applications is transparent for your users in production.

I do not know if this sentence is clear to you, but this point is remarkably powerful: it means that you can intervene on your server in production with 5000 active users, and send your code update in the middle of the afternoon, without any risk for your applications and their data, and without fear of disturbing any user in his work …

Turn off and restart the server? … No. Not worth it!

Notify users? … No. Not worth it!

Obviously, you would have had the good taste to test your code in a development environment before sending it to production, but then everything else will be managed by your IBM Domino server. Zero worries.

And in case your new code does not do what was planned, again, there is no problem, because you can do a rollback in the process by returning to the N-1 version of your application. All this hot.

Relax, IBM Domino is doing the hard stuff for you!

ON THE ROAD TO THE FUTURE

… because the story does not stop there!

The IBM Domino 10 release will come out at the end of the year and incorporate a large number of improvements, including an embedded Node.js server to open the platform to this huge ecosystem of developers. IBM Domino 11 and IBM Domino 12 have already been announced by IBM, and there is currently no “end date” to the process of refining the platform.

In parallel, IBM now offers this server on the cloud in its new offer called “DAC”, which stands for “Domino Applications on Cloud”, all with a very reasonable price:

$ 22 / application / month, unlimited users.

No way you miss this !

PickaForm?

Now that you know that PickaForm works with IBM Domino server, and that IBM Domino is available on DAC, it does not take much to conclude that PickaForm will soon have a version hosted directly on the IBM infrastructure.

You will be able to either use a shared instance of PickaForm (interesting to share the NSF price and avoid having to install PickaForm yourself), or rent your own instance of IBM Domino, and in this case install PickaForm as an on-prem version that you may have at home.

See you soon on DAC!