現在、EAI (Enterprise Application Integration) やWebサービスなど、技術の進歩により、システム間のデータ連携への取り組みが進められています。
システム間のデータ連携については、古くからIT業界では大きな課題として存在していました。
汎用系のホストシステム(メインフレーム)主流の時代から、WindowsやLinuxサーバなどのオープン系の時代に移り変わるとともに、ホストからサーバへのデータ連携が必要とされました。
その後も独自のシステムを保有する企業にとって、新しいプロダクトの登場に合わせて、旧来のシステムと新システムの間でのデータ連携は常に頭を悩ませる問題として立ちはだかってきたといっても過言ではありません。
今回はそんなデータ連携とはどういったものか、なぜシステム間のデータ連携が必要とされているのか、データ連携が抱える問題などについて、ご紹介していきましょう。
データ連携とは
データ連携を大まかに説明すると、複数のシステムやサーバの間で利用するデータをどのように共有し、それぞれのシステム、サーバに受け渡し、処理して利用できるようにするか、そのための手法や仕組みのことを指します。
この際、データの扱い方や保存形式も違う複数のシステム間でデータをどう共有し取り扱うかが大きなポイントとなります。
データ連携が必要な理由
複数のシステム間でデータ連携が必要となるケースには様々なものが考えられます。
たとえばビジネス環境の変化やグローバル化に対応するため、企業の統廃合や合併、業務提携などにより、それまで別々に保有していたシステム間で処理を連結させなくてはならなくなるケースなどが考えられます。
また、利益率や経営効率を上げるため、大企業の部署間やグループ企業間で別々に管理していたシステムを連動させることで、連結決済や業務の標準化などによる経済効果を求める動きも加速してきています。
また、古いシステム(レガシーなシステム)を使い続けてきた企業が、新しい技術に対応すべくシステム更改へ向けて、その過程として、旧システムと新システム間でのデータ連携を必要とするケースなども多く存在しています。
データ連携の課題
それぞれ独自のシステムを保有している企業にとっては、それぞれのシステムに合わせた専用のデータ連携の仕組みが必要となります。
このような汎用性の低い独自のデータ連携の仕組みは、システムやサーバの組み合わせの数だけ必要となり、規模の大きなシステムやシステムの連携が複雑・煩雑になればその分煩雑かつ非効率になり、より手間やコストがかかるという問題を抱えてしまいます。
データ連携の仕組みをサポートするため専用のミドルウェアを導入し、その煩雑さを解消したとしても、サーバ・システム間でデータフォーマットが違うことが前提であり、その違いを吸収する仕組みが必要となるため、依然として課題が残ることになります。
ETLなどによりデータフォーマットの違いを吸収した場合、今度はまたデータ連携の煩雑さという課題に戻ってしまうというジレンマが存在するのです。
データ連携を容易にするためには
データ連携を実装する方法としてはEAIを代表とする、データ連携ツールを使うという方法があります。データ連携を支援するツールは数多く存在しており、上手に活用することで効果を得ることができるでしょう。
また、データをクラウド化する方法もあります。
クラウドを提供しているサービスにはデータ連携のためのAPIを提供しているところもあり、それらを活用することも一考の価値があります。
しかし、一番重要なのはそのデータ連携の要求するものを正確に把握し、適切な方法を選択することです。場合によっては簡単なバッチ処理やストレージによるデータ共有が有効な場合もあります。