This guide will teach you how to create a custom third-party connector from scratch. You can code your own connectors to connect and stream data from a data source.
Third-party connectors allow for Yellowfin to connect to any data source and return tabular data that can be consumed and displayed as tables and charts.
Data can be retrieved from any source via file access, API access, or data that is embedded in the connector itself. Most implementations are expected to make use of web service APIs, third-party web applications, and SAAS providers.
Implementation is done by extending Yellowfin’s third-party Java interface.
Each implementation consists of a single AbstractDataSource class. This contains details about how the connection is made, and prompts the user for required connection information. The data source can also contain a reference to a background job that can perform tasks on a scheduled basis. This schedule is defined in an implementation of a ScheduleDefinition class.
Each data source can have many data sets available within it. Each data set is an implementation of an AbstractDataSet class. These can be thought of as views. A report can only be written against a single data set. A data set will have several columns and filters defined and will return a result set to Yellowfin.
A metadata class is also required. This will allow for a connection wizard to be defined, and prompt the end user for the required parameters to make a connection to the third-party source. This is an implementation of a JDBCMetaData class.
Here is the general process for creating a custom connector:
- Connector prerequisites: Check the connector prerequisites to ensure that your environment meets all the requirements.
- Define connector metadata: Learn about the connection details required for creating a connection to a third-party source.
- Define a data source: See the functions required to define a data source.
- Define data sets: View which functions to use to define a data set.
- Package your connector: Finally, package your connector to load it into Yellowfin.
Also see: Connector Appendix