Categories

Morfik Links

Morfik 3 Update: Native Database Connectivity

One of the biggest surprises of Morfik 3 is going to be delivered through a package! While the Morfik development team is still unsure about its inclusion in the first beta, they are confident that this package will be ready in time for the final release.

For a wide range of developers, native database connectivity (for databases other than Firebird) has been an important missing feature in Morfik. The Morfik development team spent a lot of time examining various methods for incorporating this feature into the product. They have come up with a powerful way to bring you native database connectivity using the package architecture.

I called Dmitry Medvedev (not the one in the Kremlin!) who is the lead developer for the native database connectivity and asked him about what we can expect in Morfik 3. Here is what he had to say:

“We had to change the architecture of database connectivity in Morfik 3 by introducing a universal layer on top of the actual implementation of a specific database. This allowed different methods of connections, including native Firebird and ODBC, to be brought under the same umbrella. We also extended this architecture to the way external database connectivity can be brought in through pluggable packages as opposed to a built-in feature within the IDE. Morfik’s Zeos Package is implemented using this approach and other connection libraries can be brought in by the same method in the future if needed.

Zeos libraries support a wide range of databases including MySQL, MS SQL, Oracle and Postgres. They also have support for DB2, SQLite and Interbase-Firebird, but for now we will be focusing on the first four. Zeos uses native connection libraries to connect to all of the above-mentioned databases except for MS SQL. The MS SQL connection is built on top of an SQL Native Client OLEDB connector, since Microsoft has dropped support via native DLL since SQL Server 2005. In the Morfik 3 beta we expect to have support for MySQL only, and other ones should be implemented during the beta-testing period.

Despite the major changes in architecture, both Firebird and ODBC will work the same way as in Morfik 2; however, in the case of ODBC we might consider extracting it from the IDE and putting it into a pluggable package later on.”

So, as you can see from Dmitry’s comments, Morfik 3 is shaping up to be a seminal release. I personally like the method of implementation, which is through Morfik Packages. In a future blog we will talk more about the significance of Morfik’s “Packaged Functionality Architecture” and more specifically about how it can provide backward compatibility for your xApps at project level.