커넥터

Prev Next

개요

기존 소프트웨어 시스템을 Tulip과 연동하세요

Tulip은 기존 IT 인프라와 원활하게 통합되도록 설계된 개방형 플랫폼입니다. 이러한 통합은 커넥터(Connectors)를 통해 이루어집니다.

커넥터는 HTTP API, MQTT, SQL 데이터베이스와 튤립 간의 데이터 교환을 가능하게 하는 튤립의 기능입니다. 이는 테이블 API를 포함한 외부 서버 및 시스템에 연결하는 데 필수적입니다. 커넥터를 설정하면 외부 정보를 튤립 앱으로 가져와 프로세스를 간소화할 수 있습니다.

커넥터 유형

  1. HTTP - 외부 API의 데이터에 액세스합니다.
  2. MQTT - MQTT 네임스페이스에 데이터를 기록합니다.
  3. SQL - Tulip 외부의 데이터베이스에 액세스합니다.

커넥터에 액세스하려면 '앱(Apps )' 탭 위에 마우스를 올려놓고 '커넥터( Connectors)'를 선택하세요.

Accessing Connectors

'커넥터' 페이지에서는 각 커넥터의 상태, 설명 및 마지막 업데이트 시간을 확인할 수 있습니다.

Connector Status

해당 커넥터의 행을 클릭하고 아래로 스크롤하면, 어떤 개발 단계의 앱이나 자동화에서 해당 커넥터를 사용하고 있는지 확인할 수 있습니다.Image}

상태 필 위에 마우스를 올리면 각 Environment의 상태에 대한 추가 정보를 확인할 수 있습니다.

Status Information

각 커넥터는 앱 내에서 트리거되는 여러 커넥터 함수 또는 쿼리를 가질 수 있습니다.
다음은 커넥터 함수의 예시입니다:

image.png

커넥터 사용 방법

커넥터는 트리거나 Automation Action Block에서 사용할 수 있습니다.

예시 1

  1. "운영자가 바코드를 스캔하면"
  2. "내 SQL 데이터베이스에서 해당 바코드를 조회합니다"
  3. "그런 다음 해당 데이터에 따라 세 가지 단계 중 하나로 이동합니다."

예시 2

  1. "작업자가 이 버튼을 누르면"
  2. "제 공장 현장의 생산 문제를 추적하는 제 HTTP API로 요청을 전송합니다."

이 두 예시 모두 셀프 서비스 방식입니다. SQL 데이터베이스나 외부 소프트웨어 서비스(MES 또는 ERP 등)를 쿼리할 수 있다면, Tulip 내에서 쿼리를 작성할 수 있습니다.

아래 이미지는 커넥터 함수를 실행하기 위한 트리거 편집기 로직을 보여줍니다:

Calling a Connector Function

커넥터 환경

'환경(Environments )' 탭을 사용하면 각 커넥터 함수에 대해 여러 대의 서버를 설정할 수 있습니다. 환경을 통해 애플리케이션 및 자동화의 라이프사이클에 따라 정보가 영향을 받는 범위를 세분화할 수 있습니다.

Environments Tab

환경에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

기술적 세부 사항

커넥터는 외부 시스템과 통신하므로, 사용자 고유의 IT 환경에 맞게 구성하는 방법을 이해하는 것이 필수적입니다. 커넥터 호스트는 이러한 연결을 관리하는 Tulip 플랫폼의 구성 요소입니다.

Tulip Cloud에서 공개적으로 접근 가능한 데이터베이스 및 API의 경우, 별도의 구성이 필요하지 않습니다. 그러나 문제가 발생하거나 Tulip Cloud에서 공개적으로 접근할 수 없는 데이터베이스, API 또는 머신에 연결해야 하는 경우, 커넥터 호스트에 관한 이 문서를 참조하십시오.

커넥터 생성

새로운 커넥터를 설정하는 데 API나 데이터베이스에 대한 심도 있는 지식이 반드시 필요한 것은 아니지만, 연결 유형에 대해 어느 정도 알고 있으면 도움이 됩니다.

커넥터를 생성하려면 ‘앱(Apps)’ 아래의 ‘커넥터(Connectors )’ 페이지로 이동하세요. 오른쪽 상단 모서리에 있는 ‘+ 커넥터 생성(Create Connector )’을 클릭하세요. 기존 퀵 커넥터를 선택하거나 ‘ 사용자 지정 커넥터 생성(Create Custom Connector)’을 클릭할 수 있습니다.

새 커넥터 설정

image.png

기본 정보

  1. 커넥터의 이름과 설명을 입력하세요. 이 정보는 언제든지 수정할 수 있습니다.
  2. 커넥터 유형을 선택하세요. 이 설정은 커넥터 생성 후에는 변경할 수 없습니다.
  3. [선택 사항] '사용자 지정 하위 도메인 활성화'를 선택하면 각 함수마다 고유한 하위 도메인을 구성할 수 있어, 더 복잡한 서비스 아키텍처와의 통합이 용이해집니다.

예를 들어, 서버 주소가 tulip.co인 경우, 기능 1에는 community.tulip.co를, 기능 2에는 support.tulip.co를 사용할 수 있습니다.

사용자 지정 하위 도메인이 활성화된 경우, 커넥터 상태를 확인하기 위해 기본 하위 도메인을 반드시 지정해야 합니다.

실행 위치: 커넥터 호스트

요청을 실행할 커넥터 호스트를 선택하십시오. Tulip에서 제공하는 클라우드 커넥터 호스트는 Tulip Cloud를 통해 요청을 전송합니다. 계정에 등록된 온프레미스 커넥터 호스트도 함께 표시됩니다.

커넥터 호스트에 대한 자세한 내용은 여기에서 확인하세요.

Connector host capabilities

Some connector hosts do not support certain features. These hosts will be disabled or hidden in the connector host dropdown.

HTTP 커넥터 설정

HTTP 커넥터 기능을 설정하는 방법은 여기에서 확인하세요.

사용자 지정 하위 도메인 허용

이 기능을 활성화하면 함수 수준에서 서브도메인을 추가할 수 있습니다. 활성화 시, 커넥터의 온라인 상태 확인에 사용될 기본 서브도메인을 반드시 추가해야 합니다.

**예시:**서버가 acme.co이고, 일부 함수는 sales.acme.co를 조회하고, 다른 함수는 shipping.acme.co에 접속하는 경우 등입니다.

서버 주소

Tulip이 연결할 네트워크 주소(즉, 호스트 이름 또는 IP 주소)를 지정합니다.

TLS

TLS(Transport Layer Security)는 컴퓨터 네트워크를 통해 안전한 통신을 제공하도록 설계된 암호화 프로토콜입니다. TLS는 당사자 간에 전송되는 데이터를 암호화하여 데이터의 기밀성과 무결성을 보장합니다. TLS는 SSL(Secure Sockets Layer)의 후속 기술로, 인터넷 연결을 보호하는 데 널리 사용됩니다.

포트

서버는 서버 제공업체가 할당한 특정 네트워크 포트에서 요청을 수신 대기합니다. HTTPS 서비스의 경우 포트 443이 가장 일반적이며, HTTP 서비스의 경우 포트 80이 가장 일반적입니다.

인증

Connector Host Version

For the OAuth Client Credential flow, Cloud Connector Host or On Prem Connector Host of version LTS13 or newer must be used.

  • 인증 없음(No Auth ) - 인증이 필요하지 않거나, x-auth-token과 같은 다른 요청 헤더 내에 인증 정보가 포함되어 있습니다.
  • 기본 인증(Basic Auth ) - 사용자 이름과 비밀번호를 사용하는 기본 인증 방식입니다.
  • OAuth 2.0 (베어러 토큰) - 베어러 토큰은 가장 널리 사용되는 액세스 토큰 유형입니다. 이는 이를 사용하는 클라이언트에게 특별한 의미를 부여하지 않는 불투명한 문자열로 구성됩니다.
  • OAuth 2.0 (사용자 자격 증명) - 일반적으로 사용자를 대신하여 제한된 리소스 세트에 대한 액세스가 필요한 클라이언트에 사용됩니다(예: 사용자의 연락처나 캘린더 일정에 액세스해야 하는 모바일 앱). 사용자는 명시적으로 권한을 부여해야 합니다.
  • OAuth 2.0 (클라이언트 자격 증명) - 클라이언트 자격 증명은 Tulip이 클라이언트의 자격 증명(클라이언트 ID 및 클라이언트 시크릿)을 사용하여 인증 서버에 인증함으로써 액세스 토큰을 획득하는 데 사용하는 부여 유형입니다. 일반적으로 사용자를 대신하기보다는 클라이언트 자신을 대신하여 리소스에 액세스하는 데 사용됩니다.
  • OAuth 2.0 (서비스 계정) - 더 광범위한 리소스나 관리 기능에 대한 접근이 필요한 클라이언트에 사용됩니다. 이 역할은 계정 설정 관리, 리소스 생성 또는 삭제, 관리 작업 수행 등 사용자의 계정 및 리소스에 대한 광범위한 접근 권한을 부여합니다.
  • OAuth 1.0 - 주로 웹 워크플로를 처리하는 OAuth의 이전 버전입니다.

OAuth에 대한 자세한 내용은 여기에서 확인하세요.

헤더(선택 사항)

헤더는 데이터 출처 인증, 데이터 무결성 및 재전송 방지 기능을 제공합니다. 이러한 헤더는 커넥터의 모든 커넥터 함수에 추가됩니다.

인증 기관(CA) 확장

image.png

.pem 형식의 파일을 업로드하여 기본 Node.js TLS 인증 기관을 확장할 수 있습니다. 이 필드는 Node.js TLS 라이브러리의 ca 필드를 업데이트합니다.

"선택적으로 신뢰할 수 있는 CA 인증서를 재정의할 수 있습니다. 기본값은 Mozilla에서 선별한 잘 알려진 CA를 신뢰하는 것입니다. 이 옵션을 사용하여 CA를 명시적으로 지정하면 Mozilla의 CA가 완전히 대체됩니다. 값은 문자열이나 Buffer, 또는 문자열 및/또는 Buffer의 배열일 수 있습니다. 모든 문자열이나 Buffer에는 여러 PEM CA가 연결된 형태로 포함될 수 있습니다. 연결이 인증되려면 상대방의 인증서가 서버가 신뢰하는 CA로 연결될 수 있어야 합니다. 잘 알려진 CA로 연결되지 않는 인증서를 사용할 경우, 해당 인증서의 CA를 신뢰할 수 있는 CA로 명시적으로 지정해야 하며, 그렇지 않으면 연결 인증에 실패합니다. 상대방이 기본 CA 중 하나와 일치하지 않거나 연결되지 않는 인증서를 사용하는 경우, ca 옵션을 사용하여 상대방의 인증서가 일치하거나 연결될 수 있는 CA 인증서를 제공하십시오. 자체 서명된 인증서의 경우, 해당 인증서 자체가 CA 역할을 하므로 반드시 제공되어야 합니다. PEM 인코딩된 인증서의 경우, 지원되는 유형은 "TRUSTED CERTIFICATE", "X509 CERTIFICATE" 및 "CERTIFICATE"입니다. tls.rootCertificates 항목도 참조하십시오."

유효한 CA의 예는 다음과 같습니다:

-----BEGIN CERTIFICATE-----MIIDXTCCAkWgAwIBAgIJALaEfh0WW6ZcMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRIwEAYDVQQHDAlTYW4gSm9zZTEPMA0GA1UECgwGQ29tcGFueTAeFw0xNzA1MjUyMDE2NDRaFw0xNzA2MjQyMDE2NDRaMEUxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRIwEAYDVQQHDAlTYW4gSm9zZTEPMA0GA1UECgwGQ29tcGFueTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK9b+GVsTsmP7z9T2sh79uI/57pI1DBYNyOlwC0lfn8SebVKRg0qAsaF3V4rQ/RPZFGkTb2G7IKnWQZ6VB8AFLF6A9xuGe7vSG9ZcJ1AKM2uOwYXzWQNWRFiW1XPOEIOXB+N7kMFTF6ZzE6RkV68hVqVn7Kx4s0RYAKM4ESJIMyF64IHo5Rf6k3UtrOzy6M3LXM3axgUPHkHZh6/Pi3hecaF7w0qDhlS8UJLA4Gn1I6nrFt1URVd7aSIEiOQhs7wAGDzCjNYMEQK9ih0GLd9ybCm0flYo5fJqfOhWiCFm2z3SuGH9MSnVdrzxY6x23J/gE3spPvBopF6bRjQl0qiw1ZAgMBAAGjUDBOMB0GA1UdDgQWBBRZtdl2jSWpITThx8JZL4Jx0zCBdTAfBgNVHSMEGDAWgBRZtdl2jSWpITThx8JZL4Jx0zCBdTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQARzA8ydRMOfbU0QLOEp9V4B6nO8XBpe9uvtYwQjmb5ZX1bR2/P71bzeJwHK6v4RZl6V5fwGzFdsMFI8JAlLJChM1BpsU7a5R+U/X6XJpCzjErhZ68Z3G+TQ4Bk9LhRlQTH5ld9lR8aWpVPvPIqMtkJhbvWn9P4ysc8q3WYfILy9m9J8Hz3i3AaAEjS5WWm4BjKUMvOFOxaxHHh+ZjNTVrpePyPDrWBkMKn9CF1lwVItJf2JdSYvX1kH5P/M5bsKdwZ95O6d5xUl5Q09gxz/P0j4/QU+fTYhh8RUjKo4vvear9kKxQ2b/8IoQ6A54WHeFzG+h

SQL 커넥터 설정

필드 설명
서버 주소 데이터베이스 서버의 IP 주소 또는 호스트 이름입니다. 이곳은 데이터베이스가 호스팅되고 액세스할 수 있는 곳입니다.
포트 데이터베이스 서버가 연결을 수신 대기하는 포트 번호입니다. 일반적인 포트 번호로는 MySQL의 경우 3306, PostgreSQL의 경우 5432, SQL Server의 경우 1433 등이 있습니다.
SSL 데이터베이스 서버와의 연결을 암호화하는 데 SSL(Secure Sockets Layer)을 사용할지 여부를 지정합니다. 일반적으로 SSL 모드 및 인증서 관련 설정이 포함됩니다.
데이터베이스 연결하려는 서버에 있는 특정 데이터베이스의 이름입니다. 데이터가 저장되는 곳입니다.
사용자 이름 인증 및 데이터베이스에 대한 액세스 권한을 얻기 위해 필요한 사용자 이름입니다. 이 사용자는 데이터베이스에서 작업을 수행하는 데 필요한 권한을 가지고 있어야 합니다.
비밀번호 사용자 이름과 연결된 비밀번호로, 데이터베이스에 대한 사용자 인증에 사용됩니다. 이를 통해 안전한 접근 제어가 보장됩니다.

MQTT 커넥터 설정

MQTT 커넥터를 생성하는 방법은 여기에서 확인하세요.

추가 자료