テスト用にIISを使ってWebサーバーを構築し、PHPでCGIを記述した。

PHPはの記述がC/C++と似ているのでそれほど困らない。環境変数でPOSTやGETの内容や種類の他、ログに残したい情報なんかが簡単に取り出せるのは大変便利だと感じた。しかし、途中で???という状態に陥った。readlinkなど、link系の命令でエラーが出た。

調べたら直ぐ納得。Windows上(誤解のないよう・・IISを入れているOSであり、ブラウザを介して見る際のOSではない)では動かない命令があるそうなのだ。

そういうのってVBAでもあるが、OSに依存する部分であり、まだ納得できる。しかし、link系の命令はOSに依存するのだろうか?結構使うかと思うのだが、ないのはちょっと・・。使いやすいPHPのデメリットはその点である。linux使えよ、とつっこみが来そうだが臨時措置なので・・。

 

結局、その場は何とかかんとかごまかして実装した。

 

 

さてさて。CGIとしてはPerlがよく使われているらしい。別にスクリプト言語に限らず、JavaやC、Delphiなども利用できるそうだ。PHPのように環境変数の扱いが便利なものもあるだろう。場合によって最適なモノは変わるだろうが、生産性や保守性、安定性、実行速度、消費リソースなどの観点で調べてみたいと思う。

【コミュニケーション 概念 1】


PMの仕事の7~8割がコミュニケーションと言われています。

基本的にプロジェクトでなくてもコミュニケーションは大事です。ここでいうコミュニケーションは人間関係、というものではなく「情報が必要なところに届くか」「届いたことが確認できたか」というものです。


私見ですが、曖昧性を排除することで責任の所在を明らかにする、という役割もあります。私自身「曖昧な部分を排除して承認を得て、それを皆で共有していれば、トラブルは極端に減らせる」という経験をしています。

試験の範囲としては書かれていることになりますが、このプロセスはかなり定性的な要素が多く、定量化しにくい部分がかなりある分野だと考えています。逆に言えば、書かれていることは定量化できた、数少ない部分で、そこはできて当たり前、くらいに考えた方がいいのかもしれません。

実務上は、ここにあるプロセスさえ実施すれば問題ない、というようには考えないでいただきたいな、というのが私からのお願いです。


さて本題に戻ります。

コミュニケーションマネジメントでは

10.1 コミュニケーション計画

10.2 情報配布

10.3 実績報告

10.4 ステークホルダー・マネージメント


が定義されています。


10.1 コミュニケーション計画 (計画)

 簡単に言ってしまうと

  ・いつ、誰が、どのような情報を必要とするのか

  ・その情報を誰がどのように伝えるのか

  ・誰がその記録を持っておくか

 を決めておくことです。

 企業毎にやり方が決まっている場合はそれでもいいのですが、社外と一緒にやるときは予め決めておく必要があります。


10.2 情報配布 (実行)

 ここでは単に配布するだけではありません。収集または伝達された情報を、コミュニケーション計画に則って、必要な箇所に配布する、と考えて下さい。

 

10.3 実績報告 (監視とコントロール)

 プロジェクトの状況の報告、と考えてください。こういう場合で議題に議題に上がるのは「進捗は」というタイム、「費用は」というコスト、そして「問題点は」です。問題点に関しては重要度に応じてリスクマネジメントの対象になるか、別の知識エリアでのコントロールとなるのかはケースバイケースです。


10.4 ステークホルダー・マネージメント (監視とコントロール)

 プロジェクトの内部で片付かない問題である場合、ステークホルダーにエスカレーションして判断を仰ぐ、という局面がありますが、そういう場合のプロセスです。



あるWebサービスに接続するシステムで、社内でテストするダミーのWebサーバーを作らないといけなくなった。

「とにかく早く」ということで、基本はLinuxOS + Apache で構築しているのだが、OSインストールのいらない Windows + IIS で行うことにした。httpでリクエストされるのだから結果さえ真っ当に返れば問題はない。言語が必要になるようだったので、周囲に技術者がいるPHPを選択した。

IISをまともに触るのは初めてであった。バージョンは5.0。まあ、一通り画面をみれば「なんとなく」設定は分かった。

 

ただ、PHPを動かすまでがちょっと大変だった。

・ISAPIパスにPHPの php5isapi.dll を追加する。

・ホームディレクトリの[構成]ボタンから PHP の php5isapi.dll を追加する。動詞は「すべて」とした。

 

このままだとHTTPのrリターンコードが 403 とかで返ってきた。実行権限がないらしい。

ここで必要な設定のところで引っかかったが

・ディレクトリ セキュリティの匿名アクセスおよび認証コントロールの[編集]でユーザーを編集

でOKになった。

今回、「社内で使う何でもありサーバー」なので、ここで表示されているユーザーではなく、自分のWindowsのログインID/パスワードに変えた。もしインターネットに公開するのなら、ここのIDもしくは別途IDを用意し、権限を付加することでできるようになる。そうしないとセキュリティ上の「穴」になる可能性がある。

 

これ、IIS なら Web 経由でExcel VBA をサーバー上で実行することも可能なのかもしれない。