コネクタ機能の追加

認証が機能したら、コネクタへの機能の追加を開始できます。機能を追加するには、次のステップが必要になります。

  • 操作で使用できる、コネクタに関する状態情報を提供する設定可能な属性を追加する。

  • コネクタで使用できる操作を実装する。

  • コネクタの操作に渡されるオブジェクトまたは操作から渡されるオブジェクトのデータモデルを定義する。

このドキュメントでは、API アクセスのメインスタイルを紹介します。

属性

コネクタの属性は、Mule 要素の属性に似ており、コネクタのグローバル設定ダイアログに表示されます。内部的には、これらは getter や setter が含まれる @Connector メインクラスのインスタンス変数であるため、コネクタのコードで参照および操作できます。

たとえば、開発 Sandbox のエンドポイントに接続するのか、本番システムのエンドポイントに接続するのかを指定するために、コネクタのエンドポイントの詳細を提供することは、属性の一般的な使用方法の 1 つです。

詳細は、「コネクタ属性の定義」を参照してください。

静的データモデルと動的データモデル

コネクタへ移動するデータまたはコネクタから移動するデータを表す最適な方法に関するデザインの意思決定は、多くの場合、接続先の API の基盤となるデータモデルに基づいて行われます。一般的な目標は、DataSense で機能するために必要なメタデータをサポートしながら、基盤となるデータに適した表現を選択することです。

  • 静的データモデル​では、対象でサポートされているすべてのオブジェクトとそれらの属性の定義が固定されます。大部分のサービス (特に比較的単純なサービス) は、静的データモデルを実装します。静的データモデルを使用する API では、コネクタの操作で公開されるオブジェクトに対応する Plain Old Java Object (POJO) を作成することをお勧めします。対象 API への修正を除けば、これらのクラスは、個々のデプロイメントで変更する必要はありません。

  • 動的データモデル​では、アプリケーションオブジェクトとそれらの属性をカスタマイズできます。複雑な ERP アプリケーションでは、顧客ごとにカスタマイズできるように、動的データモデルを実装することがよくあります。動的データモデルの場合、Java のキー - 値ペアのマップを使用して Mule のアプリケーションオブジェクトを表すことをお勧めします。

DataSense の追加についての詳細は、このドキュメントの静的データモデルと動的データモデルの例を参照してください。

API アクセス方法とクライアント実装スタイル

コネクタで作成する大部分の Java コードは、対象の操作をコールしたり、それらの操作と Mule 間でデータを渡したりすることに関連しています。これは、各コネクタで最も異なる部分で、大部分の対象固有のコードが含まれます。

サービスは、いくつかの方法で操作を公開できます。以下の表には、最も一般的なスタイルとそれらと連動する Mule の推奨クライアントテクノロジがまとめられています。

サービス API スタイル 推奨アプローチ 注意事項

事前作成済みの Java クライアントライブラリ

クライアントライブラリの使用

  • 使用可能な場合、一般的にこれがリモートサービスをコールする最も単純なアプローチになります。

SOAP API

Apache CXF

  • SOAP Web サービスのパブリッシュおよびコンシュームの事実上の標準。

REST API

Jersey クライアント

  • ほぼすべての REST API に対応できます。

RESTCall アノテーション

  • 「純粋」な RESTful API に対応する DevKit の組み込みクライアント

  • 大部分の RESTful スタイルの API は十分に「純粋」ではないため、実際のところ、Jersey クライアントの方が効果的です。

複数のアクセス方法からの選択

一部のサービスは、さまざまなユースケースに適した各種スタイルでアクセスできる複数の API を公開します。たとえば、大部分の一般的なユースケースに適した Java クライアントライブラリと、さまざまなモデルを使用してより完全な機能を公開する低レベル REST または SOAP API を備えたアプリケーションもあります。各自の状況に最も適したものを選択してください。

関連情報

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub