개요: LabVIEW 어플리케이션과의 웹 기반 통신 (Real-Time, Windows)
- 업데이트 날짜:2025-08-27
- 3분 (읽기 시간)
LabVIEW 웹 서비스를 통해 웹 클라이언트는 네트워크상에서 원격 LabVIEW 독립 어플리케이션과 데이터를 교환할 수 있습니다. 웹 서비스는 클라이언트의 HTTP 요청에 응답하고 서버에서 실행되는 VI 및 그 외 다른 파일들로 구성됩니다.
다음의 경우, 웹 서비스가 유용합니다:
- 표준 웹 브라우저 및 HTTP를 사용하는 모든 웹 클라이언트를 사용하여 웹 서비스 VI를 인보크하고, URL 및 POST와 같은 표준 HTTP 메소드를 사용하여 데이터를 교환할 수 있습니다. 예를 들면:
- 어플리케이션에 새 파라미터를 업로드할 때
- 현재 상태를 불러올 때
- 사용자 정의된 씬(thin) 클라이언트 어플리케이션을 통해 원격으로 임베디드 어플리케이션을 모니터하고 컨트롤할 수 있습니다. 예를 들면:
- 어플리케이션 상태를 업데이트할 때
- 프로세스를 시작 또는 중지할 때
- National Instruments 및 타사의 여러 HTTP 구현 디바이스와 소프트웨어 간에는 어플리케이션 대 어플리케이션 데이터 교환이 가능합니다. 예를 들면:
- LabVIEW가 아닌 클라이언트에 연결할 때
- 보안 및 인증을 구현할 때
다음 상황에서는 웹 서비스를 사용하지 마십시오:
- 연속 데이터 스트리밍
- 빠른 폴링
- Real-time 프로세싱
다음 그림은 LabVIEW 웹 서비스 어플리케이션에 관련된 일반적인 프로세스를 보여줍니다.
(1) 웹 서비스 개발하기
웹 서비스는 LabVIEW 어플리케이션과 웹 클라이언트 간의 통신을 가능하게 합니다. 다음 작업을 수행하여 웹 서비스를 개발합니다.
- LabVIEW가 설치되어 있는 호스트 컴퓨터에서 LabVIEW 프로젝트에 웹 서비스를 생성하여 개발합니다.
- HTTP 메소드 VI와 시작 VI와 같은 웹 서비스의 기본 컴포넌트를 개발합니다.
- 정적 컨텐츠 파일을 웹 서비스에 통합합니다.
- 웹 서버에서 웹 서비스를 테스트하고 디버그합니다.
관련 정보
(2) 웹 서비스 호스팅하기
LabVIEW는 NI 웹 서버 또는 어플리케이션 웹 서버를 사용하여 네트워크에서 상에서 웹 서비스를 호스트합니다. 웹 서비스에 대한 웹 서버 지원은 웹 서비스를 게시하거나 실행하는 방법에 따라 달라집니다.
웹 서비스를 사용하여 웹 서비스를 호스팅하기 전에 웹 서버를 활성화하고 설정해야 합니다. 또한 웹 클라이언트와 LabVIEW 웹 서비스 간의 간에 안전한 통신을 수립할 수도 있습니다.
관련 정보
(3) 웹 서비스 공개하기
프로젝트에서 다음 작업을 수행하여 웹 서비스가 LabVIEW Development System에 의존하지 않고 실행될 수 있도록 웹 서비스를 공개할 수 있습니다.
- 웹 서비스를 독립 웹 서비스로 호스트 컴퓨터 또는 접속된 RT 타겟의 어플리케이션 웹 서버에 공개합니다.
- (Windows) 웹 서비스를 NI 패키지를 통해 NI 웹 서버에 공개합니다.
- 웹 서비스를 독립 어플리케이션을 통해 Windows 컴퓨터 또는 RT 타겟의 NI 웹 서버 또는 어플리케이션 웹 서버에 공개합니다.
- 웹 서비스를 Windows 설치 프로그램을 통해 Windows 컴퓨터의 어플리케이션 웹 서버에 공개합니다.
웹 서비스는 호스트 서버에 공개되는 방식에 따라 서로 다른 조건으로 실행을 시작하고 정지합니다.
관련 정보
(4) 웹 서비스와 클라이언트 사이에서 데이터 전송하기
웹 클라이언트는 브라우저의 경우와 같이 특정 URL로 HTTP 요청을 전송하여 웹 서비스와 데이터를 교환합니다. LabVIEW는 URL을 각 HTTP 메소드 VI에 맵핑하므로, 어떤 HTTP 메소드 VI가 HTTP 요청을 받을지는 클라이언트가 사용하는 특정 URL에 의해 결정됩니다. 요청이 HTTP 메소드 VI의 특정 파라미터에 할당될 값을 포함할 수도 있습니다. 각 요청 후 HTTP 메소드 VI는 해당 값을 처리하고 응답을 반환합니다. 웹 서비스는 사용자가 설정한 JSON과 같은 특정 포맷으로 웹 클라이언트로 데이터를 반환합니다.
지원되는 웹 클라이언트에는 표준 웹 브라우저, HTML 형식, 타사 소프트웨어와 HTTP 클라이언트 팔레트를 사용하는 VI 등, HTTP가 활성화된 모든 플랫폼이 포함됩니다.
표준 프로세스 사이의 통신 방법을 사용하여 모든 Windows 또는 임베디드 LabVIEW 어플리케이션과 웹 서비스 간의 통신을 구현할 수 있습니다. 예를 들어 [네트워크 스트림] 함수를 사용하여 로컬에서 LabVIEW 어플리케이션에서 웹 서비스로 데이터를 전송할 수 있습니다.
간단한 예로, 웹 클라이언트는 두 개의 숫자를 포함하는 HTTP 요청을 제출하여 HTTP 메소드 VI가 그 두 숫자를 계산하여 총합을 반환하도록 할 수 있습니다.