社内・クラウド間データ連携

社内(イントラネット)とクラウド間で、データを双方向に連携します。


Pic 01

社内(イントラネット)とクラウド間でデータを双方向に連携します

テーブル単位でDB間の連携を実施します。
連携するテーブルによっては、条件づけが必要な場合もあります。

クライアント側、サービス側のモジュールを整備し、クライアント側から送信/受信を制御しています。 通信には、SSLを利用しています。

思想の話題

連携テーブルとシステムで利用する業務テーブルは、用途が異なるため区別するべきです。 Pic 01

「連携テーブル」とは、外部のシステムや他のデータベースから情報を受け取るためのテーブルで、一方の「業務テーブル」とは、実際の業務処理やアプリケーションで使用されるテーブルです。

連携するデータは、常に正しいとは限りません。そのため、業務システムから連携テーブルを直接利用すると、想定できないトラブルの温床となってしまいます。

事前に仕様書が提供されていても、カラム名が違う、型が違うなど、現地で発覚することがあります。

また、システム稼働後、連携元のルールが変更されることもあります。
下流側へ通知されず、意図した連携ができずに問い合わせがあり、問題に気付くこともあります。

取り組み方の話題

Pic 01 連携テーブルから業務テーブルへデータを移行する際に、単にデータを転送するだけではなく、データのクレンジング(不要なデータを削除すること)や加工(データを業務に適した形に整えること)ができる余地を残しておくこともポイントです。

「連携テーブル」と「業務テーブル」の二つに分けることにより、データベースには多くのテーブルが存在することになります。
しかしながら、この構成で構築することで、データの品質を高め、より有効に業務で使用することが可能になると考えています。

扱うデータ量やリアルタイム性(同期性)など考慮する点も多々ありますが、データの防波堤を準備しておくイメージがよいと考えています。

まとめ

Pic 01 データを整理しやすくするために、データを受け取るテーブルと実際に業務で使用するテーブルを明確に分け、データを取り込む過程で調整・改善の余地を設けることがポイントです。

インターネットと社内(イントラネット)間のデータ連携がテーマですが、この考え方はシステム間のデータ連携全般に適応可能と考えています。


技術:SSL、データ交換のための「永続化」、DB制御のための「SQL」


範囲:企画、設計、開発、保守