온톨로지 SDK
온톨로지 SDK(Ontology Software Development Kit, OSDK)는 선택한 온톨로지의 객체, 액션과 함수에 맞춰 생성하는 클라이언트 라이브러리입니다. Foundry를 앱의 백엔드로 사용하면서 코드 편집기의 타입 검사와 자동 완성으로 실제 온톨로지 구조를 다룰 수 있습니다.
생성 범위와 배포 형식
SDK에는 앱이 선택한 온톨로지의 부분집합을 반영합니다. 객체와 속성 이름 및 설명 같은 메타데이터도 생성 코드에 포함되므로 편집기에서 확인할 수 있습니다.
| 언어 | 패키지 또는 명세 |
|---|---|
| TypeScript | npm 패키지 |
| Python | pip 또는 Conda 패키지 |
| Java | Maven 패키지 |
| 그 밖의 언어 | OpenAPI 명세에서 클라이언트 생성 |
객체 조회, 필터와 집계, 액션 적용 및 함수 호출을 해당 스키마에 맞는 API로 제공합니다. 온톨로지 자체는 Foundry에서 중앙 관리하며 앱은 생성 SDK를 통해 해당 계약을 사용합니다.
Developer Console은 OSDK 앱을 만들고 관리하는 도구입니다. 앱이 선택한 리소스와 생성 SDK에 맞는 사용 예제 및 문서를 확인할 수 있습니다.
접근 권한
앱의 토큰은 허용한 온톨로지 엔터티 범위로 제한되며 사용자의 데이터 권한도 함께 적용합니다. SDK를 생성했다고 데이터 읽기나 액션 실행 권한이 생기는 것은 아닙니다.
제한 뷰와 객체 보안 정책, 속성별 보안 정책 같은 행/열 접근 통제는 OSDK로 읽을 수 있는 데이터를 필터링합니다. 사용자가 볼 권한이 없는 데이터는 읽을 수 없습니다.
이 읽기 시점의 필터가 응답 페이로드나 그 이후 앱의 처리를 계속 통제하지는 않습니다. 플랫폼의 하위 데이터 처리 경로에도 접근 요건을 유지하려면 보안 표지(Marking)나 보안 분류 기반 접근 제어(CBAC)를 함께 사용해야 합니다. 앱이 받은 정보를 어디에 저장하거나 전송하는지도 별도로 설계해야 합니다.
앱 개발 시작
UI에서 온톨로지를 관리하는 앱의 일반적인 순서는 다음과 같습니다.
- Developer Console에서 애플리케이션을 만들고 사용할 온톨로지 리소스를 선택합니다.
- TypeScript, Python 또는 Java의 생성 및 초기 프로젝트 구성 절차를 수행합니다. 기존 TypeScript 앱에 SDK를 추가하는 경로도 있습니다.
- 선택한 인증 흐름과 허용 범위로 클라이언트를 구성하고 SDK를 통해 리소스를 사용합니다.
- 필요하면 앱을 Foundry에서 호스팅합니다.
SDK 없이 초기화한 기존 저장소에도 OSDK를 추가할 수 있습니다. 다른 언어의 클라이언트는 OpenAPI 명세를 내려받아 생성합니다. Compute Modules 안의 컨테이너 코드에서도 같은 온톨로지 접근에 사용할 수 있습니다. 함수 실행 환경의 사용법은 TSv2 함수와 Python 객체 함수를 따릅니다.
TypeScript OSDK 2.x 참조에서 조회, 속성 환산, 집계와 액션 호출을 구성합니다. 기존 1.x 앱은 클라이언트와 객체 타입, 페이지 및 오류 처리 방식을 함께 이전해야 합니다.
Python OSDK 2.x 참조는 런타임 및 독립 앱의 인증, 링크 메서드, 속성 환산과 쿼리 반환 타입을 설명합니다. Python 1.x에서 이전할 때는 Config와 액션 설정, 첨부 파일 반환값의 변경도 반영합니다.
Java OSDK 참조는 스트림 및 페이지 조회, 생성 필터와 집계, 액션 응답의 visitor와 미디어 스트림을 다룹니다.
SDK 타입 호환성은 속성 생략과 액션 및 함수의 패키지 생성 오류를 구분합니다. TypeScript 단위 테스트에서는 객체와 쿼리의 대체 응답을 준비하고 Platform API 요청을 가로채 앱 로직을 검사합니다.
온톨로지와 앱을 같은 저장소에서 관리
온톨로지를 코드로 정의하고 앱과 함께 버전 관리하려면 SuperRepo를 사용할 수 있습니다. 객체 유형, 링크와 액션을 Ontology-as-code로 선언하고 함수 및 프런트엔드를 같은 저장소에 둡니다.
이 방식은 코드 정의에서 OSDK를 로컬 생성하며 정의가 바뀌면 다시 생성합니다. SDK 버전을 매번 게시하지 않고 온톨로지 변경과 소비 코드를 같은 편집 및 미리보기 과정에서 다룰 수 있습니다. 온톨로지와 앱을 하나의 아티팩트로 버전 관리하고 릴리스하려는 경우에 해당합니다.
소비 앱과 운영
TypeScript 프런트엔드 바인딩은 OSDK 기반 React 앱을 작성하는 데 사용할 수 있습니다. 앱과 SDK의 변경은 사용하는 언어의 이전 계약과 단위 테스트를 함께 검토해야 합니다. 객체 집합 구독으로 변경을 받아 화면을 갱신할 수 있으며, 다른 언어에서는 WebSocket 프로토콜을 직접 사용할 수 있습니다.
Developer Console 앱을 Marketplace 제품으로 패키징해 다른 Foundry 환경에 설치할 수 있으며, Palantir MCP를 사용하면 IDE의 AI 개발 도구에서도 OSDK 문맥을 사용할 수 있습니다.