LabVIEW 웹 서비스를 통해 웹 클라이언트는 네트워크상에서 원격 LabVIEW 독립 어플리케이션과 데이터를 교환할 수 있습니다. 웹 서비스는 클라이언트의 HTTP 요청에 응답하고 서버에서 실행되는 VI 및 그 외 다른 파일들로 구성됩니다.

노트 LabVIEW 웹 서비스는 LabVIEW Full Development System과 LabVIEW Professional Development System에서만 사용 가능합니다.

다음의 경우, 웹 서비스가 유용합니다:

  • 표준 웹 브라우저 및 HTTP를 사용하는 모든 웹 클라이언트를 사용하여 웹 서비스 VI를 인보크하고, URL 및 POST와 같은 표준 HTTP 메소드를 사용하여 데이터를 교환할 수 있습니다. 예를 들면:
    • 어플리케이션에 새 파라미터를 업로드할 때
    • 현재 상태를 불러올 때
  • 사용자 정의된 씬(thin) 클라이언트 어플리케이션을 통해 원격으로 임베디드 어플리케이션을 모니터하고 컨트롤할 수 있습니다. 예를 들면:
    • 어플리케이션 상태를 업데이트할 때
    • 프로세스를 시작 또는 중지할 때
  • National Instruments 및 타사의 여러 HTTP 구현 디바이스와 소프트웨어 간에는 어플리케이션 대 어플리케이션 데이터 교환이 가능합니다. 예를 들면:
    • LabVIEW가 아닌 클라이언트에 연결할 때
    • 보안 및 인증을 구현할 때

다음 상황에서는 웹 서비스를 사용하지 마십시오:

  • 연속 데이터 스트리밍
  • 빠른 폴링
  • Real-time 프로세싱

다음 그림은 LabVIEW 웹 서비스 어플리케이션에 관련된 일반적인 프로세스를 보여줍니다.

(1) 웹 서비스 개발하기

웹 서비스는 LabVIEW 어플리케이션과 웹 클라이언트 간의 통신을 가능하게 합니다. 다음 작업을 수행하여 웹 서비스를 개발합니다.

  • LabVIEW가 설치되어 있는 호스트 컴퓨터에서 LabVIEW 프로젝트에 웹 서비스를 생성하여 개발합니다.
  • HTTP 메소드 VI와 시작 VI와 같은 웹 서비스의 기본 컴포넌트를 개발합니다.
  • 정적 컨텐츠 파일을 웹 서비스에 통합합니다.
  • 웹 서버에서 웹 서비스를 테스트하고 디버그합니다.

관련 정보

웹 서비스 개발하기

(2) 웹 서비스 호스팅하기

LabVIEW는 NI 웹 서버 또는 어플리케이션 웹 서버를 사용하여 네트워크에서 상에서 웹 서비스를 호스트합니다. 웹 서비스에 대한 웹 서버 지원은 웹 서비스를 게시하거나 실행하는 방법에 따라 달라집니다.

노트 NI 웹 서버는 Windows OS만을 지원합니다. 어플리케이션 웹 서버는 Windows OS 및 RT 타겟을 모두 지원합니다.

웹 서비스를 사용하여 웹 서비스를 호스팅하기 전에 웹 서버를 활성화하고 설정해야 합니다. 또한 웹 클라이언트와 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가 그 두 숫자를 계산하여 총합을 반환하도록 할 수 있습니다.

관련 정보

웹 서비스와 클라이언트 사이에서 데이터 전송하기

(5) 웹 서비스용 사용자 인터페이스 생성하기

웹 브라우저에서 웹 서비스의 데이터를 보고 상호작용하는 사용자 인터페이스를 생성하려는 경우, G Web Development 도구를 사용하여 웹 사용자 인터페이스 (웹 UI) 어플리케이션을 개발할 수 있습니다. G Web Development 도구를 사용하여 웹 어플리케이션을 만들 때 HTML, JavaScript, CSS 파일을 생성하는 특수한 VI인 WebVI를 생성합니다. WebVI는 HTTP를 사용하여 웹 서비스와 상호작용하고 HTML 웹 페이지에 데이터를 디스플레이할 수 있습니다.
노트 G Web Development 도구는 웹 UI 생성 프로세스를 단순화하지만, HTTP 통신을 지원하는 타사 언어를 사용하여 클라이언트 사용자 인터페이스를 생성할 수 있습니다.