Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Use Case - Create a Custom ODA Data Source

Purpose

The Open Data Access (ODA) component is an open and flexible data access framework that provides an uniform way for scalable data retrieval from heterogeneous enterprise data sources. Any data provider who wants to be consumed by an ODA consumer application such as BIRT, may plug in a custom data source driver that implements the ODA runtime and design-time extension points.

Getting Started

To assist with creating your own custom ODA driver, use the ODA Plug-in Project Wizards. Each creates an ODA plug-in that implements related ODA extension point(s) and basic ODA interfaces stubbed with sample data, allowing you to immediately run the new ODA driver.

Extension Points Involved

  • ODA Runtime extension point:
    • org.eclipse.datatools.connectivity.oda.dataSource
  • ODA Design-time extension points:
    • org.eclipse.datatools.connectivity.oda.design.ui.dataSource
    • org.eclipse.datatools.connectivity.connectionProfile
    • org.eclipse.ui.propertyPages

Java API Interfaces/Classes

  • ODA runtime data access
    • org.eclipse.datatools.connectivity.oda package (Java interfaces for runtime data access)
    • org.eclipse.datatools.connectivity.oda.manifest package (utility classes to access the content of own plug-in manifest)
  • ODA Design-time API for defining a data source and data set design
    • org.eclipse.datatools.connectivity.oda.design package
    • org.eclipse.datatools.connectivity.oda.design.ui.designsession.DesignSessionUtil class (utility class to manipulate ODA Design API objects during an ODA design session)
  • ODA Designer API for contributing provider-specific design UI pages
    • org.eclipse.datatools.connectivity.oda.design.ui.wizards package
    • org.eclipse.datatools.connectivity.oda.design.ui.pages.impl package (default implementation to define a data source design)
    • org.eclipse.datatools.connectivity.oda.design.ui.manifest package (utility classes to access the content of own plugin manifest)

Exemplary Clients

  • CSV Flat-file data source -
    • org.eclipse.datatools.connectivity.oda.flatfile and org.eclipse.datatools.connectivity.oda.flatfile.ui plug-ins
  • XML data source -
    • org.eclipse.datatools.enablement.oda.xml and org.eclipse.datatools.enablement.oda.xml.ui plug-ins
  • Web Services data source -
    • org.eclipse.datatools.enablement.oda.ws and org.eclipse.datatools.enablement.oda.ws.ui plug-ins
  • BIRT JDBC data source -
    • org.eclipse.birt.report.data.oda.jdbc and org.eclipse.birt.report.data.oda.jdbc.ui plug-ins

Back to the top