OpenAPI アプリ

OpenAPI アプリは、OpenAPI クエリの柔軟性を使用して、高度にカスタマイズ可能な方法でデータを提供および表示します。 OpenAPI アプリでは、カスタム コンテンツをダッシュボードおよびコンテキスト ページ上のOpenAPI app ビューで使用できます。 ユーザは独自のアプリを作成できます。または、利用可能なさまざまなアプリからアプリを選択できます。 次に、これらのアプリを npc で展開および表示できます。
capm360
HID_OpenAPI_Applications
OpenAPI アプリは、OpenAPI クエリの柔軟性を使用して、高度にカスタマイズ可能な方法でデータを提供および表示します。 OpenAPI アプリでは、カスタム コンテンツをダッシュボードおよびコンテキスト ページ上のOpenAPI app ビューで使用できます。 ユーザは独自のアプリを作成できます。または、利用可能なさまざまなアプリからアプリを選択できます。 次に、これらのアプリを
NetOps Portal
で展開および表示できます。
次のビデオは、OpenAPI アプリケーションをダウンロードし、展開し、
NetOps Portal
に追加する方法を示しています。

OpenAPI アプリ開発
OpenAPI アプリは、zip ファイルに格納された HTML、JavaScript、CSS、およびメタデータで構成されています。 通常、アプリは
NetOps Portal
Web サービスおよび OpenAPI を使用します。
以下のプロセスでは、OpenAPI アプリの開発およびテスト プロセスについて説明します。
  1. 存在する場合は、新規アプリの基礎として使用する、同様の OpenAPI アプリを見つけてください。
  2. アプリのファイルを格納するローカル フォルダを設定します。アプリの必要なディレクトリおよびファイルがすべて含まれる、1 つのディレクトリを使用します。
  3. appConfig.properties ファイルを作成します。 このプロパティ ファイルは、
    NetOps Portal
    での展開およびアプリ ビューで必要です。 このファイルの内容に関する情報については、以下のドキュメントを参照してください。
    appConfig.properties ファイルは、前の手順で参照されている最上位レベルの単一のディレクトリにある必要があります。
  4. OpenAPI QueryBuilder を使用して、ユーザ アプリの odata クエリ サンプルを作成します。これらのクエリの出力を静的ファイルに保存します。 この静的データを使用して、コードの開発を開始します。
    開発後、静的データは解析コードが正常に機能することを確認するためのデバッグに役立ちます。
  5. デモ ページを作成します。 ページが静的データをロードできることを確認します。 また、ページがデータをウィンドウ オブジェクトに添付されている変数に保存できることを確認します。 ブラウザ デバッグ ツールを有効にするには、JavaScript コードにデバッガ ステートメントを追加します。
    デモ ページでは、ブラウザ デバッグ ツールを使用できます。 ツールを使用してデータを表示し、アプリのその部分が動作することを確認します。
  6. パラメータの解析を開始します。
    元のデータを取得するために使用した URL を含め、パラメータを使用してデバッグ モードに切り替えます。 URL からのパラメータを使用して、OpenAPI クエリを作成します。 console.log 関数を使用して、コンソールへの URL をログに記録します(console.log("url: " + url) など)。
  7. アプリで使用する JavaScript ライブラリを選択します。
    既存のアプリで例を探して、ライブラリをアプリ フォルダにコピーします。 不要なファイルを削除します。
  8. アプリの作成を開始します。
    • データに複数のアイテムが含まれている場合は、まず 1 つのアイテムで開始します。
    • この段階では、アプリの外観については考慮しません。 ただし、その作業が容易に行えるように、結果の HTML に CSS クラスを含め
      ます
    • アプリをローカライズする場合を考慮して、すべてのラベルをコードの 1 つの場所に配置します。
  9. 何らかの作業をする場合、
    NetOps Portal
    のテスト システムにアプリを展開します。 リモート サーバ上でアプリが動作することを確認します。 リモートで動作するようにコードのリファクタリングを行う場合、この段階でリファクタリングを行うコードは少なくなります。
  10. properties ファイルが含まれるアプリ フォルダを圧縮し、UI からアプリを展開します。
  11. UI でアプリをテストするには、ダッシュ ボードを作成し、2 つのアプリ ビューをダッシュボードに追加します。
    アプリ ビューのいずれかを編集し、ドロップダウン リストからアプリを選択します。 ドロップダウン リストにアプリが表示されない場合、appConfig.properties ファイルに問題があります。
    アプリが最初のビューに表示されたら、他のアプリ ビューを編集して、同じアプリを追加します。このテストでは、アプリが 1 つのページで複数のインスタンスをサポートできることを確認します。
  12. ローカルで作業を継続し、アプリをテスト システムに定期的に再展開します。
    メタデータ内の URL を更新する場合は、[アプリ ビュー]を編集します。 更新された URL を取得するアプリを再度選択します。
  13. Perfotmance Center 上でより制限されたユーザ アカウントを使用して、アプリが依然として正常に動作することを確認します。
    アプリがコンテキストまたは時間範囲を認識する場合は、関連するコントロールを変更し、アプリが正しく応答することを確認します。
  14. 必要に応じて、リダイレクタを使用して、コンテキスト ページ リンクをアプリに追加します。 リダイレクタによって、アプリはシステムの一部であるように動作します。
  15. アプリが完成したら、アプリを GitHub リポジトリに追加して他のユーザが使用できるようにすることを考慮してください。
    アプリをリポジトリに追加する前に、個人情報を削除してください。
appConfig.properties
appConfig.properties ファイルに対して、以下の形式を使用します。
appName=
App Name
description=
Optional app description
url=
Required_URL_parameters
height=
height in pixels
supportedContext=
context_code
  • appName
    アプリの一意の名前
  • (オプション)
    description
    アプリを選択すると、[アプリ ビュー]に表示される説明
  • url
    アプリの URL および URL パラメータ
    NetOps Portal
    での URL パラメータの詳細については、「ブラウザ ビュー」を参照してください。
  • (オプション)
    height
    ピクセル単位でのアプリ ビューの高さ
    デフォルト:
    250
  • (オプション)
    supportedContext
    アプリがアプリ ビューに表示されるコンテキストです。 このパラメータを使用して、利用可能なアプリを特定のコンテキストに制限できます。 たとえば、値「
    i
    」のみを指定すると、アプリはインターフェース コンテキスト ページ上のアプリ ビューでのみ利用でき、ダッシュボード レベルでは利用できません。
    値:
    • d
      [デバイス]
    • i
      インターフェース
    • s
      Server
    • r
      ルータ
    • g
      グループ
    • nc
      なし。すべてのコンテキストで表示されます
    デフォルト:
    nc
    複数のコンテキストを指定するには、カンマで値を区切ります。
例:
appName=Percentile Trend App description=This is a Percentile Trend App url=index.html?id={ItemIdDA}&startTime={TimeStartUTC}&endTime={TimeEndUTC}&metric=im_UtilizationIn height=750
supportedContext=i,d
アプリ開発のベスト プラクティス
OpenAPI アプリの開発には、以下のベスト プラクティスを使用します。
  • 外部ソースの JavaScript ライブラリは使用しません。 アプリにライブラリが必要な場合は、ライブラリをアプリ フォルダに含めます。 ライブラリの使用許諾条件を説明するすべてのファイルも含めます。
  • NetOps Portal
    の JavaScript、CSS、または画像は使用しません。 これらのエンティティが更新されると、アプリが破損する可能性があります。
  • アプリをテストして、大規模な構成および異なる設定で動作することを確認します。 多くのアプリケーションは、Web サービスなどのシステム リソースに依存します。 アプリが不要な負荷を生成していないことを確認します。
  • 問題のデバッグに役立つように、アプリにテスト モードを組み込みます。 Web サービス API の使用からアプリに含まれているデータの固定セットにアプリを切り替えるオプションのパラメータを追加します。
  • アプリを他のユーザに配布する場合は、個人情報が含まれていないことを確認します。 デバッグ用に含まれている静的データ ファイルの不要な部分を削除します。
  • 相対パスを使用し、完全な URL を含めません。 システムがファイアウォールの背後にあるか、DNS 名を変更する場合、完全な URL を使用するとアプリが破損します。相対パスを使用すると、ローカルで作業し、その後アプリを展開する間の移行が容易になります。
  • アプリが iframe 内で動作することを確認します。 ブラウザ ビューとアプリ ビューは、両方とも iframe を使用して、アプリをページの残りの部分から分離します。
  • OpenAPI は、Data Aggregator アイテム ID を使用します。
    NetOps Portal
    ID は認識されません。 データ ソース Web サービスを使用して、Data Aggregator アイテム ID と
    NetOps Portal
    ID 間の変換を行います。 詳細については、「データ ソース Web サービス」を参照してください。
  • OpenAPI データにアクセスするには、リクエストが
    NetOps Portal
    ホスト上のアプリから行われる必要があります。 アプリの展開では、アプリ フォルダが
    NetOps Portal
    ホスト上に配置されます。
  • アプリ内の直接 oData クエリについては、
    NetOps Portal
    システムの相対パスを使用して、OpenAPI プロキシ
    /pc/odata/api/...
    を使用します。
アプリのダウンロード
GitHub では、さまざまなアプリを利用できます。 これらのアプリケーションは、GitHub オープンソース コラボレーションによってサポートされます。
Copyright (c) 2018 CA Technologies
The MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
手順に従います。
  1. https://github.com/CA-PM に移動します。
    利用可能なアプリとその説明のリストが表示されます。
  2. 目的のアプリをクリックします。
    アプリの内容、サンプル画像、および readme 手順書が表示されます。
  3. Clone or download
    ]および[
    Download ZIP
    ]をクリックします。
  4. お好みのディレクトリにファイルを保存します。
アプリの展開
OpenAPI アプリを展開するには、
NetOps Portal
でアプリをロードします。 システムの実行中に、アプリを展開できます。 アプリの展開では、再起動は必要ありません。 展開が成功するためには、アプリが以下の要件を満たす必要があります。
  • 1 つのフォルダに、アプリ ファイルが含まれている。
  • フォルダに、appConfig.properties ファイルが含まれている。
  • アプリ フォルダが zip ファイルに圧縮されている。
  • zip ファイルの最大サイズが 100 MB である。
この手順には、管理者の役割が必要です。
手順に従います。
  1. [管理]
    の上にマウス ポインタを置き、
    [構成設定]-[アプリ展開]
    をクリックします。
  2. [参照]
    をクリックし、zip ファイルのアプリを選択します。
  3. 追加
    ]をクリックします。
    アプリは、ユーザ アプリ ディレクトリにコピーされます。 アプリ ビューアを使用して、
    NetOps Portal
    でアプリを表示します。
NetOps Portal
でのアプリの表示
NetOps Portal
でアプリ ビューを使用して、アプリを表示します。
PDF および CSV の印刷および電子メール オプションは、アプリ ビューではサポートされていません。
手順に従います。
  1. 対象のアイテム コンテキストに対応するように、ダッシュボードまたはページを追加または編集します。
  2. アプリのアプリ ビューを追加します。
  3. ビュー用のアプリを選択します。
  4. パラメータおよび高さを目的の値に更新します。
  5. [保存]
    をクリックします。