1

我正在审查使用 NoFlo 作为编排引擎的可能性。为了保持“关注点分离”,并使用 NodeJS,我将基本上使用 Express 创建一个 RESTful API,它将有一系列 POST 和 GET 请求。这个 RESTFful API 将通过在运行时中启动和停止图形与编排(即 NoFlo 图形和运行时)进行交互。从行为的角度来看,POST 请求将启动/停止编排,而 GET 请求将获取有关编排的信息(即状态、错误...)。从状态的角度来看,一个 POST 将创建一个编排,一个 GET 将枚举该编排。

根据我在各种堆栈帖子中所读到的内容(即 -从 noflo 开始,从 nodejs 运行它),这似乎是可能的,但我仍然有几个问题。这是其中之一。

是否可以将 JSON 图形从内存加载到 Noflo 运行时,而不是拥有一个持久文件然后从该文件将其加载到 NoFlo 网络中?我想将图形加载为 JSON 对象。

我试图用这个做两件事: - 将图形加载和保存到数据库。- 让 UI 管理数据库中的这些图表。

对此问题和主题的任何想法将不胜感激。

4

1 回答 1

0

是的,可以让 NoFlo.fbp从内存、文件、任何地方运行 JSON(或)图形定义。

这发生在两个步骤中:

  1. 将图形字符串/对象加载到noflo.Graph

    noflo.graph.loadJSON(graphDefinition, function (err, graph) {
      if (err) {
        // Handle graph loading errors
      }
      // Now you have a graph object, you can create a network from it
    });
    
  2. 根据图定义实例化 NoFlo 网络

    noflo.createNetwork(graph, function (err, network) {
      if (err) {
        // Handle network setup/starting errors
      }
      // Now you have a running network object. You can use its
      // lifecycle events and methods to interact with it
    })
    

此外,上面加载的图形对象是“实时的”,因此如果您对其进行更改,网络将做出相应的反应。这意味着您可以在运行时添加/更改节点和连接。

于 2017-02-23T13:43:46.953 回答