モバイルアプリのインテグレーション

モバイル端末用のアプリ (iOS/Android) または Web アプリの開発を決めたなら、次の課題はこのアプリを CRM や ERP などのバックエンドシステムにどのように接続させるか?ということになります。

モバイル対応のために、開発者は Web アプリの作成方法を根本的に変化させることを余儀なくされました。モバイル以前は、HTML は中央サーバーからリクエストされ、端末のブラウザでレンダリングされていました。現在は HTTP と AJAX を使用して動的なコンテンツを配信。REST サービスを使用し、JSON フォーマットのデータを HTTP 経由で渡されることが一般的な通信方法です。

この変化の中、企業はバックエンドのインフラの変更を最小限に抑えながら、新しい「モバイルチャネル」に、正確かつ最新のデータを適切な形で公開しなければなりません。この変化を迅速に対応・実現できた企業は、従来のビジネスモデルを新しい端末と新しい利用者に対応させることができるようになります。MuleSoft は、既存の SOAP/XML ベースの Web サービスと REST/JSON アプリケーションサービスとの間にシンプルなメカニズムを用意。つまり仲介層を構築することで、大きな価値を提供します。さらに、内部オブジェクトモデルを外部の利用者に公開する必要がなく、REST および非 REST サービスの両方を含む複数のバックエンドサービスから、洗練された複合アプリケーションを簡単にオーケストレーションすることができます。

ユースケース

REST API を持たないレガシーアプリケーションに接続しなければならないケース。たとえば、企業が独自に構築した CRM や人事システムに従業員がリモートアクセスするケースへのニーズも少なくありません。

複数のアプリケーションやデータソースに接続し、データを結合してモバイルアプリケーションに結果を送信したい場合、Facebook や LinkedIn などの SNS 上のデータで人事や顧客情報を充実させることができます。複数の CRM システムを持っている企業が、外出先から顧客データにアクセスする際に、統一されたビューを提供するというケースも必要とされることが多いです。

このような場合、データを圧縮するだけでなく、アプリケーションに必要なデータを最小限に絞り込むことで、デバイスの帯域幅の使用を最適化することができます。

実装

MuleSoft を使用して、既存アプリケーションをいかに簡単に『REST 化』できるかを紹介します。”RESTify” とは、既存アプリケーションに REST 形式の Web サービスのフロントエンドを作成することを意味します。

たとえば営業チームが、モバイルデバイスから次のような新しい商談の作成を希望するケースが多く聞かれます。

  • Salesforce の実装との同期
  • 一定額以上の商談が発生した場合、上司へのメール通知

インテグレーションの基本原則

以下に、モバイルアプリのインテグレーションの 5 つの基本原則とそのユースケースを紹介します。

トランスフォーメーションモバイルアプリのインターフェースを利用するためのデータ形式として最適なのは JSON です。何故ならば、JSON はモバイルアプリと Mule の両方で非常に簡単に操作できるプロトコルだからです。モバイル端末から受信した JSON データを、Salesforce に読み込める形式に変換することが課題になります。
トランスポーテーション「モバイルアプリと相互作用する REST (HTTP) ベースのサービス」、「Salesforce システムとHTTP 経由」および「SMTP プロトコルを使用する電子メール接続との間」において、トランスポートプロトコルネゴシエーションが行われます。
オーケストレーション複数の基礎コンポーネントを単一のコンポジットサービスにまとめること。この事例では、Salesforce の更新をシンプルなメールサービスに集約し、簡単な Mule インテグレーションフローを使用し、REST ベースのモバイルアプリとしてすべてを結合し表示しています。
仲介さまざまな利用者に、サービスの複数のバージョンをサポートする必要が出てきたら、時間の経過とともに有用になるのが「仲介」です。SOAP/XML と JSON の間をやり取りするためのコンポーネントを追加するだけで、REST ベースのサービスに対して、追加のSOAP インターフェースを提供することが可能です。
非機能的な一貫性これらの要件は、セキュリティ、ロギング、デプロイメント、ランタイムコンポーネントの管理などの統一された実装を提供します。本質的には汎用性の高いものです。

MuleSoft のインテグレーションコンポーネント

MuleSoft は、この種のアプリケーションを構成するためのシンプルな GUI (Graphical User Interface) を提供します。モバイルアプリと通信するための最初のステップは、REST コンポーネントと結合した HTTP エンドポイントを使用すること。この第一ステップでは、モバイルアプリとの通信と JSON オブジェクトの利用に関連する煩雑さを解決します。MuleSoft では、『プレビルド』のコネクターをプロジェクトにドラッグするだけで、ユーザー名とトークンの設定と機能選択が完了します。そのため、Salesforce CRM システムとの通信プロセスも簡略化されます。同様に、フィルタリングロジックの追加や、メール送信用の SMTP サーバーとの通信も大幅に簡素化されています。

まとめ

私たちが実現できたことは何でしょうか? Mule を ESB として使用することで、既存アプリケーションを活用してより高度な REST サービスを構成し、モバイルアプリとのインテグレーションを簡単にすることができると説明しました。

さらに、MuleSoft が提供するプレビルドのコネクターを使用したモバイルアプリと Salesforce のインテグレーションが、いかに簡単になるかも示しました。Salesforce のようなクラウドテクノロジーを採用するとき、開発者が直面する主要課題のひとつがインテグレーションであることを考えると、これは大きなベネフィットです。

モバイル端末とアプリは、幅広いユーザーとのチャネルです。MuleSoft は、これらのデバイスが要求する新しいインタラクションモデルに対応し、簡単かつ拡張性、信頼性の高い方法で、既存のシステムと容易にインテグレートすることが可能です。