レガシーシステムとオープンシステムは何が違うのでしょうか?さまざまなモダナイゼーションに関連する記事や資料を調査すると、中にはオープンシステムの対義語としてレガシーシステムがあるイメージで書かれたものも見受けられます。
この両者の明確な定義は難しいのですが、オープンシステムの逆は、例えば特定のソフトウェアベンダーの独自の仕様で外部連携や応用が効きにくいなどのクローズドなシステムで、レガシーシステムで無いことは確かです。その証拠に1990~2000年代にかけて作られたレガシーなオープンシステムはモダナイゼーションの対象として良く話題に上がり、リプレース案件としてはメインフレームやオフコンのモダナイゼーションより遥かに多いという事実があります。
レガシーシステムはそれを発展させる技術基盤の進歩が止まり、アプリケーションが硬直、非効率性を増長させ、応用が利かなくなったものであり、オープンシステムもその対象となり得るのです。

IBM iはその長い歴史の中で、その時代時代におけるオープンシステムのアーキテクチャを実装、進化を継続している基盤ソフトウェア(ハードウェアはPower Systems)です。例えば、Client Server System(C/S)、Common Gateway Interface(CGI)、Service Oriented Architecture(SOA)、Representational State Transfer (REST)などのアーキテクチャやスタイルは時代に合わせて実装しています。
REST API化を更に本格化するためには、モノリシックなシステムを機能視点で分割と共通化することが必要であり、例えば一つのプログラム内で印刷とデータベース更新を実施していた場合、機能分割と他のプログラムから分割された類似機能との共通化が理想です。

このことにより、マイクロサービスで構築するシステムのメリットであるアプリケーションの可搬性、柔軟性の向上や管理の自動化を享受できるようになります。
ただ、モノリシックな作りにもメリットがあります。分割した外部モジュールが少なければモジュール間の通信も少なく、高速な動作が可能です。要は適材適所で、ウェブサービスで活用されないプログラムまでマイクロ化することは無いということです。

続きは下図をクリックください(ZDNetサイト)