Developer

Apexインテグレーションについて簡易まとめ【セールスフォース】

Developer
この記事は約3分で読めます。

こんにちは、アンダーソンです。
今回はTrailheadのApexインテグレーションについて、頭の中でまとまっていなかったのを
できるだけシンプルにまとめてみました。
上級デベロッパーでもインテグレーションの割合は14%と高い上に、
結構シビアな問題の出し方をしていたので再度おさらいの意味を込めて
まとめていきたいと思います。

スポンサーリンク

4つのパターンを覚える

まず4つのパタンがあることを頭にいれておきましょう。

  • REST コールアウト
  • SOAP コールアウト
  • REST Web サービス
  • SOAP Web サービス

それぞれどう違うのかとどう言ったケースでどのインテグレーションを使うべきなのか
というのが問われますので、次でそれをまとめていきます。

使用するケース

REST コールアウト

ApexからHTTP要求を通じてGETやPUTなどのコールアウト要求を行うことができます。
HTTPクラス、HttpRequestクラス、HttpResponseクラスを使ってコールアウトします。
Apexを通じてSalesforceを外部システムと連携したい際に使います。

SOAP コールアウト

提供されているWSDLを使ってApexクラスを作成することができ、それを使って
HTTP要求を行うことができる。
こちらも外部システムと連携する分には同じだが、
RESTのようにURLの呼び出しでXMLやJSONを返す形ではない。

REST Web サービス

リファレンスを参考にすると、

外部アプリケーションが REST アーキテクチャによってコードとアプリケーションにアクセスできるように、Apex クラスとメソッドを公開することができます。

Apex クラスを REST Web サービスとして公開

アノテーションをつけた6種類のメソッドを外部サービスに提供することで、
ApexクラスをRESTサービスとして公開することができます。

アノテーションアクション詳細スコープ
@RestResource
(urlMapping=’/yourUrl’)
公開Apex クラスを REST リソースとして公開できるようにします。クラス
@HttpGet参照レコードを参照または取得します。メソッド
@HttpPost作成レコードを作成します。メソッド
@HttpDelete削除レコードを削除します。メソッド
@HttpPut更新/挿入通常、既存のレコードを更新したり、レコードを作成したりするために使用します。メソッド
@HttpPatch更新通常、既存のレコードの項目を更新するために使用します。メソッド

上記の要求に対して、JSONもしくはXML形式で記述されます。

SOAP Web サービス

外部アプリケーションからSalesforceに対してアクセスできるように公開できます。
Apexメソッドの公開はWebserviceメソッドを使うことで使用可能になります。
Webserviceメソッドはstaticであり、globalである必要があり、戻り値にはMapやSetなどは使えません。その他にも制約がありますので詳しくはこちらをご覧ください。

まとめ

ほんとにざっくりですが試験対策としては要点を覚えておいてこの要件であればこれって感じで出てましたのでそれでいいのかと思います。
にしてもこの辺の話苦手です。。。

その他の開発に関する記事はこちらです。

Developerも含めた試験問題にチャレンジしてみましょう。

コメント