ニフクラmBaaSお役立ちブログ

スマホアプリ開発にニフクラmBaaS。アプリ開発に役立つ情報をおとどけ!

社内データを扱うために。プロキシとしてmBaaSを使う

社内データをスマートフォンアプリ化したいというニーズはよくありますが、その際に問題になるのが次の二つです。

  • セキュリティ
  • サーバ開発

スマートフォンアプリは当然のことながらインターネット上のデータを扱う前提で作られています。しかし、通常は企業のルータ部には社外からアクセスできないよう、Firewallが立てられています。そのため、毎回VPNを有効にして使うのは面倒でしょう。しかし社内システムにインターネットからアクセスさせるのはセキュリティ上の穴を空けなければなりません。

また、インターネット上からアクセスできるようにするためにサーバをオンライン上に構築した場合、この際にはサーバ開発自体が問題になります。スマートフォンアプリ用にWeb APIを設計し、何からのプログラミング言語で開発しなければならなくなります。

今回はmBaaSをプロキシサーバとすることで両方を解決できる方法を紹介します。

社内データをmBaaSに登録する

まず社内データをmBaaSに登録します。これは業務上必要なデータだけを登録すれば良いので、セキュリティ上のリスク低減にもつながります。mBaaSでは各種プログラミング言語向けにライブラリを提供していますが、サーバサイドでも動くものとしてはNode.jsまたは非公式のRuby/PHP SDKを利用できます。

社外から社内へのアクセスではなく、社内から社外へのアクセスなのでセキュリティ上も問題ありません。なお、この際にはデータは参照系のみになります。

アプリを開発する

データを登録したらスマートフォンアプリの開発に移ります。mBaaSではiOS/Android/Unity/Monaca向けにSDKを提供しています。SDKを利用することでAPIを意識することなく、データストア/ファイルストア/会員管理/プッシュ通知/スクリプトといった機能が利用できるようになります。

独自でサーバを構築し、API仕様を決めるのに比べて圧倒的に速く開発が進められるはずです。

更新データはキュー処理で

参照系データについてはこれで問題ありませんが、場合によってはデータの更新や削除をアプリから行いたいというニーズが出るかも知れません。この場合、mBaaS上のデータはあくまでも社内データのコピーになりますので、mBaaSのデータを更新しても意味がありません。時間が経つと上書きされてしまったり、社内システムとのデータ齟齬が発生してしまいます。

そこで更新や削除についてはその変更内容をデータストアに保存し、社内から定期的にその内容を読み取ることで社内データとmBaaSにコピーしたデータと両方に反映するという方法がオススメです。

これは定期実行になってしまうため即時反映とはいきませんが、定期実行を1分間隔程度で行えば運用上はほぼ問題ない範囲でデータが更新されるはずです。


企業であればCRMやSCM、販売管理、商品管理、在庫管理など様々な基幹システムが使われているはずです。そうしたデータを社外からもアクセスできるようにすることで業務の効率化やスピードアップを図れるようになります。ぜひ社内システムとmBaaSの連携を考えてみてください。

mBaaSでサーバー開発不要! | ニフティクラウド mobile backend