WrapperCreator
The ''wrappercreator' is responsible for generating the environment where the application can run.
In technical terms, it creates the workunit executable(s), which are executed/submitted by the Submitter

Registration

Navigate to Admin / Application Data / Wrappercreator and click on "Create Wrappercreator". Select the wrappercreator executable, modify the parameter setting and click on "Save".

Programflow of a Wrappercreator

  1. all executables are executed with the commandlineoption -j followed by the externaljobid
  2. read the externaljob and check if the action is CREATE: If not, this is not a job for the wrappercreator
  3. set status to "running"
  4. parse cliententityclassname (wrappercreatior usually work with workunit)
  5. parse cliententityid
  6. get the entity from B-Fabric (SOAP) which is referenced by cliententityclassname and cliententityid
  7. with the ids get the entities from B-Fabric of the inputresource, application, applicationexecutable, parameter(context=APPLICATION), storage
  8. (optional) if the technology is needed, read it from the project
  9. use this data to build the workunit-executables (can be more than one!)
    • "applicationexecutable" is the main executable used in this workunit
    • "inputresource" is usually the file which the "application" works with
    • "parameter" are the additional options for the "application"
    • "storage" is needed to save the output of the "application" to the correct place
  10. save the executable(s) to B-Fabric (SOAP) (action=WORKUNIT,context=WORKUNIT) attach it to the workunit
  11. create the externaljob(s) (action=SUBMIT) with the executableid(s) (you get in the previous step) and the workunitid
  12. tell the externaljob of this wrappercreator what you have done (logthis) and update the status as needed ("done" or "failed")

Remarks

As the wrappercreator is responsible for creating the environment for the application to run, B-Fabric will have several different wrappercreators installed.
Example:
  • for python with special packages
  • standard gnu tools
  • windows applications
  • bioinformatic applications
All of them mainly differ in the "build" step. All the rest is usually the same.
We try to build a library, package or similar to ease the creation of a wrappercreator.

Visual

Image