Biz/Browserと.NETでのシステム構築 〜Biz/Browserと.NETはベストパートナー!?〜
第3回
株式会社ディー・ティー・ピー 佐藤関也
8.異なる2つの開発ツールを使っても合計の開発工数が下がるワケ
実のところ2007年ぐらいからこの.NET+ Biz/Browserという組み合わせを選択される方が増えてきているように感じます。
筆者のところにも2005年に執筆した.NETWebサービスとの連携の記事について複数社から問い合わせがありました。
さて、開発工数の話ですが、第1回で話したとおり、.NETテクノロジーのみで開発する場合には様々なパターンが考えられます。
そこで今回はASP.NETAJAX で作る場合と、.NETWebService (asmx) + .NETClickOnce(WPF)で作る場合の2パターンを、.NET+ Biz/Browserと比較してみます。
今回作ったような「サルでも分かる超簡単シナリオ」(以下サルシナリオ)ですと、
(1)ASP.NETAJAX の場合、画面の作成、特にAJAXっぽい動きをさせるためには、非同期処理をすくなからず作成する必要がある。また結局はHTMLのため、ブラウザの制限を受ける。
(2).NETWebService + .NETClickOnce(WPF)の場合、WebService側はサルシナリオとまったく同一。ただしClickOnce(WPF)は、.NETとはいえ既存のWinFormとは違うので、WPFに習熟する必要性とWPF内でサルシナリオのBiz側と同様の作り込みが発生する(かつWPF等は非同期推奨なのでコード量は多くなりがち)
ということになるため、ロジックと画面を.NET+ .NETで作ったとしても開発工数はBiz/Browserよりも多くなります。
少なくとも、サルシナリオでつくったコードよりも少ない工数(コード数)で記述できるものはありません。

第1回目の冒頭でも言いましたが、.NETよりもBiz/Browserを選択するのは、
Biz/Browserのレスポンス、開発の容易さ、実績
の3つが業務アプリを構築する上で.NETよりも優れているからです。
[サルシナリオの3つのコート、それぞれの役割]
・ ASP.NETWebサービス: WebServiceBiz.asmx
サーバ側のロジック本体
・ Biz/BrowserCRS:soaplite.crs
クライアント側のSOAP通信部分(クライアント側ロジック)
・ Biz/BrowserCRS:WebServiceForm1.crs
クライアント側の画面UI
またサルシナリオで作ったように、それぞれのコードで役割を明確化して書くことによって、自然にレスポンス、開発効率ともに良くなります。
9.まずは疎結合の3階層システムを意識しよう!
.NET+ Biz/Browserのシステムを構築する場合、必ず疎結合のシステムになるということを意識しなければなりません。
Biz/Browserの黎明期(V1〜V3)には、サーバ側でBizのCRSスクリプトを生成して返すというBiz/Browserのパッケージを見たことがありますが、サーバ側はあくまでロジックで処理した結果のデータをBiz/Browserに返すという処理にとどめるべきです。
サルシナリオの場合でも、サーバ側はクライアントがBiz/Browserであろうが他のソフトであろうが関係がありません。
Biz/Browser側も同様に、サーバは単にWebServiceという認識ですので、.NETであろうがJavaであろうが関係なく処理できるようになっています。
(DataSetは.NETに固有の考え方なのでXMLレスポンスの解釈は変える必要があります)
また、Biz/Browser側でsoaplite.crsという汎用パッケージを使いましたが、サーバとの通信処理は似た処理の繰り返しになることが多いため、クラス化やパッケージ化を検討したほうがよいでしょう。
また、Biz/BrowserはWindows98以降の全てのWindowsOSで動作します。
(Windows7では公式的にはまだ検証されていませんが、下図のように動いています)
Biz/Browserで開発するアプリは必然的にOS依存部分が少なくなるため、検証工数が少なくなるのもメリットの一つかも知れません。

10.Biz/Browserは時代遅れ?
最後に、Biz/Browserの将来性ということに言及しておきます。
RIA技術としては、
- Silverlight (Microsoft)
- Adobe AIR (Adobe)
- Java FX (Sun → Oracleに買収)
- Biz/Browser(Axissoft)
があります。(2007年9月寄稿の「Rich
Internet Applicationの最新事情」を参照)
この中でも今後はSilverlightがシェアを拡大するであろうと予測されます。Biz/Browserよりもはるかに多くの市場シェアをSilverlightは獲得するでしょう。
ではいまさらBiz/Browser、Biz/Designerを採用して使っていくことは無駄になるのでしょうか?
しかしよく考えてみると、Biz/Browser以外の他の4つのRIA技術はまだ発展途上にあります。
ということは、例えばSilverlightの現バージョンで開発したとしても将来の新バージョンで追加される機能の恩恵は受けることが出来ません。
特に業務アプリケーションの世界では5年、10年使い続けることが当たり前なのでむしろ枯れた技術を使うことも多くあります。
そういった意味において、Biz/Browserは安定した現バージョン(XE、2005年6月〜)で開発するメリットは大きいでしょう。
またBiz/Browserの10年の歴史の中での実績、ノウハウがかなりありますので、これからBiz/Browserを始めようとする人にとっては、ハードルの低い開発ツールと言えます。
これまで3回にわたって論じてきたように、.NET+ Biz/Browserは決して
でこぼこコンビではなくむしろ相性のよいパートナー
といえるでしょう。

(第3回終わり)

