Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Connectivity
Contents
About Connectivity
The Connectivity subproject of DTP provides a connection framework that adopters can use and adapt for their own uses. Through Connectivity, you can:
- Create and maintain driver details for reuse among multiple connection profiles
- Create and maintain connection profiles for a variety of data sources
- Create a shared connection to a data source via a connection profile to get at the contents of the data source (whatever the adopter chooses to implement), possibly manipulate the contents of the data source, and disconnect (releasing the shared connection)
- Use the Open Data Access framework to access data from heterogeneous types of data sources, including custom data repository
Connectivity also provides a UI framework for manipulating profiles:
- The Data Source Explorer provides an Eclipse view through which a user can visually manipulate connection profiles
- A wizard framework allows adopters to extend and adapt classes for a more consistent user experience
- Takes advantage of the Common Navigator Framework in the Eclipse Platform for providing an extensible way to add content and actions
Project Components
Connection Management Framework
The Connection Management Framework (CMF) is the foundation upon which specific connection types are created. The connection types, called Connection Profiles (CP), are contributed to the CMF through extension points. Users then connect to data source instances by creating and configuring a CP for that data source type. Data source-standard configuration parameters, such as the connection URL, user name, and password, are provided on CP instance creation and stored as secure meta-data for the CP. CP allow for host connectivity checks (“ping”), connection, auto-connect on CP startup, and disconnect. Further, CP Extensions enable additional functionality and content to be added to a CP. For reuse of CP instance configuration, base import/export functionality is provided by CPF and surfaced in tools such as the DSE Explorer (see below). Data source CP then become the connection providers through which other DTP tooling accesses data source instances.
[Developers' Guide for Connectivity Frameworks (HTML)]
Data Source Explorer
The Data Source Explorer (DSE) is an Eclipse view housing CP instances. From this view, CP capabilities are surfaced, and data source content is presented. The type and level of detail for any one instance is constrained only by the CP itself. DSE also is a provider of CP instance data to clients, such as drag and drop and API calls. This allows data tooling requiring connection management to interact with the DSE as a mediator to CP instances.
[Data Source Explorer Design (HTML)] [Data Source Explorer Design (PDF)]
Driver Management Framework
Access to the appropriate drivers is a prerequisite for programmatic interaction with data sources. The Driver Management Framework (DMF) supplies an Eclipse preference page enabling users to create driver definitions based on supplied templates. A number of templates are provided in the base installation, and additional templates can be added by component developers contributing to DMF extension points.
[Developers' Guide for Connectivity Frameworks (HTML)]
JDBC connection support
DTP will include a JDBC driver template and CP, as a means of enabling database connectivity, and serving as an example for further CP development. Database-specific capabilities can then be surfaced as CP extensions, allowing for specialization and presentation of differentiating database functionality directly in that database's CP.
[Connecting to Apache Derby using DTP M2 (HTML)]
Open Data Access (ODA) Framework
The Open Data Access (ODA) component is an open and flexible data access framework that allows applications to access data from both standard and custom data sources. It enables data connectivity between data consumers and data source providers through published run-time and design-time interfaces. In addition, the framework includes an ODA driver management package that helps an ODA consumer application to manage diverse behavior of individual ODA data drivers.
ODA is one of the key components integrated by the Eclipse BIRT project for heterogeneous data retrieval. Data providers can plug in an ODA-compliant data source driver to access any data repository. Both DTP and BIRT deliver out-of-the-box ODA drivers to access common data sources, such as XML, Web services, CSV files, and JDBC.
A custom data source driver is created simply by implementing the ODA data access interfaces. Use the ODA Project Creation Wizards to help kick-start the development of your custom ODA driver. Its implementation would wrap data source-specific APIs (such as web services, etc.) to retrieve data rows. Once developed, the driver can be registered through an extension point with individual ODA consumer components to enable data connectivity.
The ODA runtime interfaces include support for establishing a connection, accessing meta-data, and executing queries to retrieve data. They are JDBC-like, but have been extended to support additional capabilities of non-RDBMS data sources. For example, the use of data source-specific query text (i.e. not SQL specific), complex parameters, etc. In addition, the ODA design-time interfaces and extension points allow you to provide a designer GUI tool specific to your custom data source.
ODA Overview Document [HTML] [PDF]
ODA API Use Cases
Developer Documentation
Connectivity framework developer documentation
Usability
Help improve the DTP user experience by telling us what you like and don't like about using the DTP connectivity layer on the connectivity usability discussion page.
We have started to do some planning and design to address many of the items brought up during the usability discussion. The first document generated during this process is the High Level Plan, and that will be followed up with other documents as planning and design continue.
Documents
High Level Plan for DTP Usability
High Level Design for DTP Usability
Final discussion page for Ganymede Connectivity usability changes
Release Planning
Connectivity Europa Features
Discussion page for Europa Connectivity features
Connectivity Callisto Features
Discussion page for Callisto Connectivity features
Committers
- Brian Fitzpatrick, Project Lead (Sybase)
- Cong Chen (Sybase)
- Linda Chan (Actuate)
- Larry Dunnel (IBM)
- Lin Zhu (Actuate)
- Loic Julien (IBM)