Instructions for using the Clara-UI graphical interface, that presents a seamless experience between designing, controlling and monitoring data processing applications is under construction.

Data processing application design can be performed by simply creating and/or editing composition yml text file. This file consists of 4 sections.

The io-services section is designed to describe IO services. This section has 2 subsections: reader and writer, describing input and output services accordingly (see an example below).

io-services:
  reader:
    class: org.jlab.clas.std.services.convertors.HipoToHipoReader
    name: HipoToHipoReader
  writer:
    class: org.jlab.clas.std.services.convertors.HipoToHipoWriter
    name: HipoToHipoWriter

The services section describes data-quantum processing services.

services:
   - class: org.jlab.rec.ft.cal.FTCALEngine
     name: FTCAL
   - class: org.jlab.rec.ft.hodo.FTHODOEngine
     name: FTHODO
   ...

Note that if you need to remove a service from a composition you comment out the service description, as shown below:

    # class: org.jlab.clas.std.services.convertors.EtRingToHipoReader
    # name: EtRingToHipoReader

The configuration section describes configuration options required by services that will be passed to them at the Orchestrator’s state-machine configure state. Subsection global lists configuration options that is required to be applied to all services of an application composition. The io-services subsection describes configuration option used by io-services only. The services subsection describes configuration options for each individual data processing service (see an example below).

configuration:
  global:
    magnet:
      torus: -1
      solenoid: -1
    ccdb:
      run: 101
      variation: custom
    runtype: mc
    runmode: calibration
  io-services:
    reader:
      system: /tmp/clara-et-system
      host: localhost
      port: 11111
      torus: -1.0
      solenoid: -1.0
    writer:
      compression: 2
  services:
    EC:
      variation: cosmic
      timestamp: 333

And finally, the mime-type section defines the data type for the streaming data-quanta.

mime-types:
  - binary/data-hipo

Clara is designed for extension, You can build your own data processing services, and add them to an application composition. This approach enables rapid prototyping/development and effective testing.