活動報告



● 第72回セミナー(セミナー企画委員会主催)実施報告

 日 時:1998年5月26日(火)13.30〜17.00
 場 所:アビリティガーデンホール(錦糸町)
 参加人員: 76名
 テーマ:「Javaで開発するWindowsアプリケーション」
 構 成:
  第1部 「MicrosoftのJava戦略」
       マイクロソフト株式会社 ソリューションデベロッパー事業部
       デベロッパー製品部 テクニカルエバンジェリストグループ
       課長 寺田 雄治 様
  第2部 「Visual J++ 6.0概要」
       マイクロソフト株式会社 ソリューションデベロッパー事業部
       デベロッパー製品部Visual J++プロダクトマネジャー
       鈴木 祐巳 様
  第3部 「Visual J++ によるCOMの利用方法」
       マイクロソフト株式会社 技術支援本部 デベロッパーサポート部
       Visual Toolsサポートグループ
       小松 誠 様

 今回のセミナーは、新しい会場である錦糸町のアビリティガーデン(生涯職業能力開発促進センター http://www.ab-garden.epc.go.jp/)で開催されました。 JRの錦糸町駅から近く、新しい建物にある4Fホールには、ほぼ定員近く会員各位が出席しマイクロソフトの3講師による「Javaで開発するWindowsアプリケーション」をご聴講いただきました。

新会場のアビリティガーデン


アビリティガーデンホール

 第1部では、寺田講師から(1)Javaとは何か、(2)Javaの内包する問題点、(3)マイクロソフトのスタンス、と大きく3つに分けた説明が行われました。
寺田講師

 (1)ではプログラミング言語としてのJavaは、優れた言語仕様(C++と同等のパワー、C++よりもポインターの廃止などによりシンプル)、ガベージコレクションのサポート(メモリリークの回避)、マルチスレッディングなどの機能を持ち、マイクロソフト社内比では30〜200%の生産性向上が見られる。プラットフォームとしてのJavaは、インタープリタ(バイトコード形式のアプリケーション)、Virtual Machine(VM)による解釈・実行、サンドボックスによるセキュリティ(ローカルリソースへのアクセス制限)などの機能によりVMさえあればどこでも動作できる。
 (2)では、「パフォーマンス」、「クロスプラットフォーム」、「VM」、「動作保証」の4点が内包する問題点であるとそれぞれについての説明がありました。特に「クロスプラットフォームの問題」としては、プラットフォーム毎にクラスライブラリが必要であり、最大公約数的な機能となり、プラットフォームの進歩に追いつけない(終りのないマラソン)、VM間の整合性が必要、とのことです。また、「動作保証の問題」としては、誰もクロスプラットフォームを“保証”することはできない、全プラットフォーム・全VMでのテストは事実上不可能であり、最終的にベンダーは動作保証を確認したVM上での動作しか保証できない、とのことです。
 続いて、Microsoftは何故JavaをサポートするのかというMicrosoftのスタンスのお話では、ユーザーメリットの尊重(既に多くのJava AppletによるWebページが存在する)、優れた言語仕様、Microsoftは言語に対して中立(C/C++やBasicと同様にJavaを扱う)、Windows DNAフレームワークにフイット(COMのコンポーネントを作る上でJavaは優れている)の4つの事項に言及されました。MicrosoftのJava戦略としては、最高のJava実行環境(VM)を提供する、言語間連携の実現、JavaによるWindowsアプリケーション&COMコンポーネント開発の推進(ソフトウエアベンダーの開発効率向上、パートナー各社とのリレーションシップ)を行う、ことである。
 最後に、クロスプラットフォームに現実味はない、Microsoftは最高のJava実行環境を提供するOSベンダーであり、Java言語のメリットを最大限に生かすツールを提供するツールベンダーである、と結ばれました。

 第2部では、鈴木講師から3月中旬にWebページでサービスが開始されたVisual J++ 6.0 Technology Preview 1を元に、新しいVisual J++の概要の説明がありました。配布のCD-ROM「Visual J++ 6.0 Technology Preview 1(英語版)」で確認のテストをして欲しいとのことでした。

鈴木講師

 Javaの特徴、MicrosoftのJava戦略、Visual J++の軌跡の説明に続き、高速性と高機能を備えたWindowsアプリケーションを構築するWindows Foundation Classes(WFC)、J/Directを基礎技術としたWFC、VJ6は生産性の高い開発環境であり、統合開発環境はVisual InterDevと同じになった(フォームデザイナ、高機能エディタ、先進的なデバッガ)、データベースサポート(WFCでのサポート、既存APIを利用した全てのデータにアクセス可能)、サーバーサイド開発(中間層で動作するビジネスオブジェクトの構築)に最適、単純化された開発環境(Web開発、柔軟なパッケージ選択、簡略化されたファイル配信)と、多岐にわたる説明がありました。J/Directの利点は、高速性(OSサービスに直接アクセス)、機能性(全てのOSサービスが可能)、生産性(ネイティブコードラッパー不要)の3点である。デモンストレーションとしては新しい環境を中心に行われました。デモは配布CD-ROMと同じ内容で3つの選択(アプリケーション、コンポーネント、J/Directの機能)が可能とのことで、それぞれについて行われました。
 最後に、「Java言語をサポートしたVisual J++とWFCの組み合わせ」は、(1)RAD環境による高い生産性、(2)Windowsプラットフォーム完全対応、(3)DHTMLサポート、(4)簡略化されたアプリケーション配信、と結ばれました。

 第3部では、小松講師からJava言語のメリットを生かしたCOMコンポーネント(Active Xコントロール)の作成・利用方法から、DCOMコンポーネントの作成方法までをソースコードによるデモを交えながら説明いただきました。

小松講師

 “JavaとCOMは相性が良い!!”という例を(1)COMからJavaが利用可能、(2)JavaからCOMが利用可能、(3)JavaでCOMが作成可能、の3つに分けた説明がありました。
 「COMから使うJava」では、『IEのクライアントサーバーでActiveX Scriptを用いてJava Appletのメンバー関数を使用』例をJava AppletとHTMLのソースコードを並べての説明が、「Javaから使うCOM」では『既存のOCXをVisual J++上で使用』、『既存のオートメーションも利用可能』、『VBからの書き換え』の3つの例での説明が、また「COMになるJava」では『Visual J++6から新規プロジェクトでCOM DLLが作成可能』ということで、COM DLLになるJavaソースコードの説明がありました。
 JavaでCOMを利用するメリットとしては、「COMは言語に依存しない技術だが言語により向き・不向きの部分はある」、「Javaはクラスの拡張・実装をextendsとimplementsで分けることによりCOMのインターフェイスの実装を解りやすくする」、「変数変換やメモリ管理などはVMが引き受ける」の説明のあと、Javaを使ったメリットの例として分散環境、トランザクション処理についての具体的な例を示しながらの説明がありました。分散環境の説明では、2台のPCをつなぐさまざまな方法があるが一番簡単な方法はCOM/DCOMを使うことであると、またMTS(Microsoft Transaction Server)を利用すれば簡単に分散環境を作ることができる、との説明がありました。トランザクション処理では、銀行の出金・送金システムを例にとりMTSを利用すればネットワーク上でのトランザクション処理が実現できると、添付された約80ステップのサンプルプログラムによる説明が行われました。

 ここで、ご出席の皆さまからのアンケートをご紹介いたします。
 第1部では、「MS側のJavaについての考え、今後の戦略などが理解できた」2件、「MSのJavaに対するスタンスが明確でよかった」2件、「クロスプラットフォームの現状がよく理解できた」、「VJ++6.0の方向性とJava戦略の方向性が分かった」、「MSの考え方が良く分かった。しかしクロスプラットフォームはユーザーのメリットが大なのである。OSメーカーだからといって独善に落ちるのではなく、ユーザーオリエンテッドな対応を望む」、「Javaに対してクロスプラットフォームをあまり意識しない方がいいということが分かった」、「MSのスタンスはVJ++6.0リリースで大きな変更はないようだがJava自身が今後どう進化していくか、いまだ不明なのでその点の説明が欲しかった」、「MSの戦略でJavaのすばらしさが失われるとすれば、非常に残念である」、「“MSのOSベンダーとしての立場”という部分では非常に有用である」です。

 第2部では、「技術的な内容でとても良かった」、「VBと似た操作性で分かりやすいと感じた」、「今後のコンパイラーの選択において有用な知識がついた」、「VJ++6.0というプロダクトの特徴がよく分かった。製品版リリースが楽しみである」、「デモも分かりやすくて良かった」、「新製品のVJ++6.0を発売前に見れたこと、また一部ながらも機能が見れたのがよかった」、「今後のVJ++の方向性がある程度明確に提示してあり、有用であった」、「Javaの不便な点(開発時)がよく対応できている」、「この部分だけをもっと時間を使って説明して欲しかった。デベロッパー(プログラマ)にとって最も興味があるのはここだと思う」、「J/Directのデモは興味深かったがDHTMLなどのデモも見たかった」、「VBライクなGUIになり非常に使いやすくなったように感じる。ただ従来のJavaアプレットの作成が弱い気がする」、「Windowsに特化したアプリの作成がしやすくなっているようだが、あえてVC++から移行するほどのメリットがあるのかな、という印象がする」、「エディタ、クラスブラウザは今まで見たJava開発環境の中で一番使いやすそうである。JFCのサポートがないのが残念」です。

 第3部では、「デモがとても興味深かった」、「具体的な説明で分かりやすかった」、「ソースを多用したのが分かりやすかった」2件、「COMがこんなに簡単に作れるのには驚いた」、「実際のデモを見ながらの説明は良かった」、「今回のVJ++の機能の一つであるCOMの使用、作成方法を学べ、また、Javaとの連携もプレビューで見ることができ良かった」、「COMとJavaの親和性についてよく理解できた」、「ランゲージ間のインターフェイス、ネットワーク上でのインターフェイスとしてのCOMの有用性がよく理解できた」、「実行、実用に際して有効である」、「COMを作成する場合はJavaが良いかどうか疑問である」、「COM→Java、Java→COMについて利用できるのは分かったが、その利用方法は面倒であると感じた」です。

 セミナー全体では、「技術的な内容が多く、非常に参考になった」3件、「全般的に良いセミナーであった」、「デモ等が多く、とても分かり易かった」、「Java/COMについて理解を深めることができ非常に役にたった」、「MSの考え方がよく分かった」、「全体としてまだ新しい技術であるJavaの開発ツールの一つとしてVJ++6.0を見れて有用な一日であった」、「MSのJavaに対するアプローチが良く見えた。Sunとの訴訟中とのことでJDK 1.xxからソースがないためJFCなどのサポートは現状ではできないみたいだが、将来的にサポートし、より使いやすいJavaを作ってもらいたい」、「VJ++の位置付けが不明。ビジネスとしては手を出しにくい」、「VJというプロダクトは今までのJavaと大きく性格を異にしている。良い意味で『JavaにしてJavaにあらず』という感じでしょうか」、「Javaに関してはどうも方向性が見えてこないので、どうしたものか迷ってしまう。言語としては興味があるが…」、「ツールの出来はいいが、Javaからはずれる面が多いように感じる」、「もう少し突っ込んだ話を聞きたい」、「VJ++でアプリを作成して、ブラウザからデータ入力および照会できるようなデモ、あるいは開発手法を提供して欲しかった」です。

 今後希望するセミナーとしては、「Win98、NT5.0、VJ++6.0製品版のセミナー」、「Windows CE2.0のリアルタイムOSとしての機能について」、「COM、DCOM、OPC、ASPに関するもの」、「ホームページ作りの現状」、「ActiveX関連」、「NT5.0アプリケーション、ドライバの開発方法」、「今回のようなソフト開発のセミナー」です。

 ご要望、ご意見としては、「今回のような実務者向きの内容のものを希望、若いメンバーも参加させたいので」、「MSの製品ラインおよびWindowsに係るISV、IHVの製品等多岐にわたり非常に広範囲になり、勿論テクノロジーベースでも非常に広くなり、セミナーで取り上げる内容の選択も難しくなってきたが、その都度新しいトピックを取り上げていくのが良いのではないか。今回は色々な意味で面白かった」、「これまでメインフレーム、C++、COBOL、UNIXを利用してきて、Javaについてはほとんど知らなかったのでとても参考になった。今後も機会があれば参加したい」、「今回初めて参加したが、内容も分かりやすくよかった」、「セミナーについてのヒストリーなどをホームページで公開したら如何?」です。沢山のご意見をいただきありがとうございました。
 なお、本セミナーでお配りしましたCD-ROM「Visual J++ 6.0 Technology Preview 1(英語版)」が僅少ありますので、ご希望の方は事務局にE-mail、FAXにてご連絡ください。


Contents         Windows Consortium ホームページ