アダプターの開発

improve this page | report issue

概説

アダプターは、Java または JavaScript で実装されたサーバー・サイド・コードが含まれている Maven プロジェクトです。
アダプターを使用して、すべての必要なサーバー・サイド・ロジックを実行し、バックエンド・システムから情報を取り出し、クライアント・アプリケーションおよびクラウド・サービスに転送します。

各アダプターには分離された専用のサンドボックスがあります。このサンドボックスは、他のアダプターのサンドボックスを認識することも、そこに割り込んだりすることもなく実行されます。 ただし、アダプターは、「アダプター・マッシュアップ」を可能にする API を呼び出すことによって、相互に通信することができます。

アダプター・コードが必要とするサード・パーティー・ライブラリーを組み込むことも可能です。そうするには、対象のライブラリーを Maven 依存関係としてアダプターの pom.xml ファイル内で定義します。 詳しくは、Java アダプターおよび JavaScript アダプターの作成チュートリアルの依存関係セクションを参照してください。

アダプターは、以下の DevOps ニーズもサポートします。

  • アダプターを「ホット・デプロイ」することができます。すなわち、アダプターを実行時にデプロイ、アンデプロイ、および再デプロイすることができます。 この機能によって、サーバー・サイド開発プロセスの柔軟性が非常に高くなります。
  • アダプターには、管理担当者がアダプターを再デプロイせずに構成できるユーザー定義プロパティーを設定できます。 この機能により、開発、テスト、実稼働などのさまざまな環境に応じてアダプター動作をカスタマイズできます。

Java アダプターおよび JavaScript アダプターの概説を続けてお読みください。 その後、サイドバー・ナビゲーションのチュートリアルに従って、Java アダプターおよび JavaScript アダプターの作成、ビルド、更新、開発、テスト、およびデプロイの方法や、アダプター開発のための IDE の使用方法、サーバー・サイド・ログの収集方法を学習し、さらに、アダプターのマッシュアップや Cloudant の統合などの上級者向けトピックへと進みます。

adapter_overview

アダプター使用の利点

汎用性

  • アダプターは、複数の統合テクノロジーおよびバックエンド情報システムをサポートしています。

読み取り専用機能およびトランザクション機能

  • アダプターは、バックエンド・システムに対する読み取り専用アクセス・モードとトランザクション・アクセス・モードをサポートしています。

開発の迅速化

  • アダプターは、単純な XML 構文を使用し、JavaScript API または Java API で簡単に構成できます。

セキュリティー

  • アダプターは、柔軟性の高い認証機能を使用してバックエンド・システムとの接続を確立します。
  • アダプターは、接続ユーザーの ID に対する制御を提供します。

透過性

  • バックエンド・アプリケーションから取得したデータは、アダプターのタイプに関係なく、統一された方法で公開されます。

Java アダプター固有の利点

  • URL 構造、コンテンツ・タイプ、要求ヘッダー、応答ヘッダー、コンテンツ、およびエンコードを完全に制御できます。
  • Postman などのサード・パーティー・ツールを使用してアダプターをテストできます。
  • 実行中の MobileFirst Server インスタンスへのデプロイメントが迅速かつ容易で、パフォーマンスへの影響もダウン時間も生じません。
  • ソース・コード内の簡潔なアノテーションを使用して、追加のカスタマイズを必要とせずに Mobile Foundation セキュリティー・モデルとのセキュリティー統合が可能です。

JavaScript アダプター

JavaScript アダプターは、HTTP および SQL のバックエンドと通信するためのテンプレートを提供します。 これらのテンプレートには、プロシージャーと呼ばれるサービスのセットが含まれています。 モバイル・アプリケーションは、AJAX 要求を発行することでこれらのプロシージャーを呼び出すことができます。 プロシージャーはバックエンド・アプリケーションから情報を取得し、そのアプリケーションにデータを返します。 REST インターフェースを使用すると、Mobile Foundation で提供される OAuth 2.0 ベースのセキュリティー・フレームワークを利用することができます。

  • データのフォーマットが JSON の場合、MobileFirst Server はデータを元の状態のままで保持します。 それ以外のフォーマットの場合は、MobileFirst Server は自動的にデータを JSON に変換します。
  • あるいは、データを JSON に変換するための XSL Transformation を提供することもできます。 この場合、バックエンドから返されるコンテンツ・タイプは XML でなければなりません。 その場合、XSLT を使用して、要件に基づいてデータをフィルターに掛けることができます。
  • HTTP アダプターを使用して、GET または POST HTTP 要求を送信したり、応答ヘッダーおよび本体からデータを取得したりすることができます。 HTTP アダプターは、RESTful および SOAP ベースのサービスで作動し、RSS フィードなどの構造化された HTTP ソースを読み取ることができます。
  • SQL アダプターでは、任意の SQL データ・ソースと通信できます。 プレーン SQL 照会またはストアード・プロシージャーを使用できます。

javascript_adapters

Java アダプター

Java アダプターは JAX-RS 2.0 仕様に基づいています。したがって、Java で書かれ、完全な REST API をクライアントに公開します。 Java アダプターでは、返されるコンテンツとその形式、および各リソースの URL 構造を定義するのは開発者の責任です。 唯一の例外は、要求を送信するクライアントが GZip をサポートしている場合です。この場合、Java アダプターの返されるコンテンツのエンコードは GZip で圧縮されます。 返されるコンテンツに対するすべての操作は、開発者が実行し、所有します。

下の図は、モバイル・デバイスが、REST エンドポイントからどのように任意の Java アダプターにアクセスできるかを示しています。 REST インターフェースは、Mobile Foundation OAuth セキュリティー・フィルターによって保護されています。すなわち、クライアントは、アダプター・リソースにアクセスするためにアクセス・トークンを取得する必要があります。 アダプターの各リソースには独自の URL があるため、任意のファイアウォールを使用して Mobile Foundation エンドポイントを保護することが可能です。 REST インターフェースは、Java コード (JAX-RS サービス) を呼び出して、着信要求を処理します。 Java コードは、Java MobileFirst Server APIを使用して、サーバーで操作を実行できます。 さらに、Java コードは、エンタープライズ・システムに接続して、データのフェッチ、データの更新、およびエンタープライズ・システムが公開するその他の任意の操作を実行することができます。

java-adapter

次に使用するチュートリアル

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on June 17, 2020