April 21, 2016

EU BON Workshop MS 144 
Stockholm, Sweden, 27-29 April 2016

Wickman Room

EUBON Taks 1.4 
Integrated approachees

Keyboard shortcuts for presentation viewing mode:

'f' enable fullscreen mode
'w' toggle widescreen mode
'o' enable overview mode
'h' enable code highlight mode
'p' show presenter notes

What is EUBON Task 1.4

"Integrated approaches"

Biodiversity data mobilization efforts for collection-based and molecular data using innovative open-source tools and services

  1. DINA-Web - development, operations, training of an integrated web-based solution for digitizing, managing and mobilizing specimen data in natural history collections

  2. JACQ (Virtual Herbaria) for capturing botanical data will be integrated with other web services, to allow increased participation of a significant number of European herbaria to feed their data into GEO BON.

  3. PlutoF for DNA and genomic datasets -a set of web-based services, integrating distributional and molecular information will be provided, also linking to molecular identification and phylogenetic analysis.

Open-source tools and services

What is an open-source tool or service?

  • Software available on GitHub or BitBucket or equiv providing open access with rights to modify and use source code
  • Open-Source licenses are used for the software code (such as MIT, Affero GPL, Apache)

What is an open-source web service?

  • The above but more…
  • It can be or is operational - available 24/7, run by an institution
  • It may deliver data by exposing machine readable web APIs or web services (documented and versioned)
  • Creative Commons licenses used for content/data to clarify how content can be shared
  • May require authentication

What is a "system"?

  • The above but more… it is a composition of several services with user interfaces and tools (api + ui + cli)
  • It may expose human usable web UIs (apps, portals etc) to facilitate using the services
  • It may provide data migration tools (to load and export data in and out of the system)
  • It may include support, training and even consulting and may be actively maintained like for example "Open Försäkringskassan" http://https://open.fk.se/

"Innovative" open-source sw?

Docker is innovative because it solves an important problem. It allows the same code to be run without changes on different stacks / platforms and it allows dependencies to be included into components. You can use docker for integrations where you share open-source components with others and compose composite apps from various standalone portable parts.

Monolith -> System of portable modules

Therefore, your system - the same bits and pieces - can be run entirely on your laptop or on a server in the cloud. Your system can be built from components or "containers" that run independently of one another even across different physical servers.

Vagrant vs Docker vs VMs

In vagrant you often build one monolith of your whole system.

With docker you can do that, but you can do more, because you can also break out system components into containers and from those compose your system. It can be used a little bit like LEGO.

With docker you get "lightweight containers". It is not a replacement for VMs, it works well in combination. Most docker apps probably run within VMs. You can also choose to run docker directly on "bare metal".

Current state of DINA-Web

Guidelines

Docker 101

System Integration projects

Can your tagged, versioned released components be pushed to GitHub Releases + Docker Hub?

Generally for "system integration projects" (search for "dw-" @ https://github.com/DINA-Web)

  • Provide docker-compose.yml file, which ties together components
  • Provide README.md
  • Provide Makefile, support lifecycle to build (if necessary), start, stop the services

Examples of tools used in DINA-Web