Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
README.md
architecture.dot
architecture.pdf
architecture.png

README.md

GoodData CL Architecture

The GoodData CL framework. The framework wraps various GoodData HTTP APIs (authentication, provisioning, modeling, and dat loading) in convenient Java methods. Here is a simple diagram of the GoodData CL Framework:

GoodData CL Framework

The framework contains following components:

  1. CLI the command line interface that processes a simple commands like CreateProject, ExecuteMAQL, TransferLastSnapshot etc. by translating them to the Connector function calls. The CLI also implements few generic commands (e.g. CreateProject, DropProject etc.)
  2. Connector represents a specific data source (e.g. SalesForce, GoogleAnalytics, SQL database, data file etc.) that can be loaded to a GoodData project. The Connector wraps functions that:

    1. extract data from a particular source.
    2. generate an appropriate MAQL DDL script
    3. create a project's Logical Data Model (LDM) via executing the MAQL DDL script
    4. transform (normalize) the input data to fit the Data Loading Interfaces that have been generated from the MAQL DDL
    5. package and transfer the data to the GoodData project.
  3. GdcRESTApiWrapper that is a communication stub that wraps the GoodData HTTP API in Java. This class de-facto translates the Java calls to the invocations of the GoodData HTTP API. The GdcRESTApiWrapper returns few info structures that describe the GoodData project, Data Loading Interface (DLI), DLI parts etc.

  4. GdcFTPApiWrapper that is a communication stub that wraps the GoodData FTP API in Java. This class takes care of the transfer of the data package to a secure private space on GoodData servers.
  5. Connector Backend performs the data transformation. The backend is implemented in the Derby SQL (embedded, low performance) and MySQL (needs installation, improves performance) databases. The connector backends transform the incoming data to the 3NF
  6. MAQLGenerator generates the MAQL DDL script that creates the GoodData LDM
Something went wrong with that request. Please try again.