weekly news column back number


週刊 IT ニュース&コラム 2002/03/25
Visual Studio .net 発売開始, .NET Framework の提供開始

2002年 3月 22日、マイクロソフトは、次世代の開発環境である、 Visual Studio .net を発売した。ただし、開発環境は、 Windows NT/2000/XP に限定される。.net と 6.0を共存させることも可能。 ただし、アカデミック版とスタンダード版は、4月19日の発売となっている。

Visual Studio .net と Visual Studio 6.0 の最も大きな違いは、 .NET Framework の上で動くアプリケーションが開発できることである。

.NET Framework は、簡単に言うと、開発言語に依存しない JavaVM (バーチャルマシン)といえる。CLR(Common Language Runtime) によって、開発言語やプラットフォームに依存しないプログラムを 1つのバイナリで提供することができるようになる。また、 .NET Framework 上では、悪意のあるプログラムによってパソコン本体を クラッシュさせることが(理論上)ない。 そして、最大の特徴は、 インターネットを介して通信するためのプラットフォームであるということ。 ネットワークにあるデータベースやアプリケーションが、どのプログラミング 言語でも簡単に利用できるようになる。 .NET Framework は、3月 20日に、無料で公開され、Windows98, NT4.0 以降の マシンにインストールできる。

これまで、Windows2000用、Windows98用、Mac用、Java アプレット、 のような区分に、新しく .NET 用というのができることになる。

.NET Framework では、インターネットの相手との通信に、ファイヤー ウォールを通り抜ける SOAPプロトコルを使って、XML形式(HTML のような構文を持った構造化データ形式)のデータをやり取りする。 仕組みはともかく、インターネットを介した取引相手やデータサーバと 協調するようなアプリケーションが、比較的簡単に作れるようになる。 言い換えれば、組んでいるプログラムが、Web サーバにあるかローカルに あるかによってプログラミングスタイルを変える必要はなく、後で自由に 構成を変更することができる。 Visual C++ Standard を除き、Visual InterDev が統合され、 Web(ASP)アプリケーションも作成できる。

最上位エディションでは、オブジェクト指向モデル記述図法である、 UML を使ったビジュアルな開発環境が付く。図作成ツールの定番である、 VISIO をベースにしたもので、プログラミング言語を自動的に生成する。 (厳密に言えば、図から言語に変換する)

.net になり、Visual Basic が大きく変わる。オブジェクト指向を 完全にサポートするようになり、プログラマはオブジェクト指向を 理解していないと、肝心のコードが読めないことが起きる可能性がある。 構文の互換性はあるということだが、使用するクラスやメソッドの 構成が変わっているため、完全上位互換ではないらしい。そのため、 VB6 から VB.net へのコード変換ツールが付く。

Visual Studio.net の発売により、新しい言語 C# のコンパイラが、 ついに発売されたことになる。C# は、Java と構文が似ているが、 .NET を意識して拡張している。Java から C# へ変換するツールが あるので、Java の資産を活用することもできる。

x86 ネイティブのアプリケーションは、Visual C++ でしか開発できない。 Visual Basic では、これまでランタイムを同梱して動くようになっていたが、 そのランタイムが、.NET Framework に置き換わる。Visual C++ では、 .NET Framework のプログラムも生成することができる。

これまで、Webブラウザやメールソフトがネットワークへの入口に なっていたが、Visual Studio.net の登場により、一般のアプリケーションが ネットワークに接続するケースが多くなるだろう。

各エディションの差分をまとめると次のようになる。

■Standard(各言語)
.NET Framework 用プログラムの開発。

■Professional
ASP.NET による Web アプリケーション開発。
Microsoft SQL Server への移植が容易な小規模データベース MSDE2000。
Visual Basic, C#, C/C++最適化コンパイラをすべて搭載。

■Enterprise Developer
Visual SourceSafe。
Visual Database Tools。
Microsoft SQL Server, Exchange, Integration Server, Commerce Server の Developer Edition。

■Enterprise Architect
UML エディタ Visio によるコードの自動生成。
エンタープライズ・テンプレートの作成。
BizTalk Server の Developer Edition。

◇ 関連リンク ◇


週刊 IT ニュース&コラム 2002/03/18
普及範囲が広いオープンソース・モジュール zLib に脆弱性が発覚

Linux や Java で利用されている、ネットワーク圧縮機能のオープン ソース・モジュール zLib が、悪意のあるプログラムによって システムをダウンさせる可能性があることが明らかになった。

この問題は、「double-free vulnerability(ダブル・フリー・ バルナービリティ=二重開放の脆弱性)」と呼ばれており、 パッチをあてる(修正プログラムをダウンロードして適用する) よう勧告している。ただし、そのパッチは、zLib を DLL (ダイナミック・リンク・ライブラリ)として利用している プログラムに対してのみ効果があり、zLib が組み込まれている プログラムに対しては効果がない。

この問題は、プログラムが利用しなくなった特殊なメモリ領域を OSに返すときに、故意にもう一度同じメモリ領域を返すと発生する。 通常、このようなプログラミングをするとエラーになるため、 行わないのだが、悪意のあるハッカーは、そこをあえて利用して ハッキングを行う。(実際は、関連するプログラムの構造も理解 しないとダウンさせることはできない。)

zLib は、主に Linux系OS で使われているが、商用利用可能な 非GPL型オープンソースであるため、Windows 用のプログラムが 利用している可能性もある。 そして、マイクロソフトによると、 Office, Internet Explorer, DirectX などに組み込まれている 可能性があることを認めている。zLib を使っていれば必ず脆弱性 があるとは限らないが、オープンソースを非難しているマイクロ ソフトが、主力製品にオープンソースの部品を使っていることが 明らかになっただけに、攻撃の対象になる可能性が高い。 さらに、zLib を利用したプログラムには、zLib の著作権表示が 義務付けられているが、マイクロソフト製品には、その表示が されていない。(RSA暗号やJPEGなどの著作権は表示されている)

一般に、広く普及しているものには、多くの人の目が通され、 多くのケースで動いているため、バグや脆弱性が少なくなるという 法則がある。そのため、今回の発見は非常に珍しいと考えるかも 知れない。しかし、悪意のあるハッカーは、プログラムが本来 想定していた使い方をしなかったとき、こんな使い方をするとは 考えもしなかったことを行ったときに起きる現象を利用する。

世の中に完璧なものはないと言われるように、完全にバグのない プログラムや、全く脆弱性がないプログラムはないと言われている。 プログラムに信頼性を求めるのであれば、実績やサポート体制を 求める必要があるといえる。

zLib に関しては、OSに対してこのパッチをあて、zLib を利用して いるプログラムを調査して、対応してもらえれば、zLib はさらに 堅牢なモジュールとなり、使われ続けるだろう。 ただし、プログラマは、マスターソースファイルのすべてを更新して、 デグレード(問題の再発)が起きないように注意しなければならない。

◇ 関連リンク ◇


週刊 IT ニュース&コラム 2002/03/11
アップグレード可能な家電用ハードディスクを標準化

2002年 3月 5日、iVDRハードディスクドライブ・コンソーシアムが 設立された。このコンソーシアムでは、AVからPCまで取替え可能な ハードディスクの開発と、アプリケーション・フォーマットと、 コンテンツ保護機能に関する検討を行い、普及活動を行う。 なお、対応機器の発売時期については未定である。

ハードディスクが家電に入り始めている。 ハードディスク・ ビデオ・レコーダーが有名だが、プレイステーション2用 ハードディスク、ハードディスク搭載のカーナビ、ハードディスク 搭載のカメラやデジカメ、ハードディスク・プレイヤー(音楽) も発売されている。

ハードディスクは、大容量であるだけでなく、高速なランダム・ アクセスができるため、機器の性能を上げる効果もある。 そのため、普及し始めているのだが、蓄積したデータを 移動することができないという問題がある。

この問題に対応するため、ハードディスクをリムーバブル・ ディスクにして、物理的に移動できるようにした。

ただ、それだけでは、移動できるようにはならない。 中に入っているデータが、どういった形式で入っているかを 識別し、どこにデータがあるか調べることを、どの機器でも できるようになっていなければならない。

この問題に対応するため、このコンソーシアムで、アプリケーション・ データ・フォーマットやファイルシステムを標準化していく。 ファイルシステムは独自のものになるが、ドライバを提供する ことで、PCでも使えるようにする。

移動できるようになれば、ハードディスクをアップグレード することもできる。ハードディスクの容量は、1年で2倍以上の スピードで増加しているため、10年近くもつ家電においては、 ハードディスクを取り替えることに大きなメリットがある。

標準化ができれば、複数のハードディスクを搭載したホームサーバ という新しい家電が登場するだろう。ATA などのハードディスク・ インターフェイスだけでなく、iLink, USB, 無線LAN, Bluetooth などによって、あらゆる家電とつながる可能性がある。 持ち運びを考えて、2.5インチ以下の小さめのものが使われ、 コネクタ部分はカバーがつけられる。

ただ、移動できると違法コピーの問題が発生する。 この問題に対応するため、このコンソーシアムでは、コンテンツ 保護に関しても検討を行っていく。 コンテンツ保護は強力すぎる と利便性が損なわれる傾向があるが、ユーザが納得する利便性を 確保しなければ普及しないだろう。

たとえば、1つの機器にのみ使えるタイプの保護ではなく、 移動(複製ではない)ができるようにすれば、保存したコンテンツは 永久に使い続けることができるため、そこに保存しようとする気に なるだろう。

また、DVD など売られているコンテンツも保存できなければ、 使い物にならない。この場合は、複数のハードディスクには保存でき ないようにしなければならないため、移動できなくてもいいと考える かも知れないが、そうなるとハードディスクをアップグレードする たびにライセンスを購入しなければならなくなる。やはり、 コンテンツ保護された移動というのが必須だと思われる。

◇ 関連リンク ◇


週刊 IT ニュース&コラム 2002/03/04
日産の社運をかけた新型マーチにカーマルチメディア機能を搭載

2002年 2月 26日、日産自動車は10年ぶりにメジャーチェンジした マーチを発表し、カーマルチメディア・サービス「CARWINGS (カーウィングス)」がすぐに利用できるオプションを用意した。

カーウィングス・ユニットでは、AutoDJ による交通情報の取得や、 携帯電話との接続によるメールの受信ができる。 ただ受信するだけでなく、受信したメールを読み上げる機能を 搭載しているため、運転しながらメールを確認することができる。 操作は、機能ボタンか、ボタンを押した後に作動する音声認識による 発音で、行うことができる。 GPSと連動したサービスが充実しており、 メールの転送先や緊急支援センターに、位置情報を送ることもできる。

カーウィングス・ユニットは、カーナビに比べると小さい画面にも かかわらず、グラフィカルなナビゲーション機能が付いている。 見にくいだろうが、音声によるナビゲーションもできるので、 利用する上であまり問題はないだろう。 地図は、DVD-ROMではなく、サーバからダウンロードする形になっている。 そのため、本体を小さくでき、常に最新の地図を見ることができる。 ただし、最新といっても地図の元データの更新は1年ごとになっている。

カーウィングスは、最近開発が盛んに行われているテレマティクス・ サービスなのだが、ビジネス的にあまり成功していない。 最近になって、カーナビが標準装備になっている自動車が販売される ようになって、土台が出来上がりつつあるのだが、まだ全体的に 端末が普及していない。

未だに自動車における情報端末はラジオなのである。 ラジオの情報量で十分なのかもしれないが、きめ細かい渋滞情報を 入手したり、ふと天気が気になったときにすぐに天気予報を 聞いたりするには、高度なテレマティクス・システムが必要になる。 音声認識を使ってラジオやエアコンを操作するという応用も考えられる だろうが、反応の悪さや、家電のネットワーク化が進まないのと 同じような接続性の問題が、高いハードルとしてある。

テレマティクス・サービスは、ナビもできる、天気予報も聞ける、 地域情報が聞ける、というマルチな考えになりがちだが、一度立ち止まっ てみて、1つ必要な機能を洗練させてみてみたらどうだろうか。 カーナビは、使ったことがない人にとっては必要ないものだが、 使ったことのある人にとってはとても便利なものであるとわかる。 たとえば、音声認識の語彙数を制限して精度を上げ、音声によるラジオ局の 選局が、違和感無く素早く 100%できるというように。

テレビは、どんな情報でも流すことができる。しかし流行り廃りという ものがあるので、ある意味制限された情報を受け取っている。 テレマティクス分野にも、そういったムーブメントが必要なのでは ないだろうか。

◇ 関連リンク ◇