9장. Fuse Online 사용자 정의
Fuse Online에서는 일반적인 애플리케이션 및 서비스에 연결하는 데 사용할 수 있는 다양한 커넥터를 제공합니다. 또한 일반적인 방법으로 데이터를 처리하기 위한 여러 가지 기본 제공 단계가 있습니다. 그러나 Fuse Online에서 필요한 기능을 제공하지 않는 경우 요구 사항에 대해 개발자와 상의하십시오. 숙련된 개발자는 다음 중 하나를 제공하여 통합을 사용자 지정할 수 있습니다.
Fuse Online에서 REST API 클라이언트용 커넥터를 만드는 데 사용할 수 있는 OpenAPI 문서입니다.
이 스키마를 Fuse Online 및 Fuse Online에 업로드하면 스키마에 따라 커넥터가 생성됩니다. 그런 다음 커넥터를 사용하여 통합에 추가할 수 있는 연결을 만듭니다. 예를 들어 많은 소매 웹 사이트에서는 개발자가 OpenAPI 문서에서 캡처할 수 있는 REST API 클라이언트 인터페이스를 제공합니다.
REST API 서비스를 정의하는 OpenAPI 문서입니다.
이 스키마를 Fuse Online에 업로드합니다. Fuse Online을 사용하면 API 서비스를 사용할 수 있으며 API 호출을 위한 URL을 제공합니다. 이를 통해 API 호출을 사용하여 통합 실행을 트리거할 수 있습니다.
Fuse Online에서 Loki 클라이언트에 대한 커넥터를 만드는 데 사용할 수 있는 WSDL 파일입니다.
참고: 기술 프리뷰 기능입니다.
Fuse Online 확장을 구현하는
JAR
파일입니다. 확장은 다음 중 하나일 수 있습니다.- 연결 간 통합 데이터에서 작동하는 하나 이상의 단계
- 애플리케이션 또는 서비스에 대한 커넥터
전용 SQL 데이터베이스에 대한 JDBC 드라이버와 같은 라이브러리 리소스
이
JAR
파일을 Fuse Online 및 Fuse Online에 업로드하면 확장 프로그램에서 제공하는 사용자 지정 기능을 사용할 수 있습니다.
자세한 내용은 다음 항목을 참조하십시오.
9.1. REST API 클라이언트 커넥터 개발
Fuse Online은 HTTP(Hypertext Transfer Protocol)를 지원하는 REST API(Representational State Transfer Application Programming Interface)용 커넥터를 생성할 수 있습니다. 이를 위해 Fuse Online에는 연결하려는 REST API를 설명하는 유효한 OpenAPI 3(또는 2) 문서가 필요합니다. API 서비스 공급자가 OpenAPI 문서를 사용할 수 없도록 하는 경우 숙련된 개발자가 OpenAPI 문서를 생성해야 합니다.
다음 항목에서는 REST API 커넥터 개발을 위한 정보와 지침을 제공합니다.
9.1.1. REST API 클라이언트 커넥터에 대한 요구사항
OpenAPI 스키마를 Fuse Online에 업로드한 후 REST API에 대한 커넥터를 사용할 수 있게 됩니다. 커넥터를 선택하여 REST API 클라이언트 연결을 생성할 수 있습니다. 그런 다음 새 통합을 생성하고 REST API 클라이언트 연결을 추가하거나 기존 통합을 편집하여 REST API 클라이언트 연결을 추가할 수 있습니다.
Fuse Online 커넥터는 OAuth 2.0, HTTP 기본 인증 및 API 키를 지원합니다. REST API에 대한 액세스에 TLS(Transport Layer Security)가 필요한 경우 API는 인식된 CA(인증 기관)에서 발급한 유효한 인증서를 사용해야 합니다.
OAuth를 사용하는 REST API에는 클라이언트 콜백 URL을 입력으로 사용하는 권한 부여 URL이 있어야 합니다. Fuse Online에서 커넥터를 생성한 후 커넥터를 사용하여 연결을 만들기 전에 해당 URL을 방문하여 Fuse Online 환경을 REST API 클라이언트로 등록해야 합니다. 이렇게 하면 Fuse Online 환경이 REST API에 액세스할 수 있습니다. 등록 과정의 일환으로 Fuse Online 콜백 URL을 제공합니다. 이 작업에 대한 자세한 내용은 Fuse Online을 REST API 클라이언트로 등록하여 애플리케이션 및 서비스에 Fuse Online 연결 에서 설명합니다.
OAuth를 사용하는 REST API의 경우 Fuse Online은 권한 부여를 받기 위한 인증 코드 권한 부여 흐름만 지원합니다. OAuth 보안Definitions
오브젝트에서 커넥터를 생성하기 위해 업로드하는 OpenAPI 문서에서 flow
속성을 accessCode
로 설정해야 합니다. 예를 들면 다음과 같습니다.
securityDefinitions: OauthSecurity: type: oauth2 flow: accessCode authorizationUrl: 'https://oauth.simple.api/authorization' tokenUrl: 'https://oauth.simple.api/token'
암시적
,암호
또는 애플리케이션
흐름을
설정할 수 없습니다.
REST API 클라이언트 커넥터의 OpenAPI 스키마에는 사이클 스키마 참조가 있을 수 없습니다. 예를 들어 요청 또는 응답 본문을 지정하는 JSON 스키마는 자체적으로 전체로 참조하거나 여러 중간 스키마를 통해 자체의 일부를 참조할 수 없습니다.
Fuse Online은 HTTP 2.0 프로토콜을 지원하는 REST API용 커넥터를 생성할 수 없습니다.
9.1.2. REST API 클라이언트 커넥터를 위한 OpenAPI 스키마에 대한 지침
Fuse Online에서 REST API 클라이언트 커넥터를 생성할 때 OpenAPI 문서의 각 리소스 작업을 연결 작업에 매핑합니다. 작업 이름 및 작업 설명은 OpenAPI 문서의 문서에서 제공합니다.
OpenAPI 문서에서 제공하는 자세한 내용은 Fuse Online에서 API에 연결할 때 더 많은 지원을 제공할 수 있습니다. 예를 들어 API 정의는 요청 및 응답에 대한 데이터 유형을 선언할 필요가 없습니다. 유형 선언 없이 Fuse Online은 해당 연결 작업을 유형 없이 정의합니다. 그러나 통합에서는 유형 없는 작업을 수행하는 API 연결 직후 또는 직후 데이터 매핑 단계를 추가할 수 없습니다.
이를 위한 한 가지 방법은 OpenAPI 문서에 더 많은 정보를 추가하는 것입니다. API 연결을 수행할 작업에 매핑할 OpenAPI 리소스 작업을 식별합니다. OpenAPI 문서에서 각 작업의 요청 및 응답 유형을 지정하는 YAML 또는 JSON 스키마가 있는지 확인합니다.
스키마를 업로드한 후 Fuse Online은 OpenAPI 문서를 기반으로 API를 설계하기 위한 시각적 편집기인 API desktop에서 검토하고 편집할 수 있는 기회를 제공합니다. 세부 정보를 추가하고, 업데이트를 저장하고, Fuse Online은 업데이트를 통합하는 API 클라이언트 커넥터를 생성합니다. Fuse Online에서 클라이언트 커넥터를 생성한 후에는 더 이상 OpenAPI 문서를 편집할 수 없습니다. 변경 사항을 구현하려면 새 클라이언트 커넥터를 생성해야 합니다.
API에 대한 OpenAPI 문서가 application/json
콘텐츠 유형 및 application/xml
콘텐츠 유형에 대한 지원을 선언하는 경우 커넥터는 JSON 형식을 사용합니다. OpenAPI 문서에서 application/json
및 application/xml
을 모두 정의하는 매개변수를 사용하거나
생성하는
경우 커넥터는 JSON 형식을 사용합니다.
9.1.3. 매개변수에서 클라이언트 인증 정보 제공
Fuse Online에서 OAuth2 애플리케이션에 액세스 권한을 가져오려고 하면 HTTP 기본 인증을 사용하여 클라이언트 자격 증명을 제공합니다. 필요한 경우 Fuse Online에서 HTTP 기본 인증을 사용하는 대신 클라이언트 자격 증명을 매개 변수로 전달하도록 이 기본 동작을 변경할 수 있습니다. OAuth 액세스 토큰을 가져오는 데 사용되는 tokenUrl
끝점 사용에 영향을 미칩니다.
Fuse Online에서 클라이언트 자격 증명을 매개 변수로 전달하도록 지정하려면 OpenAPI 문서의 securityDefinitions
섹션에서 true
로 설정된 x-authorize-using-parameters
공급업체 확장을 추가합니다. 아래 예제에서 마지막 줄은 x-authorize-using-parameters
를 지정합니다.
securityDefinitions: concur_oauth2: type: 'oauth2' flow: 'accessCode' authorizationUrl: 'https://example.com/oauth/authorize' tokenUrl: 'https://example.com/oauth/token' scopes: LIST: Access List API x-authorize-using-parameters: true
x-authorize-using-parameters
벤더 확장의 설정은 true
또는 false
입니다.
-
true
는 클라이언트 자격 증명이 매개 변수에 있음을 나타냅니다. -
false
(기본값)는 Fuse Online이 HTTP 기본 인증을 사용하여 클라이언트 자격 증명을 제공한다는 것을 나타냅니다.
9.1.4. 액세스 토큰 자동 새로 고침
액세스 토큰의 만료 날짜가 있는 경우 토큰이 만료될 때 해당 토큰을 사용하여 애플리케이션 중지에 성공적으로 연결하는 Fuse Online 통합입니다. 새 액세스 토큰을 얻으려면 애플리케이션에 다시 연결하거나 애플리케이션에 다시 등록해야 합니다.
필요한 경우 Fuse Online에서 다음 상황에서 새 액세스 토큰을 자동으로 요청하도록 이 기본 동작을 변경할 수 있습니다.
- 만료 날짜에 도달한 경우
- 지정한 HTTP 응답 상태 코드가 수신되는 경우
Fuse Online에서 OpenAPI 문서의 securityDefinitions
섹션에서 자동으로 새 액세스 토큰을 가져오도록 지정하려면 x-refresh-token-retry-statuses
벤더 확장을 추가합니다. 이 확장의 설정은 HTTP 응답 상태 코드를 지정하는 쉼표로 구분된 목록입니다. 액세스 토큰의 만료 날짜에 도달하거나 Fuse Online에서 OAuth2 공급자로부터 메시지를 수신하고 메시지에 이러한 응답 상태 코드 중 하나가 있는 경우 Fuse Online에서 새 액세스 토큰을 자동으로 가져오려고 합니다. 아래 예제에서 마지막 줄은 x-refresh-token-retry-statuses
를 지정합니다.
securityDefinitions: concur_oauth2: type: 'oauth2' flow: 'accessCode' authorizationUrl: 'https://example.com/oauth/authorize' tokenUrl: 'https://example.com/oauth/token' scopes: LIST: Access List API x-refresh-token-retry-statuses: 401,402,403
경우에 따라 API 작업이 실패하고 해당 실패의 부작용은 액세스 토큰을 새로 고치는 것입니다. 이 경우 새 액세스 토큰을 얻는 경우에도 API 작업이 계속 실패합니다. 즉, Fuse Online은 새 액세스 토큰을 수신한 후 실패한 API 작업을 재시도하지 않습니다.