子宝どっとこむ

 

 ☆A社の事情

これまで、基本的にPHPモジュールでプログラムをぶった切って部品化する、という流れで説明をしてきました。部品化することで得られる恩恵(再構築時間の短縮、ディスク容量の節約、ソースの単純化)が大きいからです。

しかし、一方で複数サイトを運営するようになると部品化のし過ぎが障害になる場合もあります(ちょっと大げさですが)。ファイルの数が増える分サイトの追加作業が負担になるわけです。追加作業はソースの長短よりもファイルの数(カット&ペーストの回数)が影響しますからね。

そこで、もう一度、PHPモジュールとテンプレートモジュールについて考えてみたいと思います。

PHPモジュールもテンプレートモジュールも使わなかった時代というのは、工場で家一軒作って、完成した家を現場まで運んで設置するというのに似ています。

A社は家を工場で作って現地では設置するだけの事業を行なっています。

家一軒作るのでマニュアルは膨大でしょう(冗長なプログラムソースとなります)。そして現地まで運ぶのは非常に大変です(再構築時間がかかります)。三車線ぐらいの大きなトラックとのろのろ運転。しかも、家一軒作るわけですから工場のスペース(作業場、在庫保管場所等)も十分確保しておかなければなりません(ディスクスペースも無駄に消費します)。

メリットは現地での作業がほとんどないということです(ブラウザでの読み込みは早いです)。注文したら明日にも引越したいというユーザーの利便性を満たすことができます(1秒以内に表示させたいせっかちなネットサーファー向けというわけです)。

ここで、とりあえず、テンプレート・モジュールを導入することにしました。マニュアルの分割です。

工場内で、それぞれ部署を設け、各部で作ったものを組み立てて、完成した家一軒を出荷する、というやり方です。各部はそこで必要とされるマニュアルだけが配布されるので、(スッキリしたプログラムソースとなり)人為的なミスは減りました。しかし、出荷は相変わらず大変ですし(再構築時間に変化はありません)、工場スペースの節約にはなりません(ディスクスペースの節約にもつながりません)。

次に、A社はPHPモジュールという革新的な技術を知りました。工場で作るのはパーツで、それを運んで現地で組み立てる、いわゆる現地工法です。

これは革命です。これまでは道路のすいている深夜でしか運搬できませんでしたが、3トントラックあたりでも運べてしまうので、昼夜を問わずいつでも運べ、運行速度も上げられます(再構築時間が格段に早まります)。

家一軒を保管しておくよりもパーツで保管した方が工場スペースは有効に使えます(ディスクスペースの節約につながります)。PHPモジュールでもマニュアルはパーツごとに分割されていますので読みやすいです(シンプルなプログラムソースが実現できます)。しかし現地で組み立てますので、少しだけユーザーに負担をかけます(PHPプログラムを多用するかどうかによりますが、ブラウザの表示時間は長くなります)。引越しは数日待ってもらう必要があるでしょう。

そこで、味をしめたA社では、パーツの分割化を極限まで行なおうという提案がなされ、採択されました。しかし、問題が露呈してきます。組み立てにどんどん時間が掛かるようになってきたため、ユーザーからのクレームが遅かれ早かれ来そうです。また、部品化しすぎてマニュアルは簡便になりましたが部署が増えすぎて組織が複雑になってしまいました(増えすぎると今度はモジュール管理が大変になります)。

A社は分割のしすぎを反省し、無駄な(極端すぎる)分割をやめる方向に軌道修正しました。

こうして、A社は事業が軌道に乗ってきたため、アメリカにも工場を作ろうと計画します。アメリカでうまくいけば各国でも工場を作ろうと計画しています。しかし、そちらの工場でも同じような複雑な組織を作らないといけないことが、事業拡大のネックになっていることに気がつきました。すっきりした組織が求められているわけです。また、各国ごとにマニュアルを配布してしまうとメンテナンスに苦しむだろうと予期していました。

そこで、A社はもう一度、基礎に戻って、テンプレート・モジュールとPHPモジュールとをよく検討してみることにしました。

テンプレート・モジュールはマニュアルを分割するだけです。つまり、各国の工場に配布することができます。一方、PHPモジュールの場合はパーツまで一気に作ってしまいますので、MadeInUSAの文字とか、現地販売台数を特定できる連番などが刻まれています。つまり、パーツを本社一箇所においておくというのは、現地情報を含まないパーツに限られるわけです。

そこで、A社はテンプレート・モジュールを採用しなおし、マニュアルをインターネットで閲覧できるようにして、マニュアル管理だけでも楽をしようと計画しました。つまり、テンプレート・モジュールのファイルにリンクファイルを設定することです。

しかし、その時、現場の社員が声を上げました。
「テンプレート・モジュールのファイルにリンクファイルを設定するのを、PHPモジュールに応用できるのではないですか?」
よく考えれば簡単なことでした。インデックス・テンプレートにもアーカイブ・テンプレートにもリンクファイルの設定ができることに気がついたのです。これまで、何気なしにみていたリンクファイルの設定に一躍脚光が浴びせられたのです。

A社は『リンクファイルの有効活用』というプロジェクトを立ち上げることにしました。その報告は次回で。

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

コメント用フィード