플로우 구축
워크플로우 스튜디오 은 플로우를 생성하는 데 사용되는 기본 Now Platform 프로세스 자동화 빌더입니다. 워크플로우 스튜디오 편집기가 워크플로우 대시보드를 대체합니다.
플로우는 트리거와 일련의 작업 및 플로우 로직으로 구성됩니다. 플로우에 작업과 플로우 논리를 추가하면 수집되거나 생성된 데이터가 데이터 패널에 나타나며, 다른 작업 및 플로우 논리에서 사용할 수 있습니다.
플로우를 Now Platform 빌드하고 관리하려면 애플리케이션 또는 프로세스가 사용하는 테이블과 필드에 대해 어느 정도 알고 있어야 합니다. 프로세스 분석가는 사용 가능한 작업 및 플로우 로직을 사용하여 플로우를 생성하거나 기존 플로우를 복사하여 템플릿으로 사용할 수 있습니다.
작업 제한
기본적으로 플로우에는 50개 이하의 작업이 있을 수 있습니다. 기본 동작을 변경하려면 시스템 속성의 값을 sn_flow_designer.max_actions 늘립니다. 그러나 대규모 플로우가 인스턴스에 미칠 수 있는 성능 영향을 고려해야 합니다.
누락된 작업
관리자가 업데이트 세트에서 플로우를 추가한 경우 플로우에 누락된 작업이 있을 수 있습니다. 이는 일반적으로 인스턴스에 적절한 통합 허브 스포크가 설치되어 있지 않을 때 발생합니다. 이러한 작업을 표시하는 데 필요한 스포크를 설치하는 방법에 대한 자세한 내용은 스포크를 참조하십시오.
추가 작업 메뉴
플로우에 대한 추가 옵션에 액세스하려면 추가 작업 아이콘( )을 선택합니다.
- 스테이지
- 플로우의 스테이지에 접근합니다.
- 플로우 카탈로그 변수 관리
- 서비스 카탈로그 트리거 플로우에 사용할 수 있는 카탈로그 변수를 관리합니다.
- 플로우 변수
- 플로우 변수를 생성하여 플로우 전체에서 데이터를 설정하고 검색합니다.
- 플로우 복사
- 지정한 애플리케이션에서 열린 플로우의 사본을 만듭니다.
- 플로우 기본 설정
- 초안 작업 표시, 트리거된 플로우 표시, 스토어 스포크 표시 및 인라인 스크립트 표시 토글 옵션을 활성화하거나 비활성화합니다.
- 코드 스니펫 작성
- 특정 플로우, 하위 플로우 또는 작업을 호출하는 코드 스니펫을 생성합니다.
- 보안 관리
- 클라이언트 API에서 호출 가능 옵션을 활성화하거나 비활성화합니다.
- 기본 플로우 제목 변경
- 스타일 텍스트 또는 동적 텍스트를 추가하여 플로우의 기본 제목을 변경합니다. 자세한 내용은 자연어 제목 만들기를 참조하세요.
플로우 테스트
인터페이스에서 직접 흐름을 테스트할 수 있습니다 워크플로우 스튜디오 . 각 테스트는 트리거 조건이 충족된 것처럼 플로우를 실행합니다. 플로우에 기록 트리거가 있는 경우 테스트에 사용할 기록을 지정할 수 있습니다. 플로우가 실행된 후 플로우 실행 상세 정보를 사용하여 플로우가 제대로 실행되고 있는지 확인합니다.
플로우 실행 상세 정보
플로우를 테스트할 때마다 시스템이 플로우 실행 기록, 로그 메시지 및 보고서를 생성합니다. 플로우 컨텍스트는 플로우의 현재 상태 및 런타임 값을 포함하는 관련 기록입니다. 시스템은 플로우가 실행될 때마다 컨텍스트 기록을 생성합니다.
선택적으로 테스트 동안뿐 아니라 플로우가 실행될 때마다 실행 상세 정보를 생성하도록 시스템을 구성할 수 있습니다. 자세한 내용은 플로우 보고 활성화 문서를 참조하십시오.
플로우 속성
플로우 속성에는 플로우에 대한 정보가 포함되어 있습니다. 메인 헤더에서 속성을 선택하여 플로우의 속성을 보거나 편집합니다.
| 속성 | 설명 |
|---|---|
| 이름 | 플로우의 고유한 이름 입력 |
| 보호 | 없음 또는 읽기 전용 을 선택하여 플로우를 읽기 전용으로 할지 여부를 선택합니다. |
| 애플리케이션 | 플로우에 대한 애플리케이션을 선택합니다. 이 속성은 플로우를 만들 때 설정되며 이후에는 변경할 수 없습니다. |
| 설명 | 플로우에 대한 설명을 입력합니다. |
| 다른 사용자 이름으로 실행 | 플로우가 시스템 사용자로 또는 세션을 시작한 사용자로 실행되도록 지정하기 위해 선택할 수 있는 옵션입니다. 플로우를 트리거한 사용자로부터 업데이트를 받아야 하는 경우 세션을 시작한 사용자 옵션을 선택합니다. 예를 들어 현재 사용자가 인시던트 기록 설명을 제공하거나 승인자가 승인 이메일을 보내도록 하려는 경우 이 옵션을 사용합니다. 플로우의 '다른 사용자 이름으로 실행' 옵션에 대한 설정이 하위 하위 플로우에는 적용되지 않습니다. 개인 OAuth 토큰으로 실행할 수 있는 플로우를 생성하려면 세션을 시작하는 사용자 옵션을 선택합니다. 플로우를 실행 중인 사용자에게 개인 OAuth 토큰이 있는 경우 플로우는 해당 토큰으로 실행됩니다. 개인 OAuth 토큰을 만드는 방법에 대한 자세한 내용은 OAuth 2.0 자격 증명을 참조하세요. |
| 역할로 실행 | 플로우와 함께 실행되는 역할입니다. 이 옵션은 다른 사용자 이름으로 실행 이 세션을 시작한 사용자로 설정된 경우에만 사용할 수 있습니다. |
인쇄 플로우
워크플로우 스튜디오 는 플로우, 하위 플로우, 작업 및 플로우 실행 세부 정보에 대한 다중 페이지 인쇄를 지원합니다. 지원되는 브라우저 목록은 브라우저 지원을 참조하세요.
역할
에 액세스하려면 플로우사용자에게 flow_designer 또는 관리자 역할이 있어야 합니다.
일반 가이드라인
플로우는 짧고 모듈식이며 재사용 가능한 작업 컬렉션이어야 합니다. 실행하는 데 한 시간 이상 걸리는 경우 너무 길고 더 효율적일 수 있습니다.
플로우에 적용되는 모든 일반 가이드라인 은 하위 플로우에도 적용됩니다.
- 상충하거나 중복된 비즈니스 논리 방지
-
자동화는 Flow Designer, 비즈니스 규칙, 워크플로우, Integration Hub를 사용하여 생성할 수 있습니다. 를 사용하기 워크플로우 스튜디오전에 기존 Now Platform 자동화의 작동 방식을 이해해야 합니다. 자동화를 플로우 및 작업으로 교체하기 워크플로우 스튜디오 전에 비활성화합니다. 에서 작동하는 Now Platform방식을 워크플로우 스튜디오 알아보려면 을 아키텍처 개요 참조하십시오.
- 플로우에 트리거 또는 변수 입력이 필요한지 여부를 결정합니다.
- 플로우는 트리거 조건이 충족될 때 항상 실행됩니다. 트리거는 항상 플로우에 대한 입력과 동일한 데이터를 제공합니다. 대신 플로우를 시작하기 위해 변수 입력이 필요한 경우 하위 플로우를 생성합니다.
- 비즈니스 논리 재사용
- 재사용 가능한 작업 세트를 하위 플로우로 생성한 다음 여러 플로우에서 사용할 수 있습니다.
- 역할 보호 데이터에 액세스하고 사용자 정보를 보존할 수 있는 플로우 역할 부여
- 플로우 역할은 플로우에 대한 권한을 단순하게 유지하는 데 도움이 됩니다. 시스템 사용자로 플로우를 실행하는 대신 플로우 역할을 사용하여 사용자 정보를 보존하고 데이터에 대한 액세스 권한을 부여합니다. 또한 플로우 역할을 추가하면 사용자가 시작한 플로우에는 일반적으로 없는 추가 데이터에 액세스할 수 있습니다. 부여된 역할은 플로우에만 적용됩니다. 플로우를 시작한 사용자에게는 적용되지 않습니다.
- 플로우 로직 또는 일정 기반 트리거를 사용하여 플로우 타이밍 제어
- 플로우 로직 또는 일정 기반 트리거는 플로우의 성능을 최적화하는 데 도움이 됩니다. 플로우 내에서 대기하기 위해 gs.sleep() 메서드를 사용하지 마십시오. gs.sleep() 메서드는 스레드가 다른 작업을 수행하지 못하도록 합니다. 특정 시간에 흐름을 실행하려면 일정 기반 트리거를 사용합니다. 특정 기간 동안 플로우를 일시 중지하려면 기간 대기 또는 조건 대기 플로우 로직을 사용합니다.
- 의존성 방지
- 서로 종속된 병렬 분기는 분기가 다른 분기의 출력을 기다려야 할 때 흐름을 중단합니다.
- 범위 루프 카운터
-
스크립트 루프에는 최대 반복 횟수가 없으므로 유효한 종료 조건이 없을 때 루프가 무한히 실행됩니다.
유효한 종료 조건이 있는지 확인하려면 인라인 스크립트 또는 동작 내의 스크립트 단계에서 범위 루프 카운터를 사용하십시오.
varto(i=0; i< length; i++)를 추가하고for (var i=0; i< length; i++)를 가져옵니다. - For Each 및 Do Until 루프를 1,000회 반복으로 제한
- 1000개 이상의 루프가 있는 반복은 메모리 문제로 이어질 수 있습니다.
- 기록 조회의 최대 기록을 1,000으로 설정합니다.
- 속성 sn_flow_designer.max_iterations(기본값 1000)를 변경하지 마십시오.
- 많은 양의 데이터를 처리하는 경우 더 작은 일괄 처리로 일괄 처리하는 것이 좋습니다.
- 대량 임포트의 경우 동시 임포트를 고려하십시오.
- 빠른 실행을 위해 QuickAPI 사용(비즈니스 규칙 대체)
-
- QuickAPI 실행은 훨씬 빠르지만 디버깅 기능이 적습니다.
- 포그라운드 QuickAPI 실행은 플로우를 호출한 사용자로 사용자 세션에서 실행됩니다.
- 백그라운드 QuickAPI 실행은 백그라운드 스레드에서 실행되며 '시스템' 사용자 세션에서 실행됩니다.
- 플로우 자체를 호출하는 대신 Do Until 루프 사용
- 플로우 호출 자체는 허용되지 않으며 오류가 발생합니다. 그러나 플로우 A가 플로우 B를 호출하는 경우 플로우 B는 플로우 A를 최대 3번까지 호출할 수 있습니다.
- 백그라운드에서 플로우 실행
- 백그라운드에서 플로우를 실행하면 사용자가 플로우 실행을 기다리게 하지 않고 UI 스레드를 해제할 수 있습니다.
- 큰 출력을 수집한 후 대기하는 플로우 로직을 방지합니다.
- 검색된 직후 큰 페이로드를 사용하면 메모리 문제를 방지할 수 있습니다.
- 환경 간 위치 전환 최소화
- 플로우에서 인스턴스와 MID Server 단계 사이를 계속 전환하면 처리가 지연될 수 있습니다. 지연 위험을 최소화하려면 인스턴스와 MID 간 전환을 한 번으로 제한하십시오.
- 플로우에 의해 생성된 sys_complex_object 기록을 업데이트 세트에 포함
- 복잡한 데이터 스키마가 누락되면 실행 문제가 발생할 수 있습니다. 플로우에 의해 생성된 sys_complex_object 기록을 업데이트 세트에 포함해야 합니다.
- 스크립트에서 플로우 호출
- 스크립트에서 호출하여 사용자 지정 트리거로 플로우를 시작합니다.
- 이전 릴리스의 인스턴스에 최신 릴리스 플로우를 배포하지 않도록 합니다.
- 워크플로우 스튜디오 는 이전 릴리스에서 실행되는 인스턴스에 최신 릴리스 플로우를 배포하는 것을 지원하지 않습니다. 위험:플로우 데이터 모델은 릴리스 간에 변경될 수 있으며, 이로 인해 이전 릴리스 인스턴스에서 실행할 때 최신 플로우가 실행되지 않거나 예기치 않은 결과가 발생할 수 있습니다. 인스턴스를 배포하기 전에 동일한 릴리스 버전이 되도록 업그레이드합니다.
- 프로덕션에서 플로우 보고 끄기
- 플로우 보고를 사용하지 않도록 설정하여 플로우를 실행하는 데 필요한 메모리 양을 최소화합니다. 플로우 보고는 실행 상세 정보 페이지에 대한 구성 및 런타임 정보를 저장합니다. 이러한 보고서는 문제 해결에 유용하지만 메모리와 데이터베이스 모두에 많은 양의 데이터를 보존해야 합니다. 기본적으로 플로우 보고는 사용하지 않도록 설정되어 있으며, 플로우 또는 작업을 수동으로 테스트할 때만 시스템에서 실행 상세 정보를 생성합니다. 대신 보고가 꺼져 있어도 사용할 수 있는 로그 파일을 사용할 수 있습니다.
- 중첩 루프가 있는 플로우에서 사용되는 메모리 양 줄이기
- 보고가 활성화되면 com.snc.process_flow.reporting.iteration.lastn 값을 "1"로 설정하여 이전 루프 반복에서 소비하는 메모리 양을 줄입니다. 보고하는 반복 횟수가 많을수록 더 많은 메모리가 필요합니다.