業務システムに使える開発ツールを

■マイクロソフトからVisual Studio 2005が正式に発売になった。Webアプリケーションの開発手法にかなり変更があるというので、今年の夏、2005/07に発売されていた日経BP社のムック『完全解説!Visual Studio 2005 & SQL Server 2005』を購入して試用版をインストールしてみた。
たしかにWebデータベース・アプリケーションの開発は、データグリッドとデータソースの連携がほぼコーディングなしでできるなど、段々と便利にはなってきているのだが、業務システムを構築するのに不可欠な機能がいまだに運用環境と統合されていない。それは認証とログ出力の機能だ。
認証機能については、今回のバージョンでようやくASP.net管理ツールというウィザードが導入され、Webアプリケーション・プロジェクトの任意のフォルダに対して、役割とユーザ名の組み合わせによるアクセス制御がかけられるようになった。
しかしそれも許可か禁止かの制御だけで、業務システムに必要な「システム管理者」「データ更新可能」「データ更新不可(閲覧のみ)」といった、多段階のアクセス制御はコードの中で細かく記述するしかない。
しかも設定した役割やユーザ名は当該のWebアプリケーション・プロジェクトに対してだけ有効で、他の業務アプリケーションと統合された認証基盤というわけではない。あくまでWebサーバのAllow/Denyというアクセス制御の延長線上にあるものでしかない。これでは業務システムの開発に使えないのだ。
また、データ更新や読み取りについてログを出力する機能も、情報セキュリティ要求の高まりから今や業務システムに不可欠だが、コーディングで個別に対応するしかない。
結局、企業が社内で使う業務システムのための開発環境というのは、メインフレームの時代から変わらず、ユーザ管理やログ出力などの運用環境と一体になっていないと極めて非効率なのだ。Visual Studioは業務システム開発に特化した開発環境ではないので、運用環境と分離されているのは仕方ないのだが、これだけバージョンを重ねているのだから、いい加減、運用環境との一体化に本気になって取り組んだらどうなのか。
そういう意味で、僕が某財閥系電機メーカにいたとき、SAP R/3を純粋に開発環境として導入していたのはあながち間違いとは言えない。SAPならデータベースも一種の「組み込み」状態だし、ユーザ認証も運用環境と統合されているし、開発者は業務ロジックの実装に集中できる。
IBMのLotus Notes/Dominoも運用環境と開発環境の統合という理想にかなり近い。ユーザ認証はWebアプリケーションも含めてドミノ・ディレクトリで統合管理できるし、アクセス制御も役割とユーザ名の組み合わせで、行単位まできめ細かく設定できる。あとはデータベース形式がDB2と統合されてリレーショナル型になればほぼ完璧だ。
Visual Studioと.netだけでなく、Eclipseのような開発環境も、Javaの様々な開発フレームワークもPHPも、結局はいかにコーディングを楽にするかだけを追求して、業務システムに必要な運用と開発の統合ということをほとんど考慮していない。そもそもそういう目的で作られた開発環境ではないといえばそれまでだが、運用環境までパッケージングした開発環境を、SAPのベーシスの四分の一くらいの価格で売り出せば、メインフレームやオフコンをリプレイスしたい企業はたちまち食いつくと思うのだが。