Skip to content

Latest commit

 

History

History
45 lines (35 loc) · 2.24 KB

README.md

File metadata and controls

45 lines (35 loc) · 2.24 KB

ZOON demo web interface

Components

  1. business-manager
    Does the processing and hard work via command-line invocations.
  2. client
    User-interface operations.
  3. parent-pom
    Parent component of the (Maven) application build process.
  4. shared
    Source code shared between business-manager and client.

Deployment diagram.

Deployment diagram

Possible client methods of interaction.

  1. Browser connection to client web interface.
  2. Read-only connection to elastic db (containing public parsed modules and workflow call data).
  3. Direct WS connection to business-manager to run R commands (as defined by the WSDL derived from https://github.com/gef-work/website/blob/master/business-manager/src/main/resources/META-INF/schema/business_manager.xsd )

Some fundamental functionality.

  1. On start-up ....
    1. business-manager parses (by R invocation) ZOON modules from {local-fs|GitHub} and places data in elastic db. Then proceeds to query Figshare for ZOON workflow calls and parses (not R invocation!) and places parsed data in elastic db.
    2. client reads in user data and loads JDBC database.
  2. If a registered user is signed in they can upload their private ZOON modules into a temporary store (gitblit) and verify (by R invocation) them. They can also store their created ZOON workflow calls. These private modules and workflow calls do appear in other views.
    A verified ZOON module can subsequently be uploaded to a GitHub repository.
  3. New users can register themselves on the website, in which case an email is sent to ZOON admins and one of them can log in to activate the newly registered person.

Missing functionality.

  1. Not a dynamic update of modules newly uploaded to ZOON GitHub. Would currently need to restart business-manager manually for the start-up loading of elastic to draw in the new module.
  2. No "official" workflow call parsing possible.
  3. Clearly defined way of storing different versions of public ZOON modules (and workflow calls).
  4. Quite a lot else!