웹 어플리케이션 개발의 미래

내용

분산 사용자 인터페이스 설계하기

IIoT(산업용 사물 인터넷)와 같은 메가트렌드는 개념 및 파일럿 프로젝트에서 빠른 속도로 장비 전반에 걸친 배치로 옮겨가며 인상적인 결과를 얻었습니다. 어플리케이션이 복잡해짐에 따라 테스트 및 측정 산업은 더욱 스마트해지고 연결성이 향상되도록 진화하고 있습니다.  스마트 센싱 디바이스의 가용성과 경제성이 높아짐에 따라 엔지니어는 디바이스 수준에서 센싱 및 의사 결정 기능을 추가하여 가동 시간을 극대화하고, 성능을 높이며, 미래의 제품 혁신을 주도할 수 있습니다. 이러한 기능은 데이터 수집, 분석 및 제어와 같은 작업을 지리적으로 분산시켜야 하고 원격 작업을 지원하기 위해 다양한 협업 처리 요소에 의해 수행되어야 할 때 가장 중요합니다. 이러한 종류의 분산 구현은 보다 정밀한 I/O, 복잡하고 시간이 중요한 분산 제어, 대용량 데이터 수집 및 분석의 필요성, 조직의 여러 이해 관계자에게 데이터를 제공해야 할 필요성에 의해 촉발됩니다.

 

그림 1. 시스템이 복잡해짐에 따라 개발자는 조직의 다양한 수준에서 데이터 관리 및 시각화 문제에 직면합니다.

 

적절한 이해 관계자에게 올바른 정보를 제공하는 것은 정보에 입각한 비즈니스 의사 결정을 내리는 능력에 직접적인 영향을 미치는 분산 어플리케이션의 중요한 측면입니다. 이것은 분산된 사용자 인터페이스의 생성뿐만 아니라 데이터 관리 기능, 보안 보증 및 네트워킹 개념을 포함하기 때문에 특히 복잡한 문제입니다. 일부 주요 요구 사항에는 운영자가 운영 모드 간 전환, 설정 변경 또는 프로파일 수정을 위해 배포된 시스템을 원격으로 구성할 수 있는 인터페이스 개발이 포함됩니다. 또 다른 시나리오에서는 소규모 자산의 컨트롤 패널을 원격으로 조작하거나 감독하는 사용자 인터페이스가 필요합니다. 분산 생산 테스트 시나리오 또는 환경 모니터링에서 흔한 다른 요구 사항으로는 상태, 장애 및 성능과 같은 정보를 포함하는 시스템의 리얼타임 모니터링이 있습니다. 마지막으로, 관리 및 엔터프라이즈 수준에서는 이력 데이터, 추세 및 시간 경과에 따른 핵심 성과 지표에 대한 통찰력을 갖춘 리얼타임 모니터링이 필요합니다. 이렇기 때문에, 분산된 모든 시나리오에서 여러 복잡도로 다양한 이해 관계자의 데이터 시각화 요구 사항을 충족하는 것은 어려운 과제가 됩니다.

그림 2. 원격 사용자 인터페이스를 생성하는 것은 당면한 시스템의 복잡성과 크기에 따라 다양한 수준의 노력을 필요로 합니다.

 

이러한 복잡도으로 인해 대부분의 테스트 및 측정 엔지니어는 IIoT 인프라를 시중에서 쉽게 구입하지 못합니다. 효과를 높이려면, IT 전문가, 웹 개발자, UX 및 시각 디자이너, 데이터 과학자 및 다양한 유형의 관계자와 협력하여 엔지니어가 개발, 배포 및 유지 관리할 수 있는 주요 웹 및 빅 데이터 기술의 확장성과 성능을 제공하는 플랫폼이 필요합니다. NI는 지난 30년 동안 경계부 고성능 테스트 및 측정 어플리케이션을 위해 LabVIEW, PXI 및 RIO를 통해 플랫폼을 개발하고 발전시켜 왔습니다. 지난 몇 년 동안, NI는 네트워크, IT/서버 및 웹 계층에 재사용 가능한 모듈형 소프트웨어 요소를 추가하여 분산 어플리케이션을 구현함으로써 이 플랫폼을 확장해 왔습니다. 이러한 플랫폼 요소는 여러 소프트웨어 제품으로 통합되어 강력한 현대식 엔지니어링 솔루션을 구축하는 주요 과제를 해결합니다. 이러한 과제에는 분산 시스템을 효과적으로 관리하고, 경계 생성 데이터의 통찰력을 활용하고, 이러한 정보를 시각화하여 데이터 기반 의사 결정을 내리는 것이 포함됩니다.

가동 시간과 운영 성능을 향상시키기 위해 분산 어플리케이션에서 원격으로 자산을 관리하고 설정해야 하는 필요성을 예로 들어 봅시다. NI 플랫폼에는 분산 테스트, 측정 및 제어 어플리케이션에 안전한 중앙 집중식 관리 기능을 제공하는 시스템 관리 소프트웨어인 SystemLink를 통해 이러한 시나리오를 위한 솔루션을 제공합니다. SystemLink는 연결 상태, 시스템 설정 및 교정 데이터를 추적하는 시스템 관리 도구를 통해 시스템 가동 시간과 시스템 상태 인식을 향상시킵니다. SystemLink는 컴포넌트 단위 업데이트, 의존성 인식 및 버전 이력을 통해 대규모 소프트웨어 배포의 효율성을 향상시킵니다.

자세히 알아보기

 

그림 3. SystemLink는 분산 테스트, 제어 및 모니터링 시스템을 중앙 집중식으로 관리하기 위한 시스템 관리 소프트웨어입니다.

 

데이터를 쉽게 시각화할 수 있어야 하는 것은 이러한 종류의 분산 어플리케이션에서도 매우 중요하며, 엔지니어가 종단 간 솔루션을 개발할 수 있도록 하려면 원활하게 함께 작동하는 생산성 높은 어플리케이션 개발 도구가 필요합니다. 분산 어플리케이션의 경우, G Web Development Software가 엔지니어가 친숙한 LabVIEW 프로그래밍 패러다임을 활용하고 플러그인이나 다운로드 없이 최신 웹 서버와 브라우저에서 실행할 수 있는 풀 스택 어플리케이션을 구현할 수 있도록 하여 이 플랫폼을 보완합니다.  G Web Development Software는 NI의 다른 소프트웨어 플랫폼과 통합되어 웹 기술을 사용하여 신규 및 기존 어플리케이션을 위한 맞춤형 원격 사용자 인터페이스를 생성할 수 있도록 합니다.

 

테스트 및 측정 엔지니어에게 웹 기술이 필요한 이유는 무엇입니까?

분산 시스템의 경우, 웹 기술은 사실상 데이터의 관리, 제어 및 시각화용 어플리케이션 계층으로 빠르게 자리잡고 있습니다. 그러나 현대의 웹 기술은 표준, 프레임워크, 기술 및 규약의 복잡한 집합체로, 숙련도를 높이려면 상당한 교육과 경험이 필요합니다.  대부분의 테스트 및 측정 엔지니어는 스스로를 웹 개발자라고 생각하지 않으며 필요한 전문 지식을 얻을 시간과 리소스가 없습니다. 또한, 대부분의 테스트 엔지니어링 팀은 정보 표시, 제어 체계, 보안 및 접근 관리와 같은 웹 기술이 필요한 어플리케이션의 중요한 부분을 아웃소싱할 수 없습니다. 이러한 영역은 조직 내에서의 제어가 필요하기 때문입니다. 테스트 엔지니어링 팀에 웹 개발 인재를 더하는 것은 가능하지만, 테스트 엔지니어와 웹 개발자 사이의 맥락 변환에서 상당한 손실이 발생할 위험이 있습니다. 결국, 수명 주기를 효과적으로 관리하고, 실시간으로 통찰을 얻고 의사 결정을 내리며, 어플리케이션에 안전하게 접근할 수 있도록 하는 것과 같이 분산 시스템을 개발, 배포, 유지 관리 및 업그레이드할 때의 일반적인 과제는 여전히 테스트 엔지니어링 팀 영역에 있습니다.

 

NI는 G Web Development Software를 사용하여 테스트 및 측정 시스템을 위한 원격 제어 및 모니터링 인터페이스를 구현하는 엔지니어에게 직관적인 시작점을 제공합니다. 엔지니어는 친숙한 LabVIEW 프런트패널과 블록다이어그램 편집 패턴을 사용하여 웹 기술에 대한 지식 없이도 엔지니어링 어플리케이션을 개발할 수 있습니다. 또한 웹 모듈에는 웹 어플리케이션을 안전하게 배포하고 경계 노드와 통신을 설정하는 메커니즘이 포함되어 있습니다. 또한, 이 웹 기술 플랫폼은 고도로 개방적이고 확장 가능하도록 설계되어 전문 웹 개발자 및 IT 전문가와 협력하여 완전한 분산 테스트, 측정, 제어 및 모니터링 어플리케이션을 구축하는 데 사용할 수도 있습니다.  이 백서의 다음 섹션에서는 NI의 웹 기반 디자인 도구에 대한 향후 투자의 기본 요소와 원칙을 설명합니다.

그림 4. G Web Development Software를 사용하면 고성능의 웹 기반 사용자 인터페이스를 만들 수 있습니다.

 

 

웹 기반 사용자 인터페이스 개발 플랫폼: 가이드 원칙

 웹 개발을 위한 직관적인 시작점

LabVIEW 개발자의 웹 기반 인터페이스의 생성 기술을 보존하는 것은 G Web Development Software의 설계의 주요 원칙 중 하나입니다. 이를 염두에 두고 웹 모듈과 함께 도입된 새로운 유형의 VI가 WebVI입니다. 이 새로운 파일 포맷은 다른 VI와 같은 방식으로 작동하지만 HTML, CSS, JavaScript와 같은 웹 표준으로 자동 변환되는 G 코드를 생성하는 기술의 발전을 상징합니다. 이 기술은 당면한 어플리케이션의 요구 사항을 충족하기 위해 여러 표준을 마스터해야 하는 복잡성을 추상화하여 웹 어플리케이션 개발의 장벽을 낮춥니다.

그림 5. WebVI를 사용하면 플러그인이나 설치 프로그램 없이 최신 웹 브라우저에서 실행할 수 있는 VI를 작성할 수 있습니다.

 

마찬가지로, 직관적인 출발점을 제공한다는 개념은 네트워크를 통해 안전하고 신뢰할 수 있는 데이터를 전송하는 것으로 확장됩니다. G Web Development Software에는 데이터 소스와 데이터 서비스의 중개자 역할을 하는 중앙 위치 간에 데이터를 쉽게 이동할 수 있는 방법이 포함되어 있습니다. 이는 측정 및 테스트 디바이스 사이에서의 태그 스칼라 값의 통신, 알람 및 이벤트 관리를 위한 비동기 메시지 제공, 보고 및 후처리용 파일 전송과 같은 일반적인 엔지니어링 사용 사례를 제공하는 웹 표준(HTTP, AMQP, Websocket) 위에 구축된 API를 통해 달성됩니다. 또한 이러한 API에는 타사 웹 서비스와 데이터를 주고받는 HTTP 클라이언트 구현이 포함되어 있습니다. NI는 G Web Development Software의 향후 릴리즈용으로 웨이브폼 데이터 전송과 같은 추가 데이터 서비스를 살펴보고 있습니다.

 

마지막으로, 웹 어플리케이션의 배포도 웹 어플리케이션의 설정 프로세스와 공유를 용이하게 하는 생산성 높은 작업 흐름을 통해 단순화됩니다. 여기에는 사용자가 보안 및 접근 제어를 정의하는 호스트된 어플리케이션을 쉽게 생성할 수 있도록 NI 웹 서버에 대한 접근이 포함됩니다.  NI 웹 서버를 사용하면 전용 컴퓨터에서 어플리케이션을 호스팅할 수 있습니다. 그러나 G Web Development Software는 어떤 타사 서버에서도 호스팅할 수 있는 표준 출력 파일을 생성할 수 있을 만큼 충분히 유연합니다. 미래에는 기술이 통합되어 개발 환경에서 NI가 호스팅하는 클라우드 서비스로의 직접 배포 흐름을 자동화함으로써 호스팅 프로세스를 용이하게 할 것입니다. 또한 이 서비스에는 어플리케이션에 로직을 추가하거나 프로그래밍할 필요 없이 데이터 브로커에서 사용 가능한 데이터에 직접 연결되는 브라우저 내 사용자 인터페이스를 쉽게 만들 수 있도록 설정 기반 대시보드 구현이 포함됩니다.

 

엔지니어링 요구 사항에 맵핑

 

웹 기반 사용자 인터페이스 생성을 위한 NI 도구의 또 다른 가이드 원칙은 테스트 및 모니터링 어플리케이션의 엔지니어링 요구 사항을 설계 도구와 일치시켜 동급 최고의 성능을 제공하는 것입니다.    사용자 인터페이스의 관점에서, G Web Development Software에는 탱크, LED, 게이지, 차트, 그래프 등의 그래픽 표현을 위한 가장 일반적인 시나리오를 제공하는 고성능 엔지니어링 위젯이 포함되어 있습니다. 사용자 인터페이스와 위젯은 모든 최신 웹 브라우저에서 표시될 수 있도록 자동으로 HTML 및 CSS 코드로 변환됩니다. 이러한 위젯들은 가장 까다로운 어플리케이션을 지원할 수 있도록 성능을 염두에 두고 설계되었습니다. 특히, 차트와 그래프의 경우 500,000개의 데이터 포인트를 60fps 이상에서 실행할 수 있도록 테스트되었습니다. NI는 G Web Development Software의 새 버전이 출시될 때 이 위젯 모음에 성능을 추가하고 성능을 향상시키기 위해 최선을 다하고 있습니다.

 

그림 6. WebVI에는 테스트 및 측정 사용자 인터페이스의 개발을 위한 고성능 엔지니어링 위젯 모음이 포함되어 있습니다.

 

 

 마찬가지로, WebVI로 설계된 사용자 인터페이스는 LabVIEW VI에 있는 것과 유사한 다이어그램으로 구현된 어플리케이션 로직과 함께 제공됩니다. 일반적으로 사용 가능한 함수를 사용하여 사용자 인터페이스에 사용자 정의 로직을 내장하여 프로그램 흐름, 로직 및 분석을 정의할 수 있습니다. 어플리케이션 로직은 모든 최신 웹 브라우저에서 실행될 수 있도록 JavaScript 코드로 변환되어 사용자 인터페이스의 동작을 제어하고 이벤트에 응답합니다.

 

그림 7. WebVI는 HTML, CSS 및 JavaScript 코드를 자동으로 생성하여 모든 최신 웹 브라우저에서 어플리케이션을 실행할 수 있습니다.

 

 

표준 기반 확장성

표준과 오픈 소스 기술의 사용은 확장성을 제공하고 모든 현대적 웹 브라우저에서 어플리케이션을 실행할 수 있도록 합니다. 중요한 디자인 결정 한 가지는 WebVI에서 생성된 HTML, CSS, JavaScript 코드를 열고 편집할 수 있도록 하여 제공된 편집기 또는 타사 편집기에서 어플리케이션을 완전히 사용자 정의하는 기능이었습니다. 이러한 기능을 확장하여 웹에서 기존 컨텐츠를 가져올 수 있을 뿐만 아니라 스크립트를 재사용하여 사용자 인터페이스의 동작을 제어할 수 있습니다. 유연성과 표준화는 WebVI 및 G Web Development Software의 기타 구성요소를 설계할 때 기존 구현 및 상용 기술과 원활하게 통합되도록 하는 일의 공통 분모입니다. G Web Development Software의 향후 릴리즈에서는 사용자에게 더욱 개방적으로 WebVI를 기존 웹 기술과 통합할 수 있는 훨씬 더 많은 새로운 기능을 제공할 것입니다.