データ連携の現在・過去・未来
過去の歴史を振り返り、クラウド時代のデータ連携を知る
日本の企業にとって、クラウドコンピューティング(以下、クラウド)の本格活用は始まったばかり。そのため現時点では、スタンドアロン(クローズドなクラウド)で活用するサービスやアプリケーションをどう使いこなすかということに目が奪われてしまい、アプリケーション間のデータ連携にまで考えが及ばないかもしれません。
しかし、これまでの企業情報システムの歴史を振り返ってみれば、データ連携をベースとしたアプリケーションの統合が必然的な要求事項であるということは間違いありません。
企業システムがクラウドという新しい進化を取り入れ、その投資価値を最大化するためには、「オンプレミス-クラウド間」をはじめ、「クラウド間のデータ連携」、「クラウド-パッケージアプリケーション間」を有機的に統合させるデータ連携の仕組み(オープンなクラウド)が必須となります。
この連載では、「エンジニアとして知っておきたい、クラウドデータ連携の基礎知識」というテーマで、データ連携のこれまでの歴史を復習するとともに、米国におけるデータ連携の事例なども交えながら「クラウド時代に求められるデータ連携」のノウハウや手法をエンジニアの視点から解説していきたいと思います。
「クラウドにおけるデータ連携を実現したい」、あるいは「有効に機能させたい」と考えているエンジニアの方々にとって、少しでも役に立つ情報を提供できればうれしく思います。
さて連載の第1回ですが、データ連携の基礎知識として、クラウド以前のデータ連携、アプリケーション統合技術を振り返り、クラウド時代のデータ連携に求められる課題について考えてみたいと思います。
データ連携の変遷 | メリット | 課 題 |
---|---|---|
紀元前 |
アプリケーション間で直接データのやり取りをするので、仕組みが簡単。 | 個別にデータ連携の仕組みを開発する必要がある。「データ連携のスパゲティ状態」を招いてしまう。 |
第1世代 |
疎結合なデータ連携を実現。 | データ解析、変換部分は作り込む必要がある。 |
第2世代 |
アプリケーションは連携する相手を意識する必要がない。 | コンセプトは優れていたものの、技術的には成熟していなかった。 |
第3世代 |
データ連携を意識せずにアプリケーションレベルでの統合が可能。 | 実装するための技術やフレームワークが確立されなかった。SOAに対応できないアプリケーションへの対応が困難。 |
第4世代 |
APIなど、連携の仕組みがあらかじめ用意されている。 | 個別の連携を重ねていくと「スパゲティ状態」になってしまう。 |
図1:データ連携の変遷 世代間のマトリクス表 |
データ連携の紀元前~第1世代(ミドルウェア時代)
そもそもデータ連携やアプリケーション統合という概念が広がったのは、1990年代の初頭、EAI(Enterprise Application Integration:エンタープライズ・アプリケーション統合)と呼ばれるツールが提供されるようになってからです。しかし、少しややこしい話になりますが、私自身、EAIはこの次に説明する「データ連携の第2世代」※1にあたると考えています。
※1:世代の呼び方は、筆者が考えた区分です。一般的な区分や考え方とは異なる場合があります。
すなわちEAIの登場以前にも、複数のシステムやアプリケーションを導入している企業において、アプリケーション間のデータを連携させる取り組みは実践されていました。
その最も単純で分かりやすい仕組みが、直接データのやり取りをするという方法で、アプリケーション同士はとても「タイト(厳密)」な関係を保ちながら連携をすることになります。
私はこのような手法が主流だった時代を「データ連携の紀元前」と呼んでいます。なぜなら、アプリケーション同士が、1対1で直接通信をするための専用のシステムを開発すれば済むので、考え方はとても単純なのですが、アプリケーションの組み合わせの数だけ連携の仕組みを開発・運用しなければならないので、手間と時間、コストがかかり、あまりにも煩雑な仕組みとなってしまうからです。
このようなデータ連携の煩雑さを解消するために登場したのが、特定のアプリケーション同士の連携をサポートするミドルウェアです。
特にデータ連携ミドルウェアが実現した仕組みで重要かつ画期的だったのは、MOM(Message Oriented Middleware:メッセージ指向ミドルウェア)という手法です。MOMはキューを通じてアプリケーション間の通信を実現します。そのため、連携するアプリケーション同士が直接通信する必要がなくなり、これまで「タイト(厳密)」な連携でしか実現できなかったアプリケーション間の結合関係を「ルーズ(ゆるい)」な疎結合(Loose Coupling)の関係を実現しました。
このようなミドルウェアの登場は、データ連携における最初のイノベーションでしたので、私はミドルウェアが主流となった時代を「データ連携の第1世代」と呼んでいます。