Orchestrator에서는 Mozilla Rhino 1.7R4 JavaScript 엔진을 사용합니다. 그러나 Orchestrator의 Rhino 구현에는 몇 가지 제한 사항이 있습니다.

워크플로에 대한 스크립트를 작성할 때 Orchestrator의 Mozilla Rhino 구현에 대한 다음 제한 사항을 고려해야 합니다.

  • 워크플로가 실행될 때 워크플로 요소 간에 전달되는 개체는 JavaScript 개체가 아닙니다. 하나의 요소에서 다음 요소로 전달되는 것은 JavaScript 이미지가 있는 Java 개체의 직렬화입니다. 따라서 전체 JavaScript 언어를 사용할 수 있는 것이 아니라 API 탐색기에 있는 클래스만 사용할 수 있습니다. 워크플로 요소 간에 함수 개체를 전달할 수 없습니다.

  • Orchestrator는 Rhino 루트 컨텍스트가 아닌 컨텍스트의 스크립팅 가능한 작업 요소에서 코드를 실행합니다. Orchestrator는 스크립팅 가능한 작업 요소 및 작업을 JavaScript 함수에 투명하게 래핑하여 실행합니다. System.log(this);가 포함된 스크립팅 가능한 작업 요소는 this 전역 개체를 표준 Rhino 구현과 동일한 방식으로 표시하지 않습니다.

  • 직렬화할 수 없는 개체를 반환하는 작업은 스크립팅에서만 호출할 수 있으며, 워크플로에서는 호출할 수 없습니다. 직렬화할 수 없는 개체를 반환하는 작업을 호출하려면 System.getModuleModuleName.action() 메서드를 사용하여 작업을 호출하는 스크립팅 가능한 작업 요소를 작성해야 합니다.

  • 워크플로 유효성 검사에서는 워크플로 특성 유형이 작업 또는 하위 워크플로의 입력 유형과 다른지 여부를 확인하지 않습니다. 워크플로 입력 매개 변수의 유형을 변경(예: VIM3:VirtualMachine에서 VC:VirtualMachine으로)했지만 원래 입력 유형을 사용하는 스크립팅 가능한 작업을 업데이트하지 않은 경우 워크플로의 유효성은 검사되지만 워크플로가 실행되지는 않습니다.