オープンDDSとRTIDDSソフトウェア
Object Management Group(OMG)データ配布サービス(DDS) 標準は、いわゆる「オープン標準」です。これは、標準が公開されており、一貫性、移植性、相互運用性を保証するための規範的なリファレンスを提供することを意味します。オープンスタンダードは、「オープンソース」であるソフトウェアと同じものではありません。オープンソースソフトウェアは、そのソースコードで利用できるようになっているコンピュータソフトウェアです。オープンソースソフトウェアは、通常はオープンソースライセンスの下で共有、変更、配布できます。 DDS標準はオープン標準であり、オープンソースの実装が利用可能です。たとえば、 OpenDDS は、OCI(Object Computing Inc.)によって管理されるDDSのオープンソース実装です。同様に利用可能な多くの商用ディストリビューションがあり、最も人気があるのはRTIのConnext®DDSです。
では、オープンソースのDDSソリューションと商用ソリューションのどちらを選ぶかを決める際に何を考慮すべきでしょうか?
オープンソースのDDSコア機能
オープンソースDDSと商用DDSのどちらを使用するかを決定するときは、必要なDDS機能を決定し、使用するDDSリリースで使用可能な機能と比較することが重要です。何が必要かわからない場合は、完全な実装が長期的にはニーズを満たす可能性が高くなります。たとえば、RTI ConnextDDSは完全なDDSAPIをサポートしています。
オープンソースディストリビューションでは一般的に見られない、RTI ConnextDDSがサポートする標準のOMGDDS機能の一部を次に示します。
- 言語のサポート-ConnextDDSは、従来のC ++、C ++ 03、C ++ 11、Java、Ada、C#、および.Netをサポートします。例として、OpenDDSは従来のC ++のみをサポートします。
- プレゼンテーションのサービス品質(QoS)-サンプルがサブスクライバーに到着する順序を制御する機能。
- ライター側のコンテンツフィルタリング-レシーバー側で使用する帯域幅とCPUサイクルが少なくなります。
- データ型の定義-DDS型システムの移植性、相互運用性、表現力を放棄することなく、時間の経過とともに進化する機能を備えた、より柔軟な方法でデータ型を定義します。これは拡張可能タイプとして知られています。
- 要求/応答機能-OMG標準の一部であり、ユースケースに合わせて追加のメッセージングパラダイムをユーザーに提供します。
- XMLアプリケーション言語仕様のサポート-XMLファイルを介してユーザーにQoS構成を提供します。
- 複数のトピックにわたるコヒーレントデータ-これは、プレゼンテーションアクセススコープを備えたコヒーレントセットで実装されます。
RTI Connext DDSがサポートする拡張(非標準)機能の一部を次に示します。これらの機能には、オープンソースディストリビューションでは一般的に見られないものがあります。
- 「アプリケーションレベル」の確認応答、仮想GUID(冗長ルーティングサービスをサポートするため)、永続的なサブスクリプション、永続的なライター履歴、共同データライターなどの配信機能を保証します。
- 小さなパケットを大きなパケットに結合して、スループットを向上させます(バッチ処理)。
- トピックから履歴データをクエリします(トピッククエリ)。
- IP接続を動的に追加、削除、変更します(IPモビリティ)。
アプリケーションのコンポーネントとサービス
どのソリューションが最適かを検討するときは、使用しているDDSバージョンにない必要なDDSコア外のサポートを決定することが重要です。 Webページとのインターフェースが必要ですか?リレーショナルデータベースと統合しますか?オープンソースDDSでは利用できない主要なサービスには次のものがあります。
- ルーティングサービス-ネットワーク間でデータを転送および変換します。
- 記録および再生サービス–データを高速で記録します。ライブまたはシミュレートされたシステムで再生します。
- データベース統合サービス–DDSデータをリレーショナルデータベースに保存します。 DDSを使用して、どこからでもデータベースの変更を監視します。
- Web統合サービス–Webベースおよびブラウザベースのアプリケーションを開発します。 HTTPコマンドのみを使用してDDSデータを読み書きします。
- 永続性サービス–データを永続的に保存し、アプリケーションがシステムに参加するたびに利用できるようにします。
- DDSコネクタスクリプト言語インターフェイス-Python、Javascript、Luaスクリプト言語とのConnextDDSインターフェイス。
- システムデザイナ– ConnextDDSシステムをグラフィカルに設計および構成します。
- プロトタイプ作成者– DDSシステムのプロトタイプ作成、演習、テストを行います。
- クラウド検出サービス–DDSをクラウドにデプロイします。
DDS実装用のツール
また、検討しているDDS実装に使用できる開発ツールを決定する必要があります。 DDSは、非常に複雑になる可能性のある大規模な相互接続システムで使用されることがよくあります。これらのシステムをデバッグするために適切なツールを利用できるようにすることが重要です。 Connext DDSには、次のようなお客様のニーズを満たすように設計されたツールの完全なセットがあります。
- 管理コンソール –実行中のDDSアプリケーションを表示し、データを視覚化します。 QOS設定やデータ型など、参加者、トピック、ライター、リーダーをご覧ください。接続の問題は自動的に特定されます。
- 監視 – DDSエンティティ、トラフィック、および内部状態に関する詳細情報を取得します。
- rtiddsspy –公開されているものとサブスクライブされているものを表示するコマンドラインユーティリティ。
- Excelスプレッドシートアドイン – MicrosoftExcelからDDSを読み書きします。
- ヒープ分析ツール – DDSヒープ使用量のスナップショットを取り、メモリリークをすばやく特定します。
DDSセキュリティ
オープンソースのDDSディストリビューションには、セキュリティサポートが直接含まれていません。つまり、DDSセキュリティ標準をサポートしておらず、TLSまたはDTLSトランスポートをすぐに利用することもできません。 RTI Connext DDSはDDSセキュリティ標準をサポートしており、2015年にConnext DDS Secureベータが最初にリリースされてからリリースが利用可能になっています。ConnextDDSには、TLSおよびDTLSサポートを含むSecureWANトランスポートもあります。 RTI Connext DDSSecureソフトウェアの詳細をご覧ください。
認証
アプリケーションには何らかの形式の認証が必要ですか?ソフトウェアの認証には時間と費用がかかり、関連するコードが多いほど、実行が難しくなります。現在、DDSの認定バージョンはRTI Connext DDSCertのみです。 Connext DDS Certは、DDS標準APIのサブセットをサポートし、DO178CレベルA認定を取得しています。 ConnextDDSCertの詳細をご覧ください。
堅牢性
オープンソースDDSが適切かどうかを判断する際におそらく最も重要な要素は、実装の堅牢性です。ソフトウェアがそれ自体を証明するための最良の方法は、実際の顧客アプリケーションにあります。検討しているDDS実装を使用している実際のシステムはいくつありますか?実装が何度も何度も成功裏に実行されたとき、あなたはそれがその仕事をすることができることを知っています。 Connext DDSは、現在100万台を超えるデバイスで、1000を超えるさまざまなプロジェクトでフィールドテスト、実証、および使用されています。今日ConnextDDSを活用するこれらの複雑でミッションクリティカルなアプリケーションには、次のものがあります。
- グランドクーリーダム– 24時間年中無休の運用、300Kのデータ値
- NASA KSC起動制御– 300Kポイント、400kメッセージ/秒
- Raytheon Zumwalt駆逐艦– 1500 DDSアプリケーション、10m公開可能ペア
- 上海PVG空港の地上管制-2015年から中国南東部の地方空港で使用されています
Connext DDSは、実際のアプリケーションで何度も何度も証明されています。
次に、RTIは実際にDDSをテストします。これには、広範な自動テスト、厳密なトレーニングとレビュー、および広範な問題追跡と管理が含まれます。さらに、RTI IIoT Testing Labは、業界最大で最も完全なラボ施設であり、次の機能を備えています。
- 240コアスケールテスト。数千の並行プログラム、10,000のエンドポイントを実行します
- 32個の高速XeonCPUアレイ
- 128ボードのマイクロテストアレイ
- ほぼ100種類のコンピューター
自分自身に問うべき非常に重要な質問は、製品を委託しているDDSリリースの品質はどれくらいかということです。
プラットフォームのサポート
使用するターゲットアーキテクチャ、オペレーティングシステム、およびコンパイラは何ですか?検討しているDDS実装は、使用したい言語もサポートしていますか?また、新しいアーキテクチャとOSバージョンはどのくらいの頻度で迅速にサポートされますか?使用するプラットフォームがサポートされていることを確認することが重要です。サポートされていない場合、そのプラットフォームを作成してサポートするために利用できるサービスは何ですか?
Connext DDSは、業界で最も多くのプラットフォームをサポートしています。特定のプラットフォームのサポートが利用できない場合は、オープンソースのDDSを再構築して、必要なサポートを提供できることに注意してください。オープンソースDDSには、ソースと、ソースを再構築する方法に関する説明が付属しています。 Connext DDSを使用すると、顧客は独自のライブラリを構築することもできますが、これは主にテスト目的で使用されます。独自のDDSライブラリを構築する場合は常に、それが必ずしも簡単であるとは限らず、どのテストがすでに実行されているかを考慮する必要があることに注意してください。
コスト
一部のオープンソースDDS実装は、無料でダウンロードできます。したがって、短期的には、商用DDSよりもコストが低くなります。ただし、時間の経過とともに、オープンソースDDSの使用コストが増加する可能性があります。オープンソースDDSはオープンソースコミュニティによってサポートされており、ライセンス料やサポート料はありませんが、コミュニティサポートに依存するか、別の会社にサポート料を支払う必要があります。その結果、オープンソースDDSは、機能の欠如、必要な追加の開発者、開発時間の増加、および追加のサポートコストのために、長期的にはより多くのコストがかかる可能性があります。あなたにとって市場に出す時間はどれほど重要ですか?高速で信頼性の高いサポートはどれほど重要ですか?商用DDSライセンスのコストと、エンジニアの年間負荷コストを比較検討します。事前にお金を節約する価値はありますか?
市場投入までの時間
各DDSの代替品を使用して、製品をどれだけ早く市場に投入しますか?使用したいDDSの実装が不完全な場合、つまり必要なツール、サポート、サービスがない場合、または期待どおりに機能しない場合、それは市場投入までの時間にどのように影響しますか?製品を時間どおりに出すことはどれほど重要ですか?
一般的に、商用DDS実装は、オープンソースバージョンよりもフル機能で堅牢です。これは、開発とテストに専念するエンジニアが多数いるためです。たとえば、Connext DDS Professionalには、50人を超えるエンジニアがフルタイムで開発に取り組んでいます。これには、25人のフルタイムのサポートエンジニア、またはサービスエンジニアやトレーニングエンジニアは含まれません。
DDSサポート
問題が発生した場合に利用できるサポートを理解することが重要です。オープンソースのDDSは、オンラインユーザーグループやサードパーティを通じて有料でサポートを利用できます。ただし、サポートエンジニアがこの実装だけに専念しているかどうか、または複数の異なる製品をサポートしているかどうか(つまり、使用している製品に焦点を合わせているかどうか)を判断する必要があります。また、重大な問題が発生した場合のエスカレーションポリシーはありますか?
RTIは、接続ソフトウェアがアプリケーションのミッションクリティカルな部分であることを理解し、それにふさわしい真剣さでカスタマーサポートを扱います。当社のサポートエンジニアは非常に有能です。彼らは、分散型リアルタイムおよび組み込みシステムの設計、デバッグ、および実装の専門家です。米国とヨーロッパにサポートセンターがあるため、DDSサポートエンジニアはほぼ24時間年中無休で連絡を取ることができます。さらに、DDSサポートエンジニアは、開発エンジニアリングリソースと同じ場所に配置されており、直接アクセスできます。重大な問題がプロジェクトの進行を妨げた場合は、開発エンジニアに支援を求めることが不可欠です。
また、RTIには、ConnextDDS機能のほとんどについてオンラインで利用できる例があります。さらに、すべてがGoogleで検索可能であるため、ヘルプを取得するのはWeb検索を行うのと同じくらい簡単です。これには、ユーザーグループの記事、説明ビデオ、サンプルコード、オンライントレーニング、ドキュメントが含まれます。
RTI ConnextDDSの使用を開始する
使用するDDS実装を選択する前に、要件、および必要な機能とサービスを完全に理解することが重要です。以下は、要件を定義するのに役立つ重要な質問の一部です。
- 使用したい言語はサポートされていますか?
- スクリプト言語との統合は必要ですか?
- クラウドとの統合が必要ですか?またはリレーショナルデータベースを使用しますか?
- 将来的にセキュリティが必要になりますか?または認定?
- リリースは堅牢ですか?厳しいテストを経ていますか?フィールドアプリケーションで何度も使用されていますか?
市場投入までの時間に関する懸念があり、堅実で十分にサポートされ、現在および将来必要な機能を備えた複雑な製品がある場合は、RTI ConnextDDSは正しい選択です。
モノのインターネットテクノロジー
- RTIでのソフトウェアテスト
- ROS2 + DDS統合:エコシステムが統合するとき| RTI
- ConnextDDSの最新のRTIパフォーマンスを発表
- オープンソース用語の紹介
- オープンソースとIoT:コラボレーションによるイノベーション
- AT&T、TechMahindraが新しいオープンソースAIプラットフォームでコラボレーション
- ソフトウェアのリスク:IoTでのオープンソースの保護
- オープンソースのIoT開発ツールとベンダーがサポートするツール
- DeepLabCut:移動する種の体の部分を追跡するためのオープンソースAI
- エッジでのオープンソースの必要性(eBook)
- オープンソースがIoTとエッジコンピューティングの採用を促進