2016-06-10 1 views
1

NoFlo를 오케스트레이션 엔진으로 사용할 가능성을 검토하고 있습니다. "Separation Of Concerns"를 유지하고 NodeJS를 사용하기 위해 기본적으로 Express를 사용하여 일련의 POST 및 GET 요청을 갖는 RESTful API를 작성합니다. 이 RESTFful API는 런타임에서 그래프를 시작 및 중지하여 오케스트레이션 (즉, NoFlo 그래프 및 런타임)과 상호 작용합니다. 행동 관점에서 볼 때 POST 요청은 오케스트레이션을 시작/중지하고 GET 요청은 오케스트레이션에 대한 정보 (예 : 상태, 오류 ...)를 가져옵니다. 상태의 관점에서 POST는 오케스트레이션을 생성하고 GET은 오케스트레이션을 열거합니다.NoFlo 및 JSON 그래프로드

다양한 스택 게시물 (예 : Starting out with noflo, running it from nodejs)에서 읽은 바를 바탕으로 가능한 것으로 보이지만 몇 가지 질문이 있습니다. 여기에 그들 중 하나가 있습니다.

메모리에서 Noflo 런타임으로 JSON 그래프를로드 할 수 있습니까? 대신 지속 파일을 가지고이 파일에서 NoFlo 네트워크로로드하는 것이 가능합니까? 그래프를 JSON 객체로로드하고 싶습니다.

두 가지 작업을 수행하려고합니다. - 데이터베이스에 그래프로드 및 저장. - 데이터베이스에 이러한 그래프를 관리하는 UI가 있습니다.

이 질문과 주제에 대한 의견을 보내 주시면 대단히 감사하겠습니다.

답변

0

예, 어디서나 NoFlo가 파일의 메모리에서 JSON (또는 .fbp) 그래프 정의를 실행할 수 있습니다.

이 두 단계로 일어난다 :

  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 
    }) 
    

또한 위에로드 된 그래프 개체는 "라이브"이므로 변경하면 네트워크가 그에 따라 반응합니다. 즉, 런타임에 노드와 연결을 추가/변경할 수 있습니다.

관련 문제