【システム設計】システム間連携のアーキテクチャ


複数のシステムを連携させる場合、連携方法を検討する必要がある。
「システム間連携」の処理方式を4つの基本パターンに分類する。

①リソース共有(データベース共有、ディスク共有)
・データベース共有
ネットワーク経由で、別システムのDBサーバーにアクセスする。
Oracleの場合、DBリンクを利用する。
他のDBMSでも、同等の機能がある。

・ディスク共有
NFS(ネットワークファイルシステム)を利用して、Linux間のファイルを共有する。
→ネットワークを介してサーバ上のストレージ領域を、
ローカルストレージと同様にマウントして使える。

②アプリケーション連携(RPC、Webサービスなど)
システムに外部から呼び出すことのできる「インターフェース(API)」を用意する。
連携する側は公開されているインターフェースを利用して、
システムが蓄えているデータへのアクセス(CRUD)や、ビジネス機能の呼び出しを行う。

③ファイル連携
以下のようなプロトコル、機能、製品を利用して、ファイルを転送する。
・FTP(File Transfer Protocol)プロトコルでファイルを転送する。
・WebDAV(HTTP(S)プロトコル)を利用してファイルを転送する。
・HULFT(ファイル連携ミドルウェアの有償の製品)を利用してファイルを転送する。

④メッセージ連携
データや処理要求などを「メッセージ」として交換することで、
分散システム上で動作する複数のアプリケーションを非同期に連携させる。
非同期のため、一方のアプリケーションの実行状況によって
他方のアプリケーションの実行状況やユーザーの操作が束縛されない。