Phil Riand and team have contributed a new project to OpenNTF - JDBC Access for IBM Lotus Domino. Here is a description from Phil:

We started a side project a couple of years ago to make Domino data pervasively available, and increase the intrinsic query capability of the platform. But, since it is a side project , its development slowed down because we focused on the XPages runtime, particularly the Extension Library. Now, with XPages supporting relational data access, with the increasing demand for social data analytics, I think it is time to share a first version. So here it is: JDBC connectivity for Domino!

This project provides a true SQL engine for Domino data, based on top of the popular SQLite engine, along with a JDBC driver. It allows SQL queries, including joins and unions on views coming from different NSFs, while maintaining the NSF strengths like security and data type flexibility. You can easily leverage it from an XPages application (see the demo application), but also from any third party applications supporting JDBC, like report editors, database explorers... And because SQLite is so popular, its SQL grammar is well known by code generator or report editors.

This is the first release out and we are definitely seeking feedback and help, particularly on the testing side. Specifically, we need a large, JUnit like, automated test suite which we are currently missing. Any volunteers would be welcome.
There is also a lot of areas for innovation, like custom SQL functions dealing with specific NSF features, access to documents items within the query, performance optimization with a better use of indexes... So feel free to chime in, the whole source code is bundled. You just have to speak Java and "C" :-)

Please, let us know what you think and enjoy this new exciting capability.

I've created a teaser video showing the JDBC driver in action.

Here is a screenshot from a Birt report reading data from a NSF:

A picture named M2

Here is a screenshot showing the data source in Birt:

A picture named M3

Here is a screenshot showing a join from XPages:

A picture named M4

Here is a screenshot showing the performance results of a query of a 5000 rows/view entries table/view where the SQL query is 3.5 times faster.

A picture named M5

comments powered byDisqus