モバイルアプリを自社業務に活用する際、避けて通れない課題のひとつが「社内データベースとの連携」です。営業活動や工場業務、リモートワークなど、場所を問わず必要な情報へアクセスできる仕組みは、業務効率を大きく左右します。
本記事では、モバイルアプリから社内データベースへアクセスするための主な方法と、それぞれのメリット・デメリットについて解説します。技術的な視点だけでなく、セキュリティや運用面にも触れながら、実用的な選択肢を紹介します。
ネットワーク層の違い
社内データベースがどういった状態になっているかによって、対応が異なります。
クラウドサービスを利用している
社内の業務で利用する場合でも、そのデータベースは社外(インターネット上)にある場合です。たとえば kintone や Salesforce といった SaaS を利用している場合や、自社で Web アプリケーションを構築・利用している場合です。
この場合、モバイルアプリを開発する中でネットワーク上の課題になることはほぼありません。ただし Monaca アプリの場合は次の点を満たすと開発がスムーズです。
- API が公開されている(REST、GraphQL など)
- CORS 制限が適切に設定されている、あるいは不要
CORS 制限を回避したい場合は、WebView の制限を受けない cordova-plugin-advanced-http
などネイティブ実装の HTTP プラグインを利用する方法もあります。また、サーバ側で Access-Control-Allow-Origin
ヘッダーを設定するのも一般的です。
LAN の中にデータベースがある
利用したいデータがあるデータベースが社内 LAN の中にあるケースです。この場合、対応として以下の方法が挙げられます。
- VPN を利用する
- リバースプロキシを利用する
- インターネット上にデータをコピーする
- ファイアウォールに穴を空ける
VPN を利用する
VPN はスマートフォン OS が標準機能として備えており、VPN を有効にすると VPN サーバーを経由して社内ネットワークに安全に接続できます。近年はゼロトラスト・SDP(Software-Defined Perimeter)など VPN 代替の仕組みも登場していますが、依然として広く使われています。
ただし、モバイルアプリから 直接 データベースへ接続するのは現実的ではありません。端末ごとに接続を張ると数が膨大になり、接続管理が難しくなるため、データベース接続を集約する API サーバー(後述)が必要です。
リバースプロキシを利用する
リバースプロキシは、社内のアプリケーションサーバーを外部公開する際に利用されます。大きく二つの方式があります。
- クラウドトンネル型(ngrok、Cloudflare Tunnel など)
- 社内で小さなエージェントを起動し、クラウド側がリバースプロキシとなる。
- 従来型 DMZ 配置型(Nginx、Apache など)
- DMZ にプロキシサーバーを置き、社内サーバーへ中継する。
メリットはファイアウォールに大きな穴を開けずに済むこと、必要なときだけ起動できることです。デメリットは、社内でプロキシソフトウェアを運用する負荷がある点です。この方式でもモバイルアプリが直接データベースへ接続するわけではありません。
インターネット上にデータをコピーする
社内データベースから、アプリで利用したい情報だけをインターネット上のサービスにコピーする方式です。mBaaS(後述)などを利用する際によく選択されます。
基本的に「社内 → インターネット」の一方通行とし、インターネット側で更新した内容を社内 DB へ戻すような双方向同期は、システムの複雑性が大きく高まるため慎重に検討してください。
ファイアウォールに穴を空ける
基本的には推奨されません。特定 IP からのリクエストのみ通すなど細かな設定は可能ですが、同様の要件であれば VPN やリバースプロキシのほうが安全性・柔軟性ともに高いケースが多いです。
利用できる技術
API
モバイルアプリがデータベースへ直接多数接続するのは管理が難しいため、API サーバーで接続プールを集約するのが一般的です。
代表的な API 形式は次の二つです。
- REST API – URL と HTTP メソッドでリソース操作をシンプルに表現。
- GraphQL – API 層のクエリ言語/ランタイムで、裏側のデータソース(RDB、NoSQL、REST など)を意識せずに複雑なデータ取得・更新が可能。
mBaaS
社内データベースをコピーして利用する際に検討したい技術です。mBaaS(mobile Backend as a Service)は、認証・データベース・ストレージ等を一括提供するサービスで、多くはモバイル OS 向けの SDK を用意しており、開発コストを抑えられます。
一方通行でデータを投入する場合は構築が容易ですが、mBaaS 側で更新したデータを社内 DB に反映する場合は同期ロジックと競合解決の実装工数が増える点に注意してください。
代表的なサービス:
SaaS
SaaS も mBaaS と似ており、同じように利用できます。kintone や Salesforce の API へ社内データを流し込むイメージです。加えて、CData のように多数のデータコネクターを提供し、クラウド上にデータレイクを構築できるサービスもあります。
オープンソース・ソフトウェア
社内基準に合わせつつ柔軟に運用したい場合、セルフホスト型のオープンソースを活用する選択肢もあります。近年は公式クラウド版を併せて提供するプロジェクトも増えており、運用負荷を抑えた導入も可能です。
- Supabase(オープンソース mBaaS)
- Parse Platform(セルフホスト型 mBaaS、公式クラウドはなし)
- Hasura(PostgreSQL に GraphQL API を追加)
- PostgREST(PostgreSQL に REST API を追加)
- Directus(データベースをヘッドレス CMS 化)
まとめ
社内データベースをモバイルアプリから利用する方法は、要件やセキュリティ基準によって最適解が変わります。最もシンプルなのは「VPN + API サーバー」で、閲覧専用なら mBaaS にコピーして認証を組み合わせる方法も有効です。
リモートワークや工場・営業拠点からのアクセス需要が高まる昨今、社内データベースをモバイルアプリから安全に扱えるようにすれば、生産性向上につながるでしょう。ぜひ、貴社の環境に適した方式を検討してみてください。