The following technologies developed at ISRD form the ecosystem that supports DERIVA's features:
ERMrest: ERMrest (rhymes with "earn rest") is a general relational data storage service for web-based, data-oriented collaboration. It allows general entity-relationship modeling of data resources manipulated by RESTful access methods. A client library - ERMrest JS - is also available.
Git Repo: https://github.com/informatics-isi-edu/ermrest
Git Repo: https://github.com/informatics-isi-edu/ermrestjs
DERIVA PY: DERIVA PY provides Python modules for accessing ERMrest and HATRAC services.
Git Repo: https://github.com/informatics-isi-edu/deriva-py
DERIVA QT: DERIVA QT provides Python modules for graphical user interface tools such as Authentication and File Upload.
Git Repo: https://github.com/informatics-isi-edu/deriva-qt
HATRAC: HATRAC (pronounced "hat rack") is a simple object storage service for web-based, data-oriented collaboration. It presents a simple HTTP RESTful service model with hierarchical data naming, access control suitable for collaboration, trivial support for browser-based applications, referential stability for immutable data, atomic binding of names to data and consistent use of distributed data.
Git Repo: https://github.com/informatics-isi-edu/hatrac
Git Repo: https://github.com/informatics-isi-edu/chaise
IOBox: IObox is a collection of Extract, Transform, Load (ETL) utilities for ERMrest+Hatrac. Extract: Connects to a data source (or read from a file) and generates a data "bag". Transform: Takes a "bag", runs transformations and outputs an updated "bag". Load: Takes a "bag" and loads it into a data sink.
Git Repo: https://github.com/informatics-isi-edu/iobox
BDBag: Used with IOBox (see above), BDBag is a specification for asset aggregation packages - simple yet powerful mechanisms for specifying, sharing, and managing complex, distributed, large datasets - or “bags”. These combine a simple and robust method for describing data collections (BDBags), data descriptions (Research Objects), and simple persistent "minimal identifiers" (Minids) to create a powerful ecosystem of tools and services for big data analysis and sharing.
Git Repo: https://github.com/ini-bdds/bdbag
WebAuthN: WebAuthN is a compact, modular authentication provider framework written to support Python-based, RESTful Web services and is used by ERMrest and HATRAC. It allows deployment-time configuration of several alternative identity and attribute provider modules to establish client security contexts for Web requests by talking to a local or remote provider.
Git Repo: https://github.com/informatics-isi-edu/webauthn