Java Tutorial - Java Script : SAP DB

Java Tutorial - Java Script :

SAP DB

While PosgreSQL is the granddaddy of open source databases, SAP DB is the new kid on the block. Most people familiar with information technology within large companies are familiar with SAP. SAP practically defines enterprise resource planning (ERP) software. ERP software is used by most of the world’s largest companies to do everything from project planning to purchasing to payroll. Most enterprise systems in large companies must integrate applications with that company’s ERP software. Of course, ERP software is itself heavily dependent on underlying databases. That is where SAP DB comes in. The following table provides a summary of SAP DB.
Why would SAP release this software as open source, and what makes this a good choice for an open source database? SAP says that they believe that databases are becoming a core part of the technical infrastructure and as such, they should not be proprietary or complex. The feeling is that, by releasing a commercial-grade database to the open source community, they can help this process along. We remain skeptical of their motivation, but impressed by the product. SAP DB does represent an “industrial strength” database. It also provides some features that are unique and may make it the preferred choice for some projects. In particular SAP DB can be made to understand the dialects of SQL that are supported by Oracle (version 7) database products and by IBM’s DB2 (version 4) database.
This is a very valuable feature if you need to migrate an application developed using those older commercial products to an open source platform. With over 1,300 registered installations SAP DB also has a proven track record supporting commercial installations. In some ways, it may sound as if SAP is dumping their product into the open source community, similarly to what Borland attempted with Interbase. SAP claims that this is not true and further states that they have over 100 programmers who are dedicated to continuing development and maintenance of the product. It does not seem, however, that SAP DB has attracted a large number of volunteer programmers to help with the open source effort. Granted, any database product of this size will take a while for a community to learn how to manage and make changes to the source code. This was the same problem encountered by the PostgreSQL community. Although SAP DB is, by any measure, a powerful and robust database product, it remains to be seen how it will fare in the long term as an open source product.
 

Obviously, if you are planning on doing development and hosting under Linux, then this should not be a concern, but because this violates our goal of creating a platform that is operating system and hardware independent, we will rule out PostgreSQL.

Eliminating PosgreSQL still leaves us with three database products to select from. From a technology standpoint, all three seem to be able to support most of our needs. This brings us to nontechnology issues. All three remaining products offer excellent resources for support and documentation. Each project offers a much richer documentation package than is seen in most open source Java products. Furthermore, unlike the embedded Java database issue discussed in regards to McKoi’s use of GPL, we do not have to be concerned with the GPL license restrictions here because we are connecting to the database and not embedding it into our platform. The licenses on the JDBC drivers (LGPL, BSD, and Mozilla based) are all compatible with the rest of the products in our platform
.
 MySQL has recently changed the licensing on their latest JDBC driver to be GPL instead of LGPL. However, the documentation on their site makes it clear that using the JDBC driver does not imply a requirement to make the client software GPL unless the client software will be distributed with the driver. It is not clear that this view of the GPL license is compatible with the view offered by the GNU organization. It would be nice if MySQL would restore the LGPL license and remove any questions about the use of the driver with commercial products. This is different from the issue discussed for McKoi and embedded Java databases because as an embedded product the Java database would be required to be distributed with the product.

Firebird and PosgreSQL both have true open source communities supporting them. MySQL, although maintained by MySQL AB, has done an excellent job of involving outsiders. SAP DB seems to provide good support for users (application developers) but it is unclear if a development community is being created around the project.
In short, all three choices are good choices for us. In others words, we can’t make the wrong choice here. That is a nice position to be in.