스케줄러 테스크 관리
작업 템플릿 목록
시스템 관리자는 작업 템플릿 정보를 검색하고 새로운 작업 템플릿 등록을 위한 등록 화면으로 이동할 수 있다.

- 검색된 각 항목별 선택은 다음과 같다.
- 선택 : 스케줄 템플릿을 삭제하기 위한 항목 선택
- 테스크 이름 : 스케줄 템플릿 이름
- 호출 방법 : 스케줄 템플릿에 지정된 작업주소를 호출하기 위한 호출 방법
- 작업주소 : 스케줄 템플릿에 지정된 작업주소
- 생성일 : 스케줄 템플릿이 시스템에 최초 등록된 등록일
작업 템플릿 상세 정보
작업 템플릿 상세 정보는 사용자가 스케줄러에서 실행하기 위한 개별 작업에 대한 설정을 할 수 있는 템플릿을 설정할 수 있도록 관련 정보를 정의하고 설정하기 위한 기본 정보를 생성/관리합니다. 기본적으로 작업은 시스템에서 제공하는 작업주소를 실행하여 사용자에게 필요한 작업을 수행할 수 있도록 하는 기능으로, 이러한 작업을 효율적으로 하기 위해서는 작업주소 호출에 필요한 각종 정보를 사용자가 쉽게 설정할 수 있는 기능을 제공해야 한다.
이러한 기능을 제공하기 위해서 작업 템플릿 관리 화면에서는 작업주소 호출에 필요한 정보와 호출에 필요한 변수 값을 추가/삭제할 수 있도록 하고, 각 개별 변수에 대한 값을 설정하기 위한 기능들을 제공합니다.

작업 템플릿에 사용되는 주요 필드들에 대한 설명은 아래와 같습니다.
- 스케줄 작업 템플릿명 : 사용자가 사용할 수 있는 작업 템플릿 이름
- 작업주소 이름 : 사용자가 사용할 작업 템플릿이 호출할 내부 작업주소 모듈 이름
- 제공되는 작업주소 이름은 아래와 같습니다.
- 호출 방법 : 작업 템플릿이 호출할 REST 작업주소 호출 방법(Method)
- 작업주소 : 작업 템플릿이 호출한 "작업주소 이름"을 가지고 있는 모듈에서 제공하는 REST 작업주소 제공되는 작업주소 정보는 [2]번 항목의 작업주소 별 상세 정보를 통해서 확인할 수 있습니다.
- 활성 상태 : 작업 템플릿의 활성 상태 정보를 표시. 활성상태가 비활성인 경우에는 사용자에게 제공하는 목록에 노출되지 않습니다.
- 사용자 권한 : 정의된 작업 템플릿을 사용할 수 있는 사용자 권한 정보를 설정합니다.
- 호출 데이터 : 작업 템플릿에서 작업주소 호출 시, 필요한 경우 작업주소에서 요구하는 Body 데이터를 설정할 수 있습니다.
- Body에 설정하는 정보는 모든 형태의 Body 값을 설정할 수 있지만 기본적으로 application/json 형태의 데이터를 입력값으로 사용하기를 권장합니다.
- Body에 들어가는 모든 필드 값을 변수 값으로 인식될 수 있습니다.
- Body에 들어가 있는 필드의 값을 변경하고자 하는 경우에는, 변수에 필드명과 동일한 변수를 생성하고 해당하는 값을 사용자가 설정할 수 있도록 관련 정보를 제공하면 됩니다.
- 설명 : 작업 템플릿에 대한 설명을 추가합니다.
- 변수 설정
- 변수 설정은 작업 템플릿용으로 관리하는 변수 범위 내에서 추가/삭제 기능을 제공합니다.
- 사용자에게 제공하고자 하는 변수가 "변수 추가" 버튼을 통해서 찾을 수 없으면 새로운 변수를 "변수 관리" 기능을 통해서 추가하면 됩니다.
- 자세한 설명은 변수 관리에서 상세 설명
변수 설정
변수 설정은 작업 템플릿에서 활용되는 변수 값을 설정하는 기능을 제공합니다. 2 작업 템플릿 상세 화면에서는 작업 템플릿에 따른 변수 목록을 아래 화면과 같이 제공합니다.

- 변수 추가 : 작업 템플릿의 작업주소 또는 Body의 필드에 해당하는 값을 사용자가 지정하여 실행하도록 하고자 하는 경우, 해당하는 값을 변수로 추가합니다. 추가된 변수값 설정을 통해서 사용자가 원하는 값을 설정할 수 있게 됩니다. 기존에 변수가 만들어져 있지 않으면 변수 관리 기능을 통해서 새로운 변수를 생성할 수 있습니다.
- 변수 삭제 : 각 변수 속성 정보 화면의 상단(
) 버튼을 선택하면 추가한 버튼을 삭제할 수 있습니다.
- 변수 조회 : 각 변수의 확장 패널을 선택하면 변수에 설정된 상세 내역을 확인할 수 있습니다. 해당하는 정보를 통해서 변수가 제공하는 상세 내역을 확인할 수 있습니다.

변수 관리
변수 목록 관리
시스템 관리자를 통해서 관리되는 변수는 개별 변수의 활성화 상태 및 사용자의 권한(Role)에 따라서 사용 범위를 제한할 수 있습니다. 물론 관리자에 의해서 필요에 따라서 추가적인 작업 템플릿용 변수를 생성/삭제할 수 있습니다.

- 변수 추가 :
버튼을 선택해서 새로운 버튼을 추가할 수 있습니다.
- 변수 삭제 :
버튼을 선택해서 선택된 변수들을 삭제할 수 있습니다.
변수 상세 정보
변수 상세 정보는 다음과 같은 같이 두 부분으로 구성이 되어져 있습니다.
변수 상세 기본 정보
변수 기본 정보는 변수의 이름 및 타입에 대한 설명 정보를 관리합니다.

- 관리 변수 명 : 관리 목적으로 사용되는 변수 명은 시스템 관리자가 변수에 대한 검색 및 사용자 노출을 위해서 사용되는 이름입니다.
- 실행 변수 명 : 실행 변수명은 해당하는 변수가 작업주소 호출이나 작업주소 Body에서 들어가는 변수명을 나타날때 사용합니다. 당연히 작업주소 호출 규격에 따른 제약 사항이 있습니다.
- 변수 타입 : 변수 타입은 정적으로 사용되는 시스템 변수 타입(아래 참조)과 작업주소 호출들을 통해서 설정되는 사용자 정의 타입이 있습니다. 사용자 정의 타입의 경우에는 반드시 사용자 정의 타입에 따른 결과값 추출을 위해서 [2]에서 설정하는 "호출된 결과 조회용 컬럼 설정"이 반드시 이루어져야 합니다.
- 문자열 : 문자열 변수
- 숫자 : 정수 숫자 변수
- 부동 소수점 : 부동 소수점/숫자 변수
- 논리 : 불리언(Boolean) 변수
- 사용자 정의 : 사용자 정의형 변
변수 상세 설정 정보
변수 상세 설정 정보는 변수 타입이 사용자 정의 타입인 경우, 해당하는 변수 값에 대한 처리를 위해서 필요한 정보를 설정합니다.

- 작업주소 이름 : 작업주소를 제공하는 모듈 이름([2]의 2번 항목 참조)
- 호출 방법 : REST 작업주소 호출에 사용되는 HTTP Method([2]의 3번 항목 참조)
- 연관 변수 : 연관 변수는 작업주소를 호출할 때, 다른 변수에 대한 참조가 이루어지는 것을 의미하고 이러한 참조 변수를 추가 또는 삭제하여 관리할 수 있다. 연관 변수도 다른 변수와 마찬가지로 이미 변수로 등록이 되어져 있어야 하며 재귀 참조(Recursive Reference)를 막기 위해서 동일한 변수가 참조되거나 동일한 변수를 연관 변수로 참조하고 있는 변수는 연관 변수로 사용될 수 없다.
- 연관 변수는 작업주소 또는 작업주소 Body의 속성값으로 설정이 될 수 있다.
- 연관 변수에 대한 관리는 전적으로 관리자가 변수를 어떻게 구성하고 활용할 것이냐에 따라서 달려있기 때문에 변수명을 어떻게 관리할지에 대한 정책이 필수적으로 필요.
- 설정 테스트 : 설정된 내역으로 작업주소를 호출하고 필요한 값이 "조회용 컬럼 설정"에 설정된 값으로 추출이 되는지 확인하는 기능 제공
- 연관 변수 목록 : 현재 변수에 설정된 연관 변수 목록을 보여줌.
- 설정 테스트를 하기 위해서는 연과 변수의 값이 설정이 되어져 있어야 함.(변수의 값이 설정된 경우 초록색으로 표시되고 그렇지 않은 경우에는 회색으로 표시)
- 연관 변수의 값이 설정되어져 있지 않으면(바탕색이 회색이면) 설정 테스트 시, 설정되지 않은 연관 변수명을 표시
- 연관 변수에 대한 설정은 연관 변수 목록의 개별 항목에 있는
를 선택하여 선택 가능
- 작업주소 : REST 호출 작업주소
- 호출 데이터 : REST 작업주소 Body
- 호출된 결과 조회용 컬럼 설정 : REST 작업주소 호출을 통해서 조회된 JSON 형태의 데이터를 어떻게 추출할 것인지에 대한 설정 정보
- 설정된 결과는 "호출 방법"에 따라서 나온는 결과를 관리자가 사전에 인지하고 있어야 한다.
- 설정된 값은 출력 목록을 구성하며 순서는 설정된 순서와 동일하게 제공
- 기본 설정 옵션 예는 다음과 같음.
{
"columns": [{
"name": "id",
"key": "id",
"id": true
}, {
"name": "Name",
"key": "name",
"text": true
}, {
"name": "Version",
"key": "catalog.version"
}]
}
- 조회용 컬럼 구성 설명
- 컬럼의 설정은 { "columns": [] } 형태로 구성하고 "columns" 필드의 Array 항목에 컬럼 설정 정보가 추가되어야 한다.
- 컬럼의 각 세부 필드는 "name", "key", "id", "text" 필드로 구성되며, "id" 필드 값이 없는 경우에는 "text" 필드 값이 true인 상태로 기본값 처리됨
- "name" : 출력 결과를 목록 형태로 출력할 때, 목록 상단의 헤더로 출력될 텍스트
- "key" : 출력 결과를 목록 형태로 출력할 때, 각 항목의 데이터를 추출하기 위해서 사용되는 값. 작업주소 호출을 통해서 나오는 결과 값의 항목별 Entity 필드를 최 상위에서 하위 Object 순으로 닷(.) 형태로 지정하여 표시
- "id" : 출력하고자 하는 컬럼이 구분 값(ID)인 경우를 표시하고, 구분 컬럼의 값이 변수 값으로 설정됨.
- "text" : 출력하고자 하는 컬럼이 단순 사용자에게 정보 제공용임을 지정.