記事ディレクトリ
序文
iServer の管理ページでは便利にサービスを実行できますが、実際のプロジェクトでは、意識せずにバックグラウンドや他のシステムに該当するサービスが構築されている場合がありますので、この記事では、iServer REST API を使用して 3 つのステップで構築する方法を説明します。 。
1.iServerサービス体系
REST API を使用してサービスを構築する前に、まず iServer のサービス システムを理解しましょう。SuperMap
iServer では、サービス インスタンスは、サービス インターフェイス、サービス コンポーネント、サービス プロバイダーの 3 つの部分で構成されます。
- サービス プロバイダー: 関数のさまざまな実装をカプセル化して統合し、さまざまなサービス ソース間の差異を保護し、さまざまなサービス データ ソースに対してさまざまなサービス プロバイダーを用意します。
- サービス コンポーネント (コンポーネント): さまざまなサービス プロバイダーの機能を組み合わせて、粗いモジュールにカプセル化します。
- サービス インターフェイス (インターフェイス): REST サービス、WMS サービスなど、さまざまなサービス仕様に従って Web サービスに公開します。
より詳細な概要については、iServer サービス システムを参照してください。
2. 具体的な実装手順
2.1 トークンの作成
iServer の公開には管理者権限が必要なので、最初のステップでは、管理者ロールを持つユーザーを使用してトークンを生成する必要があります。
- リクエスト URL: http://ip:port/iserver/services/security/tokens.rjson
- リクエスト方法(種類):投稿
- リクエストボディ (Body) パラメーターの説明:
2 つのパラメータ **'clientType'と'expiration'** は、実際のアプリケーションに応じて設定する必要があることに注意してください。
- 郵便配達員の応答例
2.2 サービスプロバイダーの構築 プロバイダー
2.2.1 ブラウザ開発ツールはネットワークを監視し、特定のパラメータを取得します
その前に、クリックしてiServer サービスの各レベルのモジュール ページを表示し、そこから iServer サービスの各コンポーネント モジュールの特定のタイプを知ることができます。
サービスが非常に多いため、サービスを構築するときにどのパラメーターを構成する必要があるかをどのように判断すればよいでしょうか?
iServer ページで必要なサービスを公開し、[公開] をクリックする簡単な方法を次に示します。公開する前に、F12 を使用してブラウザの開発者ツールを開き、図に示すようにネットワーク オプション ページをクリックします。
ただし、ここには例外があります。つまり、公開するデータのソースがワークスペースである場合、ネットワークを監視すると、リクエストが「http://localhost:8090/iserver/manager/workspaces.rjson」を使用していることがわかりました。 "。ワークスペース時間を公開するときは、リクエストを呼び出すだけです。特定のリクエスト パラメーターについては、ワークスペース リリースを参照してください。ここでは詳しく説明しません。
2.2.2 特定のリクエストパラメータの説明
ここでは、説明するための例として 3 次元スライス キャッシュのパブリッシュを取り上げます。まず、iServer によって発行されたネットワーク リクエストをリッスンします。図に示すように、開発者ツールは、送信された特定のリクエストを確認できます。
ここでは、図に示すように、「providers.json」と「components.json」の 2 つのポスト リクエストとリクエストのペイロード部分 (リクエスト本文) に主に焦点を当てます。
したがって、次のように要約できます
- リクエスト URL: http://localhost:8090/iserver/manager/providers.json?token=**** //token は最初のステップで作成されたトークンです
- リクエスト方法(種類):投稿
- リクエストボディ (Body) パラメーターの説明:
パラメータ | 説明する | 例 |
---|---|---|
名前 | サービスプロバイダー名を繰り返すことはできません | local3DCache-BuildingCBD |
タイプ | サービスプロバイダーの種類 | com.supermap.services.providers.LocalRealspaceProvider |
設定 | サービスプロバイダーに対応する設定パラメータは、ネットワークを監視してパラメータを取得し、パラメータ名に従って iServer ページと 1 対 1 に対応するため、理解しやすくなります。 | { configFile: "/Building@CBD/[email protected]" //3次元スライス設定ファイルのパス } |
2.3 サービスコンポーネントの構築 コンポーネント
プロバイダーが正常に作成されたら、サービス コンポーネントを構築する 3 番目のステップに進みます。上記でコンポーネントのリクエストを取得しました。ここでは、スクリーンショットに基づいて直接要約します。
- リクエスト URL: http://localhost:8090/iserver/manager/components.json?token=**** //token は最初のステップで作成されたトークンです
- リクエスト方法(種類):投稿
- リクエストボディ (Body) パラメーターの説明:
パラメータ | 説明する | 例 |
---|---|---|
名前 | サービス コンポーネントの名前は、サービスの種類に応じて区別しやすくするために付けることができます (たとえば、マップ サービスの場合は「map-***」)。 | 3D-ローカル3Dキャッシュ-ビルディングCBD |
インターフェース名 | サービス インターフェイス名、カンマで区切られた複数のサービス タイプ インターフェイス | WMS111、WMS130、WMTS100 |
タイプ | サービスコンポーネントの種類 | com.supermap.services.components.impl.RealspaceImpl |
プロバイダー | プロバイダーのリクエストによって設定された名前 | local3DCache-BuildingCBD |
設定 | サービスコンポーネントの構成パラメータ | {}設定がない場合は、空のオブジェクトが渡されます。 |
#まとめ
この時点で、上記の 3 つのステップを経て iServer サービスのリリースが完了しました。どのような種類のサービスをリリースする必要があるかは、iServer ページとヘルプ ドキュメントにリストされている種類を通じて、対応するパラメータを間接的に設定することで設定できます。 。