統合開発環境:Java WorkShop


 第2回ビジネス・インターネット委員会セミナー(7月15日開催)における米国SunSoft社 のMasahiro Honda様による講演内容を紙上で紹介いたします。

by Dr. Masahiro Honda

<SunSoft,Inc. Director,Application Development Environments Developer Products>

Masahiro Honda様

 

 SunSoftの本拠はカリフォルニア州マウンテンビューにあり、私はSunSoftの開発プロダクト部門のディレクターを務めております。
 SunSoftは、Sun MicroSystemsのビジネスユニットになっており、ソフトウェア製品の開発を旨としております。 SunSoftが出しております主な製品群としては、Solaris OS、Enterprise Managementシステム、またWorkShopソフトウェア開発環境です。SunSoft Developer Productsの部門は、SunSoftの社内にあります三つのProductsグループのうちの一つであり、WorkShop製品を手がけております。今日の私の発表では、このWorkShopの中から二つ、「Java WorkShop」と「Internet WorkShop」を取り上げてお話申し上げます。

<Javaパラダイム>

 先ず導入ということでありますが、業界のトレンドがどういうものになっているのか、特にJavaが世の中に出まして、またインターネット技術といったものが市場に導入されるようになって、これがコンピュータ業界のトレンドにどういう影響を及ぼしてきたかということを見てまいりたいと思います。また、同時にこの開発のニーズというのが新たなトレンドによって生まれてきたと思うわけですが、SunSoftとしてどういった形でこれに貢献していくのか、特にJavaの開発分野と、それからより一般的な話ですがインターネットテクノロジーという分野でのSunSoftの取組みについてもお話申し上げます。
 Javaが世の中に導入されましてから、一年位経つわけですけれど、コンピューティングプラットホームのあらゆる側面に多大な影響を及ぼしてまいりました。JavaのバーチャルマシンをOSの一部にコンポーネント化してバンドルすることにより、主なOSというのはほとんどJava対応になってまいっております。また、ブラウザとしましては、Netscapeにしろ、HotJavaにしろ初期の段階からJavaを取り込むということで対応させております。また、SunではこのJavaバーチャルマシンを直接実装するということでチップの開発を行っています。
 こういったことがさまざま起こるに至りまして、いわばJavaで開発されるアプリケーションのためのJavaプラットホームが整備されてきた、といっていいと思います。
 さて、こういった形でJavaに対する開発者の皆さんの関心というのが大きく高まってまいりました。おそらく、今日の段階でJava関連の開発者の人口というのは50万人位に達していると思います。しかも、これはJavaが出てこの一年以内にこれだけ増えたということで、また今後もどんどん増えていくと思われます。

● イントラネットの開発

 Javaに対する関心といいましても、二つに分けることができると思います。さて、その一方が「イントラネット」という即ち、大手企業内のFirewallの内側にありますネットワークのことです。イントラネットの開発者ということになりますと、従来型の情報システム部門 MISのいわゆる開発組織の中の開発者ということになります。いわば大手企業の情報システムの設計と実装に関しましては経験も積み、また技術も持っている人達です。こういった所はネットワークを最大限に活用するということで、既存のシステムの拡張を図っていくことになるでありましょう。
 また、いわば情報システムをサポートしていくための既存のインフラストラクチャの中でそれを活用していくという手段に出てくると思います。これらのシステムの中に大体、企業の重要なデータというのは格納されておりますので、いわゆる既存システム(レガシーシステム:Legacy System)との統合というのが大変重要になっています。システム内に格納されているデータというのは、今まであった場所から他へ動かすということは中々できないからです。レガシーシステムとはいいましても、今日の段階では単にメインフレームのシステムだけではなくて、最近C++で書かれたものまでレガシーシステムの範疇に入ると考えられています。
 このようなイントラネットの開発者というのはいわば従来型の2階層型のシステムを拡張しまして、これを多階層型の分散システム(N-tieredと呼んでいますが)に拡張しようとしています。
 さて、これらの開発作業ですが、チームワークということでWorkグループで行われていること、また、ユーザー達もWorkグループを構成してこれを使っているというのが一つの側面です。また、これらの企業内システムというのは「認証」あるいは「暗号化」といったようなセキュリティの分野というのも大変重要視されています。
 企業内情報システムの基礎といたしましてWebを活用しようという企業の関心がますます高まっています。とくにその中でも彼らの企業内の情報システムの基礎としまして、やはりJavaを活用していくことによって実践しようとも思われているようです。
 この「イントラネット」という分野において企業内の情報システム部門 MISの開発者達が何故Javaに関心を持つのか4つほど理由があると考えています。
 まず、このJavaの言語の側面を見てみますと、今までのC++でありますとか、第3世代言語が抱えていたさまざまな難点を解消しているという点があります。例えば、C++とかその他の第3世代言語を使いますと、どうしてもそのバグの発生源に成りがちであった点、即ちダイナミックなメモリアロケーションとか、或いはポインターを使ったプログラム開発、こういったものがJavaでは取り除かれています。よって、C++ でプログラミング作業を行うとどうしても難点にぶつかってしまったと、人々が認識を始めた段階で、まさにグッドタイミングでJavaというのは世の中に出たと思います。
 二つ目の理由は、Javaによりますとクライアントはユニバーサルになるということです。これは何を意味するかということですが、Java Appletを作りますと、それはJava対応のあらゆるプラットホーム上で走らせることができるということですから、いわば固有の何かクライアントのプラットホームに縛られることなく、開発者や或いはMISの部門などは自由にこれを運用することができるということです。
 そして、三つ目の理由ですけれど、企業内のアプリケーションに対するWebでのアクセスが可能になることです。Javaとそれから適切なクライアント/サーバーの通信用コミュニケーションのフレームワークを組み合わることによりまして、企業内の広範なアプリケーションに対してアクセスが図れるということです。これは、いわばWebページからJavaアプレットを出すことによりまして、アプリケーションのアクセスを可能にするということです。 CGIビンなどのスクリプトよりもより広範な機能がこのJavaの採用によって実現できます。
 最後の四つ目の点でありますけれど、Javaでもってクライアントのコードを書く、そしてサーバーから実行時(Execution Time)にそれをダウンロードすることによりまして、サーバーで集中的にこのクライアントコードのインストールと管理が可能になります。もし、Javaを使わなければ(これが将に今日の状況なのですが)、こういったクライアントコードをそれぞれクライアント全数上で管理していかなければならないという煩わしさになります。ということは、クライアントコードを常に最新のものにする、或いはサーバー側のコードと常に同期化が図れるということで、こういったものもサーバー側にクライアントコードを置いて管理することによって、この運用管理が容易になったということになるわけです。
 イントラネットの部門でもJavaに関心が持たれる主な四つの理由というのは、大体以上と私はお聞きした中から見ております。

● インターネットの開発

 次に「インターネット」でありますが、これは将に「イントラネットのスーパーセット」であるという見方ができると思います。さて、この分野での開発者達でありますが、さまざまな背景を持った方々であるといえるでしょう。いわば、スキルのレベルで見てみましても、本当の初心者から天才といわれるほどのかなり熟達した人々まで多種多様です。
 また、インターネットの開発者が対象としているインフラストラクチャーでありますが、これは日々非常にダイナミックに変遷をとげつつあるもので、毎日のように新しい技術が導入されたり、或いは新しい機能といったものが追加されたり、古いやり方といったものを駆逐してしまうという世界です("What's Hot, What's Not")。さきほど古いやり方、方法といいましたが、この古いといっても数週間とはいわないまでも、数ヶ月前のものが古いということです。ですから、今日話題の中心といえるものが明日になれば、もうそれほどでもないということが起こりうるわけです。
 さて、またアプリケーションの幅を見ましても大変多種多様でありまして、いわゆるマルチメディアとかゲームといったようなものから、インターネット上のインターネットコマースといったものまであります。また、こういったアプリケーションのユーザーに関しましてもいわゆる個々人の場合もありますし、さきほどイントラネットの世界で出てきたWorkグループといったようなものまであります。また、セキュリティの重要度でありますが、インターネットコマースをなさるような方には大変重要な問題になりますし、或いは趣味の一環でやっているような人達にとってはセキュリティは全く何ら問題にもならない多種多様にわたっております。ですから、ここではWorld Wide WebのWWWでなくWild Wild West(荒野の西部)といったような様相です。

● 新しいWeb開発者達

 

 この分野におけるディベロッパーというときには、プログラマにとどまらないその域を越えた人達がいるわけです。この中にはもちろんプログラマといわれる人達もいますけれど、非常に多岐にわたるコンテンツの開発者といわれるような人達まで入っています。その例といたしまして、Webオーサーといわれるような人達が入ってくると思います。プログラマというよりは出版のプロといえる人達です。その上にありますのが、いわゆる従来型のプログラマに相当するであろうと思われるWebディベロッパーと呼ばれる人達です。
 WebオーサーとWebディベロッパーが作り上げた内容に対して更に付加価値を付けるような人達が右上にありますグラフイックアーチストです。また、Webマスターと呼ばれる人達が右下に書いてありますが、これもまた開発者の一員と数えていいと思います。即ち、Webのサイトを管理したり、監視したり、というような人達です。

● 多岐にわたる大きなニーズ

 

 Webの開発者に対するニーズでありますけれど、これも大変多岐にわたっています。いわゆる従来型のプログラミングだけでは十分ではありません。また、いわゆるプログラミングのプロですとか、技術的な人間だけではなくて様々な人達がこのテクノロジーを使うということですから、いわばコンポーネント開発環境が非常に使い勝手が良いものではなくてはならない“Easy of Use”が求められます。また、アプリケーションの導入でありますとか、その前の開発の段階におきましても、いわばWebのアプリケーションの管理、こういった項目も開発環境の中に求められるものであります。
 さて、この管理という要件に対しては先程も申しましたようにJava本来から中央で、サーバーの方で管理ができるという特性をもっておりますので、この管理性については良好だといえるでしょう。
 いくつか左側の方にあげておりますのは、やはり従来型のプログラミング環境でも求められてきた要件であります。しかし、右に挙げております上から四つ、例えばApplet Publishingでありますとか、Siteの管理、HTMLのEditingまた、Javaとレガシーシステムの統合(Java to Legacy)、こういったものは新しい要求要件ということでJavaの登場によって初めて生まれてきたともいえると思います。
 これだけニーズは多種多様、また広範にわたっているということでありますけれど、Java WorkShopはこれに対応する特性を持っています。まず、プロといえる企業内の開発者に対しまして一連の洗練されたツールセットを提供しております。

● SunSoft開発製品の付加価値

 94年、95年の「UNIX Review」の中で私どものVisual WorkShop製品は年間最優秀製品ということで賞を受けました。これはC++の開発をサポートするということで、「Visual WorkShop for C++」と呼ばれている製品です。いわゆる企業内の基幹業務系のアプリケーション(Mission Critical Application)の構築に際して、大企業で今日採用いただいているものです。
 インターネット/イントラネット両方に対しましてJava WorkShopの優れたツール群を私どもWorkShop Productグループの方では提供しております。これは既存の私どものC++対応製品群の中で提供されているものであります。その経験をもとに出しております。

● Web開発者達

 Webのアプリケーションを開発している特にコンテンツ関係のディベロッパーに対しまして、基本的な開発環境「SunSoft Java WorkShop」を提供しております。 また、エンタープライズ、企業内の開発者に対しまして特に彼らが抱えるニーズに応えるという意味で「SunSoft Internet WorkShop」提供しております。SunSoftのJava WorkShopもその中に含まれておりますけれど、特にエンタープライズ向け、企業内の開発者のニーズに応えるという部分を追加しているのが、Internet WorkShopです。

< Java開発ツール ― SunSoft Java WorkShop >

● 開発の新しい方法

 SunSoftのJava WorkShopに関しまして、いくつかハイライト的なポイントを押さえてまいりたいと思います。
 初期のバージョンからこのJava WorkShopをリリースいたしますと大変ご好評をいただきました。これはIDC(International Data Corporation)の方がおっしゃった言葉の引用ですが「SunSoftのJava WorkShopの導入によっていわば今までのアプリケーション開発ツールというのが技術的に全て陳腐化してしまった」と述べています。まあ、これはある意味では誉めすぎと思うのですけれど、このことが何を意味しているか、これがWeb Metaphorという所に集約できると思います。

● Web上でのWebのための開発

 さて、Web Metaphorというものですが、これはJava WorkShopのGUIということで、これがWebページの一連のWebページに相当するということを意味しております。ということは、このディベロッパーのアプリケーションを使う人達と全く同じLook and Feelがこのディベロッパーが使うユーザーインターフェイスで提供されているということになります。ディベロッパーが設計しているもの、そのものがディベロッパーの使うものと同じであるということです。
 また、このWeb MetaphorはWebスタイルという形で提供されておりますので、これによってURLを使うことができる、例えば開発のリソースとか、こういったものを使うことにより分散型の開発のニーズをサポートしております。

● Web Metaphor

 Web Metaphorというものは、即ちあらゆるのディベロッパー、いわばプロの熟練したプログラマといわれる人達から技術的な人間ではないコンテンツの開発者などにも親しんでいただけるものです。
 また、容易なアクセスを実現するためにJava WorkShopではHTMLリンクを採用いたしまして、情報と開発環境とを結んでおります。例えば、ソースエディタをもってこれらのリンクはコンパイラーのエラーメッセージとソースコードの間のリンクを取るとか、またソースコードの中のソースのラインがありますけれども、ソースブラウザーのマッチによりまして、マッチングができるということはリンクが張られていることになります。
 また、さまざまなヘルプファシリティからナビゲートする形でリンクが取れるようにオンラインヘルプファシリティといったものも提供されてます。

● 迅速で容易な開発のためのVisualツール群

 このような環境でさまざまな要素を実装するにあたっては既に皆さんが知識をもって使い慣れているWebページ、Webリンクが提供されているということが強みです。
 また、Visual Javaと呼ばれるツールもJava WorkShopに入っています。この最初のリリースではVisual GUIビルダーが入っていました。将来的なリリースにおきましては、Visual Applicationビルダーを搭載していこうと考えております。
 で、これは予め構築されておりますコンポーネント、これらが含まれているものでして、そこからアプリケーションの開発あるいはビルドを容易にしていこうと構想されたものです。 また、Java Beansというコンポーネントもサポートしております。また、これも将来のリリースということになりますがHTMLのエディティングの機能も提供してまいります。コンテンツのディベロッパー、いわゆるプログラミングの作業とは異なる開発をなさっている方のニーズを満たすためです。

● 高度に統合されたツール

 先程申しましたWeb Metaphorですが、これを採用することによりJava WorkShopツール群がいかに高度な形で統合されていることが分かると思います。
 ビルドマネージャを使いますとコンパイラのエラーメッセージからソースエディタの実際のソース上のラインをリンクすることができます。こちらでクリックすれば、今指し示した所に画面が移るということで、Webページ上のリンクをたどっていると同じ状況が示されます。

● 再利用のツール

 Java WorkShopの中でも重要な要素となりますのが、Portfolio Managerです。このPortfolio Managerを使いますと開発者達は自分達が開発したコンポーネントを他の開発者達がその開発者領で使う時に、いわば共有できるというものであります。例えば、JavaのプログラマがAppletを一つ作ったと、これはダイナミックなグラフイック対応のものであったとします。そうしますと、またWebページを別で作っているグラフイック アーチストといわれる開発者がこれを利用できるということです。
 Portfolio Managerというのは、このようにいわばAppletを開発した人達がそのAppletを他の人達が使えるようにパブリッシュする、というその部分を担います。また、その他のコンポーネントをパブリッシュいたしまして共有するときにも、このPortfolio Managerを使います。「その他」というふうに申しましたけれど、これには例えばJavaクラスのパッケージとか、HTMLのイメージ、GIFファイル、こういったものです。
 ということで、 Portfolio Managerというのは完全にWeb対応という形になっています。その中に入れましたコンテンツというのはURLを使ってWeb上で共有できます。

● Java WorkShopの特異性

 Java WorkShopのもう一つの特長ですが、完全にJavaだけで書かれているという点です。それなりに理由はあるわけですが、まず私たちが如何にJavaに対してコミットしているか、またJavaに対する信念を持っているかという証であります。また、Java WorkShopというような形でJavaを使って開発を行いますと、Javaそのものを更に強化できるということです。Javaの使い方を先ず覚え、慣れ親しみ、そしてより複雑なJava WorkShopというものを構築していくということです。
 また、一つのインプリメンテーションを作ればマルチプラットホームの製品として提供することができるという点もあげられます。全てのプラットホームに対してコードは全く同じであります。よって私どもが最初に対応しておりますプラットホームとしては、Solaris SPARC、X86、Windows95、WindowsNTです。同じ環境でMacintosh対応もできるのですが、Macのバージョンのサポートが遅れているのは、まだMac環境上でのテストが終了していないという点にあります。しかし、他のプラットホームと同じくインプリメンテーションとしては、全く同一のものをMacでも実現しております。

● Java WorkShop1.0の特長

 Java WorkShop 1.0のリリースで主なツールとしては、どういったものがあるかを見てみましょう。
 Java WorkShopのPortfolio ManagerとVisual GUI Bilderこの二つに関しましては、既に見たところです。 まず、Portfolio ManagerはAppletのサポートをしますが、Applet以外のいわばプログラミング開発とはいえない分野のコンポーネントに関してもサポートされておりますので、いわばプログラミング用にも、またノンプログラミング用にも両方に使えるということがいえるわけです。
 次に、Project Managerというのがありますが、これはあらゆるファイル、また情報、即ちコンポーネントを作ったり、使ったりするのに必要だと思われるものを、 Java WorkShop Projectとして管理するものです。
 このProjectということですが、Appletということで使うこともできますし、また、スタンドアローンのJavaプログラム、またJavaのクラスのパッケージ、HTMLのイメージ、またRemote Appletと呼ばれるようなApplet群もこれとして考えることができます。即ち、 Portfolio Managerの方に入っているもの、これがイコールProjectであるというふうに考えていいわけです。
 このProjectというのは、再利用がしやすい、或いは共有がし易いパッケージということになっております。というのも、このProjectの中には再利用に供せられるためのコンポーネントであるとか、情報ということで、例えばコンポーネントを使うときに必要な情報、コンポーネントを走らせるときに必要な情報、或いはWebページ上で出すために必要な情報、こういったものに相当します。
 また、Java WorkShopの中にはソースエディタが含まれています。これは他のツール群と、例えばデバッガでありますとか、ソースブラウザといったようなものと統合されております。このソースブラウザや或いはビルトマネージャなどといわれるツール群と統合されることによりまして、ソースエディタを使ってソースラインを表示することができます。また、デバッガが対応しておりますブラウザや、或いはソースエディタにブレークポイントを表示することも可能です。
 また、ソースブラウザが見つけてまいりましたQueryのマッチ、こういったものもソースエディタは表示ができます。
 ビルトマネージャというのが次にありますが、これはビルトの管理、或いは必要な部分だけリビルトといったようなものも管理いたします。また、発見いたしましたエラーに関しましては、ソースエディタに対しましてそのエラーを示します。
 次にソースブラウザでありますが、 Queryマッチを示すのみならず、いわば分かり易いフォーマットでもってクラスの表示も行います。ということで、ソースブラウザを使いますとクラスのアトリビュート、例えばそのメソッドなどについても容易に見ることができます。
 また、デバッガがありますが、これはスレッドのデバッキングをサポートする、或いはソースエディタを使うことによりソースディスプレイとして示すことができます。ということで、デバッガはスレッドのブレークポイントの設定を行うとか、スレッドのシングルステップを設定するとか、或いはエクスプレッションの評価も行います。
 次に、プロジェクトテスタですが、Applet或いはプログラムのテストをより容易に進めていくためのものです。例えば、HTMLファイルを作成いたしましてテストするAppletをそこから出すとか、また、Webブラウザの外で独立したスタンドアローンのプログラムをテストするための管理も行います。
 そして最後に、先程も申しましたが、Java WorkShopというのはHTMLタイプのWebのファシリティを包含しております。ですから、Webページのオンラインヘルプ、チュートリアル、こういったものも提供されております。

● 特異な強さのツール

 Javaの基本的な実行、または開発のために提供されておりますJDKなども含みましてより低いレベルのものの上に、それを基本として乗っているのがJava WorkShopであります。逆にいえば、JDKの機能を拡張しているということがいえます。

● Java WorkShopロードマップ

 目下、 Java WorkShopの1.0というのは、ベータ版になっております。Windows、Solarisプラットホーム対応ということで、この最終版が今年の8月に出される予定です。この1.0のリリースのあと、いくつかまた続いてリリースが出る中で、Just In Timeコンパイラが含まれることになります。これはAppletがダイナミックな形に実行されている間、JavaバーチャルマシンがAppletのコンパイルを行っていくというものであります。いわば、インタープリットされたバイトコードでなくて、Appletがネイティブコードで実行されるということになりますので、このJust In Timeコンパイラの導入によりましてパフォーマンスがぐっと改善されます。
 さて、HTMLエディタということでWYSIWYG、これも将来的なリリースで提供されてまいります。また、先程も触れましたように、Macintoshなど他のプラットホーム対応ということでも将来的には出てまいります。

● Java WorkShopの入手方法

 今日のJava WorkShopはベータ版ですが、私どものWebサイトから既に4万件のダウンロードがありました。このベータ版に関しましては無料で提供されております。しかし、これは有効期限までということで、これが今年の10月になっております。
 Java WorkShop最終製品に関しましてはSunの従来のチャネル(Resellers、Retailなど)を通して提供されます。それから、お試し期間を経て最終的に購入を決定していただくということで、無償期間30日が設けられております。米国の方の価格ですけれど、295$ということで提供されております。

● 更なる情報を

 Java WorkShopについてもっと情報をということでしたら、次にあげておりますWebサイトがアドレスになっております。
  www.sun.com/developer-products

 JavaやJavaコードのサンプルについてのより詳細な情報につきましては、次のサイトで提供されております。
  java.sun.com、www.gamelan.com

 また、さまざまな出版元(SunSoft Press、Addison Wesley、SAMS、など)からJavaに関する出版物、本など(Core Java Series、The Java Series、Learn Java in 21 Days、など)も各種出されております。

 

<企業内のWeb開発ツール>

 次は、企業内のエンタープライズディベロッパーの方に話を移したいと思います。

● Webの解剖図

 

 私どもはWebの解剖図といいますか、構造についてはこのように掲げております。
 さて、私どもが集中して作業を進めているのは、Firewallの裏側、即ちPrivate Internetのこの中味ということになります。言い方を変えればイコール イントラネットです。イントラネットの開発者に対して必要だと思われる数多くのコンポーネントがSunSoft Internet WorkShopで提供されています。

● SunSoft Internet WorkShop

 このようにクライアント/サーバーのさまざまなコンポーネントを企業内で開発してくというニーズに対応いたしまして、Java WorkShop及びC++ WorkShopも提供しております。先程、C++ WorkShopというふうに略していいましたが、これは「Visual WorkShop for C++」というのが正式な商品名です。今申し上げましたようなこのJava WorkShopとVisual WorkShop for C++に加えまして、Internet WorkShopでは「NEO Works」というのも加えられております。これは、SunSoftのNEO分散オブジェクトシステムを採用いたしまして分散オブジェクトアプリケーションを開発するためのNEO Worksです。分散オブジェクトシステムということでは、OMGのCORBAのスタンダードにNEO Worksは準拠しております。
 JavaとC++でこのInternet WorkShopでは、また企業内のさまざまなアプリケーションにWeb上でアクセスができます。Webでのアクセスを果たすためのツールの一つとして“Joe”というのがあります。NEOシステムをサーバーに、そしてJavaのユーザーインターフェイスをクライアントにおきまして、NEOのアプリケーションにアクセスを果たすためのJavaのアクセス、これがJoeということになります。
 ということで、Javaのオブジェクトのリクエストブローカーに相当するというふうに考えていただいていいと思います。
 IDLからJavaへのコンパイラ、これも入っております。JavaからC++へのこの間隙を埋めるといいますか、ブリッジングの役割を果たすということで「Java to C++ Gateway」も入っております。
 C++のクラスがあたかもJavaのクラスであるかのようにJava AppletからC++のクラスへのアクセスが果たせる、これがこの二つ目のツールです。
 ということで今日作られております、いわゆるレガシーのC++ライブラリーにJavaがアクセスできることになります。ライブラリーとしてC++で開発されたものがごく最近のものであったとしても先程申しましたように既存システム(レガシーシステム)にC++で開発されたものも含まれるということから申し上げました。
 さて、しかし今申し上げましたけれど、やはりC++というのは企業内においては重要な役割を果たすというふうに考えております。Javaが新しいトレンドを生み出したにもかかわらず、やはりC++というのは重要であります。だからこそ、JavaとC++の間を取り持つ「JavaからC++へ」という橋が必要になるわけです。Javaのサブクラスを継承するという形でC++を拡張するExtend機能も提供されます。
 また、企業内のアプリケーション(Enterprise Application)に対して容易なWeb上でのアクセスを可能にするためにSunSoftでは、「Client-Server Communication framework」も開発しております。これはTCP/IPをベースにしており、HTTPやCGI Beansではありません。
 クライアント/サーバー間ではメッセージを使うということで行われておりますので、必ずしもソケットは直接使っておりません。ですから、ソケットに比べますとクライアント/サーバー間のコミュニケーションがより容易になるということです。

● 企業内Webアプリケーションの構築

 

 この図は、Enterprise Applicationsの状況を部分的に示しておりますが、クライアント側とサーバー側を左右に振り分けております。
 Visual WorkShop for C++という私どもの製品ですが、例えばこのようにクライアント/サーバーに分けますとクライアント側にも採用されており、サーバー側にも使われております。分散オブジェクトシステムということで、NEOというのは勿論サーバー側で、またVisual WorkShop for C++というのはクロスプラットホーム開発対応ということでWindowsのクライアントアプリケーションの開発にも使われます。Javaのクライアント、またサーバー上のJavaの開発に対しましては、Java WorkShopが使われます。
 今までは、大体クライアント側でのJavaということを中心に話してきたわけですが、サーバー側での開発というのもJavaはできるわけです。Javaを使うことによりまして、サーバー側のパフォーマンスの改善にもつながるという部分があります。例えば、Javaでネイティブコードのコンパイラを開発するというのも、その一部になります。また、データベースのアクセスというのは、やはりサーバー側では大変重要な項目になりますので、JDBC (Java Database Connectivity) の提供によりまして、データベースのアクセスをJavaで果たします。JDBCですが、これはODBCをベースにしており、さまざまな異なるデータベースシステムに対しましてJavaのインターフェイスを提供するものです。

● 付加価値プログラム

 製品とかテクノロジーそのものの他に、コンサルティング或いはトレーニングのプログラムも提供しております。Javaのトレーニングのために「Javaキャンプ」というトレーニングを既に開始しております。WorkShop Readyというプログラムに向けて私どものグループ内ではいわゆるパートナーとの連携を強めております。このパートナーの皆さんですけれど、例えばツールの開発企業でありますとか、コンポーネントを開発している所、或いはシステム内のさまざまなフイーチャなどを手がけていらっしゃる所が含まれます。
 「企業顧客に対しまして、より包括的なシステムを提供できる」、これがWorkShop Readyプログラムによって実現されます。

● Java Webツールのまとめ

 

 さて、まとめに入りますけれども、Webのアプリケーション或いはWebサイトを開発していくということは、単にプログラミングといったような開発作業だけではなくて、Webでのコンテンツといった部分の開発も含まれてくるわけです。よってこれらのニーズを満たすべくJava WorkShopが提供されています。すなわち、Java WorkShopで提供されているWeb Metaphorというユーザーインターフェイス、これもこれらのニーズを満たしていく一つの手法として提供されているわけです。さまざまな開発者達がコンポーネントを共有できるようにPortfolio Managerといった提供されているのもその一環です。
 Java WorkShopとその他のツールとの差ということになりますと、これはいわばプログラミングを行う開発者のみならず、コンテンツの開発者といったような種類の違う開発者にも使っていただけるという点でしょう。また、もう一つこのJava WorkShopのユニークな点は、これそのものがJavaで書かれているということです。また、エンタープライズ向けの開発にはSunSoft Internet WorkShopが提供されております。
 ということで、サーバーでの開発に対応するにあたりましては、Visual WorkShop for C++、NEO WorksそしてJava WorkShop、これらがお使いいただけます。また、クライアント開発におきましては、Internet WorkShop、Visual WorkShop for C++、Java WorkShopが提供されております。
 それから先程も申しましたように、クライアント/サーバー間の接続を実現するためには、Joeでありますとか或いはMessaging FrameWorkが提供されております。
  以上で私の発表は終わらせていただきます。

※ 本コラムの文責は、Windowsコンソーシアム事務局にあります。


Contents         Windows Consortium ホームページ