問題:CSVデータと(処理時間などの)追加情報。このように異なる2種類のデータをうまく受けとりたい。
CSVデータは通常のResponse.Bodyとして取得すればよいのだが、追加情報はどう渡すか?
X 誤り:追加情報とCSVデータをResponse.Bodyに混在させ、Biz側でまた分割するようなプログラムを作る。
Biz/Browserプログラム初心者ならば、このような作り方をするかもしれない。
しかし、それよりももっとよい方法がある。
Biz/BrowserのhttpResponse ClassにはgetHeader()メソッドがあるので、それを使って、ヘッダに埋め込んで受け渡す。
解答:CSVデータはResponse.Bodyとしてそのまま受け取る。
(処理時間などの)追加情報はGetHeader()メソッドにて受けとる。
このようにすれば、後で仕様変更があって、受け渡すデータが増えた場合でもgetHeader()の処理を1行追加すればよいだけとなる。
ソースの可読性、カスタマイズ対応の柔軟性、全体的なレスポンス
すべてに効率のよい解決策である。
ちなみに、
「追加情報とCSVデータをResponse.Bodyに混在させ、Biz側でまた分割するようなプログラム」
を作ってしまった場合、仕様変更があった場合、
「追加情報1と追加情報2とCSVデータをResponse.Bodyに混在させ、Biz側でまた分割するようなプログラム」
を組まなくてはならなくなり、ソースの可読性、カスタマイズ対応の柔軟性、全体的なレスポンス全てにおいてあまり上手ではない解決策である。
(さらに追加情報があった場合を考えれば自明である...)
Biz/Browser、Biz/Designerはあくまでもツールであり、それを生かすのは開発者である。ゆえに、Biz/Browserの特徴、Classの仕様、3Tierシステムの特性などを熟知した上で、実際のアプリケーション構築をすることが重要になってくる。
何をつかうか(Biz/Browser、Biz/Designerというツールの採用)よりも、どのようにつくるか(アプリケーション構築のノウハウ)で作ったアプリケーションに差がでてくる。
この辺りのノウハウをうまく伝えることができれば、開発者が率先して、Biz/Browser、Biz/Designerをもっと使っていきたいと思うだろう。