みなさんは Web AppBuilder for ArcGIS (以下、「Web AppBuilder」)を使用したことはありますでしょうか。ArcGIS Online や ArcGIS Enterprise をご利用されている方であれば一度は使ったことがあると思いますが、Web AppBuilder を活用すると、コーディングをしなくてもウィジェット (機能別の部品) を組み合わせるだけで簡単に Web アプリケーションを作成することができます。
2019 年の Esri User Conference の発表では、Web AppBuilder で作成された ArcGIS Online 上の Web アプリケーションの総数が 500,000 を超えており、多くのお客様にご利用いただいております。一例としてあげると、以下のようなものがあります。
出典:放置自転車情報マップ (大東京防犯ネットワーク 防犯情報マップ)
出典:Manufacturing sites in Sweden (Business Sweden)
そんなWeb AppBuilder を拡張するために、開発者向けには、Web AppBuilder for ArcGIS (Developer Edition) (以下、「Developer Edition」) を提供しています。細かいUIのカスタマイズが必要な場合や、用意されているウィジェット (一覧) では対応できないような機能が要件にある場合に、ご利用頂くことが可能です。
Developer Edition を利用してカスタマイズした Web アプリケーションの例では以下があります。クリックした地点の属性情報をアプリ左側に表示させる機能や住所検索機能を拡張しています。
出典:都市計画情報マップ (千代田区都市計画情報提供ポータル)
先日、Developer Edition のバージョン 2.15 をリリースしましたが、皆様から、デプロイに係る問い合わせを受けることがよくあります。そこで、当該リリースに合わせて主なデプロイ パターンの解説を開発リソース集に掲載いたしました。
以下ではその内容を簡単にご紹介いたします。エンド ユーザーの利用形態や要件によって最適なデプロイは異なりますが、主なパターンとしては次の 3 つが考えられます。
Developer Edition を使って、Web マップやウィジェットも含めて Web アプリケーションとして作成し・デプロイするパターンです。マップやウィジェットが固められているため柔軟性には欠けますが、特定の業務で継続的に利用されることが想定される場合や、エンドユーザーによる設定変更等が不要な場合等に活用できます。
作成からデプロイまでの流れは Developer Edition を使って Web アプリケーションを作成後、作成した Web アプリケーションをダウンロードし、Web サーバーに配置するだけです。
ご注意いただきたい点は、作成した Web アプリケーションは独自に用意した Web サーバーに配置する必要があることです。
カスタムのウィジェットのみを作成・デプロイするパターンです。エンド ユーザーさま自身が ArcGIS Online や ArcGIS Enterprise の Web AppBuilder を使用して web アプリケーションを作成することを想定しているものの、デフォルトの Web AppBuilder のウィジェットには無い機能が必要な場合にカスタム ウィジェットを追加しておくことができます。
この場合、ご注意いただきたい点は 2 つあります。1 つ目は、Web アプリケーションをデプロイする時と同様、作成したウィジェットは独自の Web サーバーに配置する必要があります。もう 1 つは、作成したウィジェットは ArcGIS Online の Web AppBuilder からは利用できないことです。ArcGIS Enterprise の Web AppBuilder を使用する必要があります。
Esri が用意している web アプリケーションのテンプレートとは別に、Web AppBuilder で作成した web アプリケーションをベースに独自のテンプレートを作成・配置するパターンです。マップや設定の変更のみでエンドユーザーがWebアプリケーションを作成することができます。
ただし、今回開発リソース集でご紹介している方法は、開発環境と運用環境が同じでなる点にご注意ください。運用時においてもユーザーが Developer Edition にアクセスできる必要があります。
以下の表は、上記3つのパターンについて、必要なコンポーネント等を表にまとめたものです。
パターン | 開発時に必要なコンポーネント | 運用時に必要なコンポーネント | ArcGIS Online での 利用可否 | ArcGIS Enterpriseでの 利用可否 |
---|---|---|---|---|
Web アプリケーションをデプロイ | Node.js、Developer Edition | Web サーバー、ArcGIS Online もしくは ArcGIS Enterprise | ◯ | ◯ |
ウィジェットをデプロイ | Node.js、Developer Edition | Web サーバー、ArcGIS Enterprise | ✕ | ◯ |
テンプレートをデプロイ | Node.js、Developer Edition | Developer Edition、ArcGIS Online もしくは ArcGIS Enterprise | ◯ | ◯ |
より詳しい内容は開発リソース集のデプロイ パターンのページをご覧ください。