Introducing JTracker
A track everything solution for workflow authoring, sharing and execution

Components

JTracker components

The system contains four major components:

  • JT-AMS is responsible for user, organization account creation, user group management. (try it)
  • JT-WRS allows users to register, manage and share workflows. Workflow can be private or public. (try it)
  • JT-JESS supports job queue creation, job enqueueing and task dispatching to executors. (try it)
  • JT-CLI is a client side tool communicates with JTracker services allowing users to perform various operations. It can also launch JT Executors to pull jobs and run them in different environments. (download and try it)
Do NOT include sensitive data when trying out this demo server.

How does it work?

As a multi-tenant system, a JTracker server can serve many users/organizations/projects at the same time.

A JTracker server provides two major centrally managed functionalities: maintaining workflow registry and orchestrating job execution.

Typically, a user starts from choosing a workflow (either developed by herself or shared by others), then creates a job queue and starts to enqueue jobs. For execution, she launches Executors via JTracker CLI in any compute environment of her choice. With scheduling services provided by the central JTracker server, all executors will be able to pull tasks in a fully automated and coordinated fashion. The user can add or remove executors as needed.

Instructions for a quick test run can be found at here.
Google slides presented at GA4GH Cloud Work Stream meeting.
Deployment

Deployment

ER diagram

This entity relationship diagram illustrates JTracker's major entity types and their relationships.

It's worth mentioning that every single object of any type produced in JTracker is instantiated with a UUID and it's completely immutable. This forms the foundation for trackability and provenance.