A System Cannot Run Alone. Every Server Has a Role Some time ago, I was involved in supporting the development of a financial system and helped introduce a system used in London into Japan. One thing left a strong impression on me. I realized that connecting systems and getting people to work together are, fundamentally, very similar. The London system was not simply one huge program. It was built by combining many servers, each with its own specific role. One server received data. Another processed that data. Then another server passed the processed results to the next system. Each server was simply performing its own role. But that alone does not create a system. Only when each component follows the defined rules and connects properly can the entire system begin to operate as one financial system. Being Connected Is Not Enough This is where system integration becomes difficult. It is not enough to simply connect two systems. What data should be transferred? When should it be transfer...
システムは、一人では動かない。 一つひとつのサーバには「役割」がある 以前、私は金融システムの開発サポートに携わり、ロンドンで使われていたシステムを日本へ導入するプロジェクトをサポートしていました。 そこで強く感じたことがあります。 それは、 「システムを連携すること」と「みんなで協力すること」は、本質的には同じなのではないか ということです。 ロンドンのシステムは、一つの巨大なプログラムだけでできているわけではありませんでした。 多くのサーバを組み合わせ、それぞれが異なる役割を持っています。 あるサーバはデータを受け取り、別のサーバはそのデータを処理する。そして、処理された結果をさらに別のサーバへ渡していく。 一つひとつのサーバは、自分の役割を果たしているだけです。 しかし、それだけでは一つのシステムにはなりません。 それぞれが決められたルールに従い、正しくつながることで、初めて全体が一つの金融システムとして動き始めます。 「つながっている」だけでは、動かない ここで難しいのが、単純にシステム同士をつなげればいいわけではないことです。 どのデータを渡すのか。 いつ渡すのか。 どのような形式で渡すのか。 エラーが発生した場合はどうするのか。 どちらのシステムが正しいデータを持つのか。 それぞれにルールがあります。 そのルールが一つでも合わなければ、データは正しく連携できません。 そして、データがうまく連携できなければ、個々のシステムが正常に動いていても、全体としては一つのシステムとして機能しない。 ここが、システム連携の難しいところです。 金融システムだけを見ても、多くのサーバが連携しています。 そして、本当の難しさは、その外側にあります。 社内だけでは、金融システムは完成しない 金融システムは、そのシステムだけで完結するものではありません。 社内のWebシステム、通知システム、決済システムなど、周囲にあるさまざまなシステムとも連携しなければなりません。 さらに、その先には社外のシステムがあります。 ここが、さらに難しい。 社外のシステムは、自分たちが管理しているわけではありません。 それぞれ別の会社が管理し、それぞれの事情やルールがあります。 そのため、自分たちのシステムを変更するだけでは解決できないこともあります。 「この部分を変更していただけませんか」 「こ...