全1398文字

 言語はそれぞれ固有の技法がありますが、まずは一般化されたパターンとして実装技法を理解することが重要です。代表的なものとして「デザインパターン」があります。広く使われている技法や考え方を会得しておくと、システム設計で役立ちます。

 筆者が多用する一つとして「Publish-Subscribeモデル」などと呼ばれる実装技法があります。この技法は、データ需要側(Subscriber)から、データ供給側(Publisher)に対し、ある状態になったらデータ需要側で定義した処理を起動してもらうように供給側から依頼するものです(図1)。

図1●実装技法のメリット
図1●実装技法のメリット
[画像のクリックで拡大表示]

 この技法を知らないと、供給側の状態によらず、需要側が一定間隔でデータを取得する「ポーリング処理」が必要になります。ポーリングは、データ供給側に負荷をかけます。例えば、定期的にデータベースの状態を確認するために検索処理を実行すると、その都度、DBMS(Database Management System)側に負荷がかかります。

 このように、技法を知っているかどうかで、システムの作り方が変わります。さまざまな技法を知っているほうが、バリエーションが増え、柔軟な設計ができます。

 設計の幅が広がる以外にも効能があります。システムは作り方によって、性能や拡張性、保守性などさまざまな影響が出てきますが、これらの品質を保ちやすくなります。企業向けに作るシステムが趣味で作るソフトウエアと決定的に違うのは「品質が保証されているかどうか」です。機能性だけでなく、性能、拡張性、保守性も保証しなければなりません。

 保証には客観性が伴います。作った本人が「絶対に大丈夫」と宣言するだけでなく、第三者にも保証されていなければなりません。そのため、作り方にも一定の基準が必要ですし、その基準が満たされているかを第三者が確認できるようなパターンが有効です。