Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »


Tech/Framework

Version

Programming Language

GOBii Module

Owner

Notes

Postgresql

9.5

SQL, Pl/pgsql

Data warehouse

Kevin Palis

plans of upgrading to 12 within the next few months

Liquibase

3.5.1

SQL with annotations

Data warehouse

Kevin Palis

used for database versioning and migration

HDF5

1.8.18

C/C++

Data warehouse

Dave Matthews

stores genotype data

Psycopg2

2.6.2

Python

Data warehouse

Kevin Palis

used by the ETL, might get updated with Postgres12

Docker (with swarm)

18.06.1-ce

n/a

DevOps

Kevin Palis Roy Petrie

(almost) everything GOBii is now containerized

Ubuntu

18.04 LTS

n/a

DevOps

Kevin Palis Roy Petrie

As of GDM 2.2, all our containers run this version of Ubuntu

Tomcat

9.0.27

n/a

DevOps

Kevin Palis

As of GDM 2.2, all our containers run this version of Tomcat

Atlassian Bamboo

6.6.0

Shell scripting (bash)

DevOps

Kevin Palis

main CI/CD pipeline

Selenium

3.0.2

Python

DevOps

Kevin Palis

used for testing the extractorUI

ZK CE

8.6.0.1

Java

Timescope

Angel Raquel

UI development for TImescope

Angular

4.2.4

Typescript

ExtractorUI, Web LoaderUI, PortalUI, Job StatusUI

Vishnu Govindaraj, PFR

UI development for the ExtractorUI

Vue

2.6.10

Javascript

PedVer,

Angel Raquel

UI development for Pedver

Leiningen

2.9.1

Clojure / Bash

Bert & Ernie

Luke Cook

Bash script for building Clojure Projects

JOOQ

3.10.4

Java

Timescope

Angel Raquel

used for fetching data from the database

Java SE

OpenJDK 13

Java

Middleware (Digesters, Extractors)

Josh Lamos-Sweeney


Linux Cron

Ubuntu 18.04's cron

Bash

Middleware (job queue)

Josh Lamos-Sweeney

currently just simple configurable cronjobs, but we plan on migrating to a job scheduler in the future

SMTP

any email provider that supports SMTP

Java

Notification system

Josh Lamos-Sweeney

GDM needs an email account to send out notifications on job status. We typically use GMail but it can be any email provider.

We plan on moving to a purely web-based notification system in the future (will come with the Job StatusUI).

Spring MVC

4.3.0

Java

GDM Web services

Vishnu Govindaraj

GDM Web services and Brapi Web Services

Hibernate

5.4.10

Java

GDM Web Services

Vishnu Govindaraj

Object Relational Mapping for Web service Data Access Layer.

Celery

4.4.0

Python3

F1 Pedver

Vishnu Govindaraj

Framework to run analytics pipeline jobs like Filtering, Consensus calling and Pedigree Verification.

Flask

1.1.0

Python3

F1 Pedver

Vishnu Govindaraj

F1 Pedver tool API to submit jobs with required data.

Redis

5.0

Redis

F1 Pedver

Vishnu Govindaraj

Acts as a Message broker between Analytics pipeline and backend web services.

Junit

4

Java

F1 Pedver

Vishnu Govindaraj

Testing Framework for GDM Webservices. Along with that we use Mockito and Spring Test which accessory Frameworks.

GUnicorn

Python

F1 PedVer

Vishnu Govindaraj

Python WSGI HTTP Server for UNIX


A general overview of the architecture:


Disregard MonetDB as we've dropped support for that.


Legend

  • IFL = Intermediate File Loader
  • H5L = HDF5 Loader
  • MDE = Metadata Extractor
  • H5E = HDF5 Extractor
  • JDBC = Java Database Connectivity
  • API = Application Programming Interface
  • JSON = JavaScript Object Notation
  • Arrows represent data flow


To update:

  1. MonetDB is no longer used and should be removed from this diagram
  2. There is work being done on making the LoaderUI a web app, once that is done, this diagram should be updated accordingly.









  • No labels