たまにPMBOKを絶対視し、その定義に合うか否かという議論になることがある。これは、意味のある議論なのだろうか?
諸説あるようだが、バイブル、つまり聖書は2,000年くらい内容が改訂されているわけではなく、これからも変わることはないだろう。勿論、解釈が変わることはあるだろうが。

ところがPMBOKはどうか?有用なことは多く書いてあるが、改訂されているし、今後も改訂が進められることになっているので、進化するものなのだ。


PMBOKはいくつかの例外を除いて、あまり細かいことまでは書いていない。例外としてはEVMなど、計算式があるものである。

それ以外は「自分たちでプロジェクトで合うように考えろ」というスタンスなのだろうと思う。日本人は真面目なのでその通りにやろうとするが、アレンジしようが、他に考慮することを追加しようが、一向に構わないのである。

目的は何か。プロジェクトを成功裡に導くことではないのか?ならば、あまりこだわりすぎない方がいい。少なくともPMBOKに関しては原理主義者はいらないと思う。



現在、Javaの解析と修正に携わっている。これがもの凄く綺麗に「アスペクト指向」で書かれている。それをつい昨日まで「Seasar」だと思いこんでいた・・。マヌケである。それだけ知識がなかったのだ。言い訳になるだろうが、そこまでJavaの言語仕様が変わる(というより追加になっている)はずがない、という固定概念があったのだ。そう、ActionScriptというFlashやFlexの言語仕様ががらっと変わっているにもかかわらず、である。

 

さて、そのアスペクト指向であるが、これに精通しているエンジンアはどのくらい居るのだろうか?

オブジェクト指向は20年くらい前から雑誌でいろいろと取り上げられてはいたが、10年前でもまだまだ技術者は少なかった。当時はまだJavaがサーバーサイドで使われるケースも少なく、C++がオブジェクト指向の代表格であった。本格的にJava が普及してようやくオブジェクト指向が根付いてきた感がある。そのくらい時間がかかっているのだ。

アスペクト指向も、オブジェクト指向ほどではないにせよパラダイムシフトである。これが普及するにはあと5年くらいは時間がかかるだろう。そう考えても「まだまだアスペクト指向を使えるエンジニアは数少ない」だろう。

 

せっかくだからアスペクト指向も覚えてやろうと思う。

PostgreSQLに付いている便利なpgAdmin。本当はローマ数字で3が付くの。

これを使ってSSHサーバー上にあるPostgreSQLに接続したのだが、結構面倒くさかった。

 

まず概念。

 

サーバー内ではデフォルトなら5432番ポートで稼働している。通常ならこれにそのままつなぎにいけばいい。

しかしSSHの場合、デフォルトで22番ポート。普通に考えれば無理なのでは?と思うのだが、迂回することで接続が可能になる。

・クライアントとサーバーの間の「道」を作る。

 この道は蛇の道ではなく、正規のもの。つまり22番ポートを使っての道を確保する。ポートというと分かりにくいなら、「通常は国道5432号を通るのだが、今回は国道22号線を通る」というイメージで捉えた方が分かりやすいかも知れない。クライアント側にSSH対応の通信ソフトを入れて接続する。

 私は PuTTY というフリーソフトを使った。

・アプリケーションにその22番ポートを認識させる。

 <クライアント側>

 Pgadmin に22番ポートを認識させようとしても、対応していないのでダメ。どうするかというと、SSH対応の通信ソフトの「ポートフォワード(ポートフォワーディング)機能」というものを使う。トンネリングとも言われる技術だ。やることは「Pgadmin からの接続を受け付け、22番への抜け道を作ってやる」ということをしてくれるのだ。Pgadminでは任意のポート番号(例えば5433)を指定する。SSH対応ソフトでは「その任意のポート(例えば5433番)を別のポート、この場合はSSHの22番ポートに変換する」という設定をする。そして実際にその接続を起動するのだ。

 <サーバー側>

 PostgreSQLが暗号化されたポートからのリクエストも受け付けるよう設定変更をするのだ。設定ファイルを書き換えてデータベースを再起動する。 

 

 日本語のサイトではサーバー側の設定を書いていなくて時間が掛かった。接続できたときは「よっしゃ!」と嬉しくなった。概念を理解すれば腑に落ちる。後付であるが、先に理解できていたらもっと早くできたろう。

 

 場合によっては証明書が必要であったりもする。そこは今回やっていないので・・。

 そのうち画像、概念図、ファイル名などを加える予定である。