Webアプリケーション開発将来

内容

分散ユーザインタフェース設計

インダストリアルIoT (IIoT) などのメガトレンドは、コンセプトやパイロットプロジェクトの段階から、見事な利益を伴う実際の大規模な実装にまで短期間で発展しました。アプリケーションの複雑さが増すにつれ、テストおよび測定システムはよりスマートに進化し、接続性も高まっています。 スマートセンシングデバイスが入手しやすく、価格も手頃になったことで、エンジニアは稼働時間の最大化、性能の向上、将来の製品イノベーションの促進のために、デバイスレベルでセンシング機能や意思決定機能を追加できるようになりました。リモートオペレーションをサポートするため、データ収集、解析、制御などのタスクを地理的に分散させ、互いに連携し合うさまざまな処理要素によって実行する必要がある場合、これらの機能が重要になります。このような種類の分散実装は、より高精度のI/Oや、複雑でタイムクリティカルな分散制御、高スループットかつ大量のデータ収集/解析に対するニーズ、および組織内の複数の関係者にデータを示すというニーズに応えるものです。

 

図1. システムの複雑さが増すにつれ、開発者は組織のさまざまなレベルでデータ管理および視覚化の課題に直面しています

 

適切な関係者に正しい情報を示すことは、情報に基づくビジネス上の意思決定能力に直接影響を与える、分散型アプリケーションの重要な側面です。このことは、分散型ユーザインタフェースの作成だけでなく、データ管理機能、セキュリティ保証、ネットワーキングの概念にも関わってくる、特に複雑な問題です。主な要件の1つは、デプロイされたシステムをリモートで構成して操作モードの切り替えや設定/プロファイルの変更を可能にするインタフェースの開発です。別のシナリオでは、いくつかの一連の資産のコントロールパネルをリモートで操作または監視するためのユーザインタフェースが必要となります。分散型の製造テストシナリオや環境モニタリングで一般的に見られる別のニーズとしては、リアルタイムでのシステム監視 (正常性、不具合、性能などの情報を含む) があります。最後に、経営およびエンタープライズレベルでは、時間の経過に沿った履歴データ、傾向、および主要業績指標についての洞察を伴うリアルタイム監視が求められます。このように、すべての分散シナリオにわたってさまざまなレベルの複雑性を持つ、異なる関係者のデータ視覚化ニーズに対応することが課題となります。

図2. 目的のシステムの複雑さとサイズに応じて、リモートユーザインタフェースを作成する際の労力は異なります。

 

このレベルの複雑性の場合、ほとんどのテスト/測定エンジニアは、単純に既製のIIoTインフラストラクチャを選べばよいという問題ではないことに気付きます。効率性を高めるためには、メインストリームのWebおよびビッグデータテクノロジの拡張性と性能を提供するプラットフォームが求められます。エンジニアはIT専門家、Web開発者、UX/ビジュアルデザイナー、データサイエンティスト、およびさまざまなタイプの関係者と協力しながら、そのようなテクノロジを開発、デプロイ、維持できる必要があります。NIでは過去30年以上にわたって、エッジでの高性能テストおよび測定アプリケーションのために、LabVIEW、PXI、およびRIOを使用したプラットフォームを開発および強化してきました。ここ数年の間、NIでは、分散型アプリケーションを実現するため、ネットワーク、IT/サーバ、Webの各レイヤでモジュール式の再使用可能なソフトウェアコンポーネントを追加することで、プラットフォームを拡張してきました。これらのプラットフォーム要素は、強力なモダンエンジニアリングソリューションを構築するうえでの重要な課題を解決するために、複数のソフトウェア製品に組み込まれています。これらの課題には、分散システムを効果的に管理しながら、エッジ生成データから洞察を引き出し、データに基づいた意思決定のためにその情報を視覚化することが含まれます。

資産をリモートで管理および構成することで稼働時間を増やして運用性能を高める、分散型アプリケーションの主なニーズの例を見てみましょう。NIプラットフォームには、SystemLinkを通じてこの種類のシナリオに対応するソリューションが含まれています。SystemLinkは、分散型のテスト、測定、および制御アプリケーション用に、安全な一元管理機能を提供するシステム管理ソフトウェアです。SystemLinkは接続状態、システム設定、キャリブレーションデータを追跡するシステム管理ツールを通じて、システムの稼働時間を増やし、システムの状態に対する認識を高めます。SystemLinkはコンポーネントレベルのアップデート、依存性の認識、バージョン履歴を使用して、大規模ソフトウェアデプロイメントの効率性を高めます。

詳細​を見る

 

図3. SystemLinkは、分散型のテスト、制御、および監視システムを一元管理するシステム管理ソフトウェアです。

 

このような分散型アプリケーションには、データを簡単に視覚化するニーズが非常に重要です。また、エンジニアがエンドツーエンドのソリューションを開発できるように、シームレスに連携する生産的なアプリケーション開発ツールも求められます。分散型アプリケーションに対して、このプラットフォームを補完するのがG Web Development Softwareです。これによってエンジニアは、使い慣れたLabVIEWプログラミングのパラダイムを活用し、プラグインやダウンロードなしでもあらゆるモダンWebサーバおよびブラウザ上で実行可能な、フルスタックのアプリケーションを作成できます。  G Web Development SoftwareがNIのソフトウェアプラットフォームに統合されることで、Webテクノロジを利用して、新規アプリケーションおよび既存アプリケーション用にカスタムのリモートユーザインタフェースを作成できるようになります。

 

テスト/測定エンジニアWebテクノロジ必要する理由

分散システムの場合、Webテクノロジは事実上、データの編成、制御、視覚化のためのアプリケーションレイヤとなりつつあります。ただし、モダンWebテクノロジはさまざまな標準、フレームワーク、テクノロジ、表記規則などの複雑な集合体であり、習熟するためには、かなりのトレーニングと経験が必要です。  ほとんどのテスト/測定エンジニアは自らをWeb開発者とは考えておらず、必要な専門技術を得るのに十分な時間やリソースを持っていません。さらに、ほとんどのテストエンジニアリングチームは、情報の表示、制御方式、セキュリティ、アクセス管理など、アプリケーションでWebテクノロジを必要とする重要な部分をアウトソーシングすることができません。これらの領域には組織内での管理が必要となるためです。テストエンジニアリングチームにWeb開発担当者を加えることは可能ですが、テストエンジニアとWeb開発者との間でコンテキストの解釈に大きな食い違いが生まれるリスクがあります。1日の終わりには、ライフサイクルの効果的な管理、リアルタイムでの洞察の獲得と意思決定、アプリケーションへの安全なアクセスの確保といった、分散システムの開発、デプロイ、維持、アップグレードに関する一般的な課題が、テストエンジニアリングチームの作業範囲内に残されます。

 

NIはG Web Development Softwareにより、テストおよび測定システム用のリモート制御/監視インタフェースを作成するエンジニアに、直観的な開始点を提供します。エンジニアは使い慣れたLabVIEWのフロントパネルとブロックダイアグラムによる編集パターンを使用して、Webテクノロジに関する知識がなくてもエンジニアリングアプリケーションを開発することができます。Webモジュールには、Webアプリケーションを安全にデプロイし、エッジノードと通信を確立するためのメカニズムも含まれています。さらに、このWebテクノロジプラットフォームは非常にオープンで拡張性も高く設計されているため、専門のWeb開発者やITスペシャリストと協力して、本格的な分散型のテスト、測定、制御、監視アプリケーションを作成できます。  このホワイトペーパーの次のセクションでは、NIのWebベースの設計ツールにおける基本的な要素と、将来のための投資に関する主な指針について説明します。

図4.  G Web Development Softwareは、高性能なWebベースのユーザインタフェースを構築するのに役立ちます。

 

 

Webベースユーザインタフェース開発プラットフォーム: 主指針

 Web開発直観出発点

Webベースのインタフェースの作成にLabVIEW開発者のスキルセットを活用することは、G Web Development Softwareを設計する際の主な指針の1つでした。このことを念頭に置いてWebモジュールに導入された新しいタイプのVIが、WebVIです。この新しいファイル形式は、他のVIと同様に動作する一方で、HTML、CSS、JavaScriptなどのWeb標準に自動変換されるGコードの生成という、テクノロジの進化を表しています。このテクノロジにより、目的のアプリケーションの要件を満たすために複数の標準に習熟しなければならない複雑さが取り除かれ、Webアプリケーション開発のハードルが下がりました。

図5. WebVIを使用すると、ユーザはプラグインやインストーラを使用しなくても、あらゆるモダンWebブラウザで実行できるVIを作成できます。

 

同様に、直観的な開始点を提供するという概念は、ネットワークを介した安全で信頼できるデータの転送にも拡張されています。G Web Development Softwareには、データソース間でデータを移動するわかりやすい方法と、データサービスのブローカーとして機能する一元的な場所が用意されています。これは、一般的なエンジニアリングのユースケース (測定デバイスとテストデバイスの間でのタグスカラ値のやり取り、アラームおよびイベント管理用非同期メッセージの提供、レポートおよび後処理用のファイル変換など) に対応するWeb標準 (HTTP、AMQP、Websocket) 上に構築されたAPIを通じて実現されます。さらに、これらのAPIには、あらゆる他社製Webサービスとの間でデータ通信を行うHTTPクライアント実装が含まれます。NIでは、G Web Development Softwareの今後のリリースに向けて、波形データの転送など、さらなるデータサービスの追加を検討中です。

 

最後に、Webアプリケーションのデプロイも、セットアッププロセスやWebアプリケーションの共有を容易にするため、生産的なワークフローを用いて簡素化されています。これには、ユーザ自身がセキュリティとアクセス制御を定義するホスト型アプリケーションの作成が容易になる、NI Webサーバへのアクセスが含まれます。 NI Webサーバを使用すると、専用コンピュータ上でアプリケーションをホストすることもできますが、G Web Development Softwareには、他社製サーバでホストできる標準出力ファイルを生成できる柔軟性が備わっています。将来を見据えて、開発環境からNIがホストするクラウドサービスへの直接のデプロイメントフローを自動化して、ホスティングプロセスを促進するテクノロジの統合も予定しています。また、このサービスでは、アプリケーションにプログラミングやロジックの追加を行うことなく、データブローカー内の利用可能なデータに直接接続可能なブラウザ内ユーザインタフェースを容易に作成できる、構成ベースのダッシュボードを作成することも目指しています。

 

エンジニアリング要件マッピング

 

Webベースのユーザインタフェースの作成に関するNIツールのもう1つの主な指針は、クラス最高の性能を提供するため、テストおよび監視アプリケーションのエンジニアリング要件に設計ツールを適切に対応させることです。   ユーザインタフェースの観点から、G Web Development Softwareには、タンク、LED、ゲージ、チャート、グラフなどのグラフィカルな表現に関する最も一般的なシナリオに対応する、高性能のエンジニアリングウィジェットが搭載されています。ユーザインタフェースとウィジェットは、あらゆるモダンWebブラウザで表示できるよう、HTMLとCSSのコードへと自動的に変換されます。これらのウィジェットは、最も要求の厳しいアプリケーションに対応するため、パフォーマンスを考慮して設計されています。特に、チャートやグラフについては、60fpsで500,000個以上のデータポイントの実行がテストされています。NIでは、G Web Development Softwareの新しいバージョンがリリースされる際に、これらのウィジェットのコレクションを追加し、性能を高めることに尽力しています。

 

図6. WebVIには、テストおよび測定ユーザインタフェースを開発するための高性能エンジニアリングウィジェットのコレクションが備わっています。

 

 

 同様に、WebVIで設計されたユーザインタフェースには、LabVIEW VIの場合と似たダイアグラムで実装される、アプリケーションロジックが備わっています。一般的に利用可能な関数を使用してユーザインタフェースにカスタムロジックを組み込み、プログラムの流れ、ロジック、解析を定義できます。アプリケーションロジックはあらゆるモダンWebブラウザで実行できるようJavaScriptコードに変換され、アプリケーションの動作やユーザインタフェースからのイベントに対する応答を制御します。

 

図7. WebVIはあらゆるモダンWebブラウザでアプリケーションを実行できるよう、HTML、CSS、JavaScriptのコードを自動生成します。

 

 

標準ベース拡張性

拡張性を提供し、あらゆるモダンWebブラウザでアプリケーションを実行できるようにするには、各種の標準やオープンソーステクノロジの使用が不可欠です。重要な設計上の決定事項の1つは、提供されたエディタまたはあらゆる他社製エディタでアプリケーションを完全にカスタマイズするために、WebVIから生成されたHTML、CSS、JavaScriptコードを開いて公開できる機能でした。これらの機能を拡張し、Webの既存のコンテンツを取り込んだり、既存のスクリプトを再使用してユーザインタフェースの動作を制御したりできます。柔軟性と標準化は、WebVIや、G Web Development Softwareのその他のコンポーネントの設計の共通項であり、これらを既存の実装や商用テクノロジとシームレスに統合できます。G Web Development Softwareの将来のリリースでは、このオープンな特性を拡張し、WebVIを既存のWebテクノロジと統合する方法をさらに増やすような新機能を目にすることになるでしょう。