Eclipse seems like this big snowball rolling down the software industry hill, picking up code, contributors, and users as it rolls along. It has gotten much bigger in the past year and a good chunk of that snowball is SQL-flavored.
There’s three Eclipse projects for database tools: BIRT, Data Tools, and RDB (part of WTP). Also there is a growing partnership with Apache Derby.
I got to see BIRT at the big Actuate booth at the EclipseCon vendor hall. BIRT stands for Business Intelligence and Reporting Tools. It is a top-level Eclipse project and is backed by the fact that Actuate is a Strategic Developer, which means that they have to devote a big chunk of change and commit at least 8 developers to the project. BIRT doesn’t have database tools per se, but they do have a data source framework which now supports JDBC as well as other types of data sources.
Data Tools is another top-level project which is in the proposal phase, backed by Sybase, which is now also a Strategic Developer. This is an ambitious project covering the entire gamut of database tooling: connectivity to databases, exploring databases, SQL editing and debugging, database administration, Object/Relational Mapping(!), XML/Relational Mapping, and Extract-Transform-Load. There’s no code to see yet unfortunately, but this will be a big component of future Eclipse/RCP apps technology stacks. Hopefully we will see good progress by EclipseCon 2006.
RDB (which stands for Relational DataBase) is a sub-sub-project under the WST (Web Standard Tools) sub-project of the top-level Eclipse project WTP (Web Tools Platform.) There was a nice overview of RDB given by Der Ping Chou (who is a co-lead) in the WTP Sprint on the first night of EclipseCon 2005. I won’t go over it here, because there is a good RDB Tutorial available online that illustrates the features of RDB: a database connection wizard, a database server explorer, a table content browser, and an SQL scrapbook that lets you execute arbitrary SQL. Note that a SQL Editor is in the works that will allow multiple commands and will have content assist.
I got to try out RDB during the WTP tutorial and it worked quite well with Derby. I was impressed by the table contents browser as well as the database explorer. There’s support for several databases built-in and any database vendor can add their own support. I think WTP is open to providing as many database providers as possible (as long as they also commit to maintaining that support.) Der Ping noted that many of the things that RDB does can be reused in an RCP context. For example, you could use the Connection Wizard to configure a JDBC database for use in an RCP app.
As far as specific databases go, the open source Apache Derby database is represented well and seems to be a growing partner for Eclipse. I expect MySQL to also make its presence known. It is interesting to note that 3 of the 4 big database vendors are Eclipse Foundation members: IBM, Oracle, and Sybase. Note that IBM has a few databases: DB2, Informix, and Cloudscape. Oracle has been quiet recently, but they will probably at least ensure that their database has provider support. There is already SQL Server support in RDB.
So where is all this heading? Well from my perspective, RDB has the most code and the most usefulness currently. It is likely to be widely used as WTP starts getting adopted after it releases its 1.0 in July. BIRT has some useful code as well.
During the Q & A portion of the WTP Sprint, Arthur Ryman, who is a co-lead of the WTP project reminded us that Eclipse specifically and open source in general is about collaboration, not competition. So, after WTP 1.0, there will likely be some sort of merging of the Data Tools and RDB projects, which will probably draw in the relevant BIRT pieces.