The DTP Enablement Project

The project has been created. Please visit the project page.

An Eclipse Data Tools Platform Project Proposal
April 2006

Introduction

The Enablement Project is a proposed open source project under the Eclipse Data Tools Platform top-level project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join the project. Please send all feedback to the eclipse.dtp newsgroup.

Background

The Eclipse Data Tools Platform (DTP) project provides extensible frameworks and exemplary tools for working with heterogeneous data sources. DTP is thus a powerful enabler for data-centric applications build both in the Eclipse IDE and RCP environments.

While DTP is a solid foundation, the development of data-centric applications typically assumes supported access to particular data sources. For example, DTP 0.7 concentrated on relational data structures and hence relational databases, taking Apache Derby as the example implementation target. We at DTP recognize, however, that many potential users and extenders require access to other data sources. To this end, DTP 0.7 provided generic JDBC connection capability for relational data stores. While such generic capability is welcome, it often does not meet the specialized requirements necessary to fully work in particular cases. Finally, DTP 0.7 provides an abstraction of the type of data being read via the Open Data Access (ODA) components. As with the relational data store examples, DTP 0.7 provided a couple of examples leveraging ODA. For full use of ODA, however, specialized support for data sources is required as well.

To meet these needs, the DTP Project Management Committee (PMC) is now proposing the “Enablement” project. The intention of this project is to invite groups willing to provide specialized data source support into the DTP project. While DTP could simply encourage an external community – both open source and commercial – providing such specialized support (and we will), there are numerous advantages to also having the Enablement project. These advantages fall into two main categories:

  • Being an Eclipse project, all contributions will adhere to the Eclipse Intellectual Property (IP) policies. Thus, the Eclipse community at large will benefit by having access to open-source, IP-verified specialized data source support for DTP.

  • Groups providing specialized data source support within Enablement will work closely with committers on the core DTP frameworks and tools projects. This will enable a tight feedback loop where Enablement committers can learn how best to leverage DTP frameworks and tools, and core DTP framework and tools committers can gain invaluable input for evolving their components to better align with community needs.

Scope

The Enablement project is intended to provide specialized support built on DTP core extension points and API. Enablement members can use the full range of these or any subset they see fit to provide specialized support for their particular data source. In general the PMC expects to see contributions to Enablement that demonstrate good usage of core DTP frameworks and tools, and not those of greater scope than could be reasonably allowed by a simple specialization delivery. Functionality beyond the confines of simple specialization is always welcome, but must be contributed by working with the DTP core frameworks and tools committers to ensure that it is delivered in a vendor neutral way as part of DTP core, and hence available to any DTP extender.

To insure that contributions to the Enablement project remain within the intended scope, component teams in Enablement will submit a design document detailing the planned contributions prior to any deliveries. This document will be first reviewed by the DTP Architecture Council and then the DTP community at large. Final approval of the design will be made by the DTP PMC.

Existing standards and projects leveraged

Standards supported within Enablement are up to the specific data source being targeted. For example, it is reasonable to expect that relational data sources would use JDBC as part of specialization support.

Organization

The Enablement project will be divided into a number of components, one for each specialized data source. Each component will contain one or more Eclipse plug-ins as part of their deliverables. A component lead will be designated for each component, and these leads will work with the Enablement project lead to insure successful execution of project tasks. An important responsibility for all component leads is make sure that sufficient committer support is supplied in an on-going basis to fix bugs and evolve components in line with DTP core changes. Committer rights within Enablement will be limited at the component level.

Proposed initial committers and project lead

The proposed project lead for Enablement is John Graham (john.graham@sybase.com), the current PMC chair for DTP. Additional committers already members of DTP will contribute default specializations (as described below) and perhaps full specializations in certain cases.

Interested potential committers are kindly invited to express it on the newsgroup or via email.

Interested parties

  • Actuate: For XML data source.

  • IBM: For IBM databases.

  • Sybase: For Sybase databases.

Initial contribution

Within DTP 0.7 there are a number of default support components for a set of relational databases. The support offered by these default components varies, but it is a start. The intention is to move all of such components into the Enablement project where, in the ideal scenario, they will be picked up by Enablement committers who will extent them for full support. At the very least, Enablement will provide partially specialized support for parity with DTP 0.7 and the WTP “rdb” component set.