About EasyMorph Tutorials & Examples Web-help

How external applications can run EasyMorph workflows

There are 2 ways how external applications can run EasyMorph workflows:

Run EasyMorph Desktop in the command line mode

See the documentation for the command line syntax: https://help.easymorph.com/doku.php?id=command_line

Pros:

  • Easy setup
  • Can assign project parameters
  • Can run multiple instances of the same project at the same time
  • No EasyMorph Server required

Cons:

  • Can’t run a workflow on another computer
  • Can’t run workflows asynchronously
  • Requires Windows
  • No tight integration possible (e.g. showing task status in real time)

Run EasyMorph Server task via ems-cmd or .NET SDK

The .NET SDK is an open-source library that can be used in .NET (C#, etc.) application directly to run EM Server tasks and list/upload/download files. It’s source code is available on GitHub here: https://github.com/easymorph/server-sdk.

The ems-cmd utility is simply a command line utility that is basically a thin wrapper for the .NET SDK and runs in the command-line mode. Since it’s a .NET Core application, it can be compiled and used on non-Windows machines (e.g. Linux). It’s source code and the latest version is available here: https://github.com/easymorph/server-cmd

Pros:

  • Can run EM workflows on another computer
  • Can assign project parameters
  • Allows tight real-time integration with .NET applications
  • Can be used on non-Windows machines
  • Includes means for uploading/downloading files to/from EM Server
  • Can run workflows under a different user account than the calling app
  • Can run workflows in both synchronous and asynchronous modes

Cons:

  • Requires EM Server license
  • Can run only one instance of a task at a time. I.e. if a task is already running it can’t be launched again. (This limitation will be lifted in version 5 to be released by the end of the year). Partially, this can be mitigated by having a pool of identical tasks and triggering any task that is not running.

Run EasyMorph Server task via REST API

The .NET SDK described above is effectively an open-source client for the REST API of EasyMorph Server. Any application can trigger tasks and upload/download files to/from Server using the REST API. The source code of the SDK is a reference use of the SDK and is supposed to be self-explanatory.

To learn more about EasyMorph visit easymorph.com.