Slate에서 Foundry 함수 사용하기
Platform의 Foundry Functions 패널은 Functions 저장소에 작성한 업무 로직을 Slate에서 호출합니다. Slate가 화면을 담당하고 Foundry 함수가 서버 측 로직을, 온톨로지가 객체 데이터를 제공하는 구성입니다. Slate 안에서만 사용하는 JavaScript 함수와 구분합니다.
함수 연결
먼저 Functions 저장소에서 함수를 만들어야 합니다. 이후 Foundry Functions 패널에서 다음을 설정합니다.
- 자신에게 접근 권한이 있는 함수를 선택합니다.
- 사용할 버전을 선택합니다. 버전 표기의 예는 0.0.5입니다.
- 함수가 입력을 받는다면 정의된 자료형에 맞는 값을 전달합니다. Object set 입력은 Slate에서 정의한 객체 집합을 Handlebars로 전달하여 해석할 수 있습니다.
- 결과는
{{ff_foundry_function1}}처럼 해당 연결 이름으로 참조합니다.
함수 작성의 준비는 Foundry 함수를 따릅니다.
로직을 나누는 두 방식
| 방식 | 구성 |
|---|---|
| Thin Functions | 함수는 온톨로지 API의 데이터 접근을 주로 담당합니다. 산점도 Radius에 맞게 값을 조정하는 등 추가 가공은 Slate JavaScript 함수에서 수행합니다. |
| Thick Functions | 업무 로직과 표시용 데이터 가공까지 Foundry 함수에 둡니다. Slate에는 화면 배치, 위젯 구성과 구체적인 서식 처리를 남깁니다. |
복잡한 앱의 로직을 Functions 저장소에 두면 자료형으로 입력과 출력을 검사하고 프런트엔드와 별도로 버전 및 협업을 관리할 수 있습니다. 특정 Slate 화면에 묶이지 않은 로직은 다른 앱에서도 재사용할 수 있습니다.
입력과 출력 자료형
표준 자료형, 온톨로지에서 생성한 자료형과 사용자 정의 자료형은 함수 입출력 자료형의 계약을 따릅니다.
Thick Functions 구성에서는 Struct나 사용자 정의 자료형으로 차트 또는 HTML 위젯에 필요한 형태를 반환할 수 있습니다. 함수의 입출력 정의에 맞춰 Slate 위젯이 사용할 필드를 연결합니다.