(3).NETとJavaの得意領域が違う
.NETとJavaには,それぞれ得手不得手があり,どちらかが一方的に優れているとは言い難い。「.NETは簡単なアプリケーションを短期間で構築するのに優れているが,複雑なアプリケーションに対する実績は無いのでまだ評価できない。Javaは.NETの裏返し」(野村総合研究所 情報技術本部生産技術部上級テクニカルエンジニアの福島栄二氏)である。
アプリケーションの実行環境を比べてみると,Javaの場合,アプリケーションの実行に必要なトランザクション制御などの機能は,Webアプリケーション・サーバー製品が提供する。対する.NETの場合は,同様の方法ではないがWindows 2000 Serverや.NET Frameworkなどが提供する。
現時点での.NETとJavaの違いは,開発を支援するフレームワーク製品の充実度にある。J2EE(Java 2 Platform,Enterprise Edition)対応のフレームワーク製品は数多くあり,既に一部で部品の流通も始まっている。フレームワーク製品は必須のものではないが,特に大規模なアプリケーション開発においては開発ツールだけで構築するよりも開発生産性が向上しやすい。大規模なアプリケーションの開発環境は,現時点では.NETよりもJavaの方が充実している。
メッセージ・ベースの開発を支援
.NET対応のフレームワーク製品と呼べるものは,今のところ東芝テックの「CrossMission」くらいだ(図2[拡大表示])。同製品は.NET Frameworkの機能を補完するミドルウエア機能と,その上で稼働するアプリケーションの開発支援ツールからなる。ミドルウエアとしての機能はメッセージの受け渡しやデータ変換,状態管理――などの機能を提供する。「VS.NETはユーザー・インタフェース部の開発機能に優れているが,ロジック部の開発機能は弱い」(東芝テック 流通情報システムカンパニー大仁事業所技術管理部技術企画担当技術管理主査の平野和順氏)ため,主にロジック部の開発支援機能を提供する。同製品をベースとしたアプリケーション開発は,Javaのフレームワークと似た開発スタイルになる*2。
(4)ファイル転送をSOAPに代える
.NETの特徴の一つは,Webサービス技術を使ったアプリケーションの開発支援機能である。既にVS.NETと.NET FrameworkにWebサービス技術を取り込み,現時点でWebサービスの開発ツールとして最も充実した製品の一つと言える。
ただし,そもそもWebサービス技術が企業システムにどのようなインパクトを与えるかがよく分かっていない。まずは,それを見極める必要がある。例えば.NETの導入を決めたクボタや稲畑産業は,今後Webサービス技術を活用していく。両社は,社内やグループ企業内のシステム間連携,または,BtoBでのシステム間連携にWebサービス技術が有効だと判断した(図3[拡大表示])。
クボタはファイル転送で行っているシステム間の連携部分と,アプリケーションの一部機能を利用するためのモジュール呼び出しの部分でWebサービス技術を使う。
ファイル転送による連携の置き換えは,具体的に人事システムで利用する計画である。仕様変更のたびにプログラムの手直しが必要なファイル転送によるシステム間連携をWebサービス技術で置き換えることができれば,各業務システムが必要とするデータを必要な時に取り出せるようになると考えている。
一方稲畑産業は,企業間のシステム間連携に,Webサービス技術を適用した。これまで電話やファクシミリで行っていた作業を一部システム化した。複数の企業が関係するため,ネットワークにはインターネットを使いたい。「電話のような問い合わせをシステム化する場合,EDIのような重い仕組みではできない。RPCが向いていると思うが,DCOMやCORBAはインターネットで使えない」(稲畑産業 IT推進室室長の新井貴久氏)。このような経緯で,Webサービス技術のSOAPの採用に至った。
このように,2社が注目したのはWebサービス技術のうちSOAPとWSDLのみ。UDDIの適用は考えていない。限られた範囲ではあっても,Webサービス技術が有用だと判断すれば,.NETのその点のメリットは評価に値するかもしれない。