[ObjectDay2001特集]
.NETアーキテクチャとXMLフレームワーク技術の今後
ObjectDay2001 レポート
by クニマサ
プロローグ |
.NETアーキテクチャとXMLフレームワークというタイトルのこのセッション。
セッションの開始前に講演者であるマイクロソフトの萩原正義さんと名刺交換する機会がありました。ちょっと名刺を見てみると、萩原さんの肩書きが「シニアテクニカルエバンジェリスト」。当セッションの司会者であるI嵐さんが「いやー、俺絶対にかむわ」とつぶやいていました。さて実際にセッションの開始前司会者より、講演者の紹介がありましたが、
「それでは、シ、シニアテクニカル、エ、エバ、エバンジェリスト・・・」とやっぱりかんでいました。ですけど、会場の殆どの人は「まぁ、しゃーないな」と思っていたのではないでしょうか?ちなみにこのエバンジェリスト、意味は「巡回説教者」だとか。なるほど。
.NETとは |
さて、本セッションのタイトルにもある「.NET」、最近雑誌の表紙などで目にすることの多くなったこの言葉ですが、マイクロソフト社の次世代インターネット戦略であるMicrosoft.NETを発表して以来「.NET」がつく多くの製品や用語が登場しているようです。それらをいくつか取り上げると
Microsoft.NET構想を実現するためのインフラ。
.NETフレームワーク、.NET Enterprise Servers、ビルディングブロックサービスの3つの構成要素と、それらの上位層でサービスを統合するために存在するオーケストレーション、最下層に位置するオペレーティングシステムより構成されます。
Microsoft.NETで導入されるアプリケーション実行環境。プログラムの実行エンジンであるコモンランゲージランタイムを最下層、ベースクラスライブラリ、Webサービス、ユーザインタフェースなどを中間層、そしてVB、Managed C++(Microsoftが独自拡張を加えたC++)、C#などのプログラミング言語を最上層として構成されています。
ちなみにサードパーティーによる.NETフレームワークへの対応はCOBOL、Eiffel#、Smalltalkなどが予定されているようです。
.NETプラットフォームのバックエンドを支えるサーバ製品群。BackOfficeファミリと総称されたマイクロソフトのサーバ製品群のうち、エンタープライズシステムのWeb対応にフォーカスしたサーバ製品の集まり。
ソリューションのコンポーネントとして利用できる各種のWebサービス。アプリケーションに対してサービスを提供するまとまり。
.NETとJava |
.NETというとよくJavaと比較されることが多いようですが、実際本セッションにおいても、「.NETのランタイムとJVMの役割はよく似ている」と明言されていました。
Javaはオブジェクト指向の技術であるのに対して、.NETはサービス指向であるとその思想の違いもしっかりとアピールされていました。サービスの形態のひとつとしてインターネットの標準技術を応用したWebServicesがあります。それらのWebServicesの呼び出しは、XMLのメッセージのやり取りにより行われます。
現在すでに利用されているWebServicesとしてマイクロソフトが運営するユーザ認証サービス「Passport」があります。
ですが、一方で「オブジェクト指向と、サービス指向とが同レベルで対立する概念ではない」という意見もありますし、実際のところ先日サンフランシスコで開催されたJavaOneにおいて、サンがJ2EEによるWebサービスのサポートを明らかにしていました。
Javaの実行方式は、基本的にはコンパイルにより中間コードであるclassファイルを生成し、JVMが解釈しながらプログラムを実行します。一方.NETでは、コンパイラにより中間コードが生成された後、JITコンパイラによりCPUに対応したネイティブコードにコンパイルされます。
JITコンパイラは最近Javaでも取り入れられている技術ですが、.NETのJITコンパイラでは、全てのコードを一気にコンパイルするのではなく、呼び出すメソッドごとにコンパイルしてCPU資源の浪費を防ぐという機能を提供しているようです。(Smalltalkの実装系の1つであるVisualWorksでは、すでに提供されているという情報あり)。
さらに、.NETのJITコンパイラは以下の3種類が用意されています。
standard-JIT:実行速度の最適化
econo-JIT:最適化無し、コンパイル時間を短縮
pre-JIT:インストール時にstandard-JITを使用してコンパイル
エピローグ |
そんなこんなであまり内容のあるレポートは書けませんでしたけど、セッションに参加された皆さんは、マイクロソフトの.NETに対する意気込みを感じたのではないでしょうか。そんな自分は早速Microsoft .NET FrameworkSDKを入手して、C#を触ってみたりしています。果たしてこの.NETの将来は如何に?
© 2001 OGIS-RI Co., Ltd. |
|