米持幸寿のJava Issue


ここはJavaプログラマの天国?
――IBM alphaWorksを探検しよう――

米持幸寿
日本アイ・ビー・エム
2001/4/24


 筆者が記事の中でいろいろなツールを紹介している「IBM alphaWorks(http://www.alphaworks.ibm.com/)」は、IBMが、開発中であったり研究中のコードをアルファ版として公開しているWebサイトだ。日本にもミラーサイトがあるのだが、本稿執筆時点ではメンテナンス中のため日本語ページは米国のページのリンクになってしまっている。

 このalphaWorksをただのダウンロードサイトと思ってはいけない。実は、このサイトはJavaライブラリの宝庫であるということを皆さんご存じだろうか。企業のこういったダウンロードサイト(特に英語のもの)は、初めて見たときは結構分かりにくいものである。今回は、このalphaWorksの見方をお教えしよう。

◆alphaWorksとは何か◆

 alphaWorksが何であるかの説明は、トップページの中央にある「What is alphaWorks ?」を開くと掲載されている。要は、IBMの基礎研究部門や開発部門の成果である最新のプログラムコードを公開してしまおうという太っ腹なサイトなのである。alphaWorksの歴史の説明を見てみると、1996年8月26日にインターネット事業社長のジョン・パトリックが率いて、ニューヨーク州アーモンクで生まれた、とある。今年で5歳なわけだ。

alphaWorksのサイト(http://www.alphaworks.ibm.com/)

 alphaWorksは、基本的にはIBMの基礎研究部門の中のソフトウェアを研究しているチームが支えている。米国IBMのJava研究の拠点としてはカリフォルニア州のクパチーノにある研究所が有名である。日本には、神奈川県大和市にある東京基礎研究所(TRL)がある。東京基礎研究所でも、JavaやXMLに関連した各種ツールやライブラリを研究・開発しており、多くの成果物がalphaWorksに掲載されているし、実際に製品にも取り入れられている。JavaのXMLパーサとして有名なXML Parser for Java(XML4J)(「JavaとXMLはなぜ仲良し?」を参照)も、東京基礎研究所で開発され、alphaWorksから世に出たものだ。その後、WebSphereファミリー、DB2 UDB、MQSerieseといったIBMのソフトウェア製品に採用され、Apache(オープンソース・コミュニティ)にもXercesという名前のパーサとしてオープンソース化されている。

 alphaWorksには、Java関連だけでなく、いろいろなソフトウェア製品が登録されている。ダウンロードと利用は無償となっているが、基本的に「試す」ための目的で使うことができ、試用期間が60日間という制限が設けられている。ただし、一部のソフトウェア部品に関しては「alphaWorks license program」というものを購入することで業務利用することができる。プロダクトのページの上の方にライセンスを購入するための[LICENSE]ボタンがあるが、ボタンがアクティブ(グリーンのボタンが表示されているもの)になっている場合は購入可能だ。

XSS4J はライセンス購入が可能

 ただし、これはあくまでもアルファ版の配布であるので、IBMからのサポートは基本的に受けられない(質問を投げることはできる)。

◆ツールの探し方◆

 ツールを探すならのボタンを押してみよう。左側にインデックスが出て、そこからリンクをクリックすると右側に詳細が出るようなフレームによってページが表示される。すべてのツールを見たい場合は、Sort Technologies by:から「Name」を選択してみよう。すべてのツールの名前が一覧表示されるので、片っ端から開けていけば何のツールかを見ることができる。

[Technologies]ボタンを押してツールを探してみよう!

 Java関連のライブラリ類は、多くの場合「XXX for Java」という名前になっているので分かりやすい。

 Javaに関連するツールを幾つかご紹介しよう。

● Bamba for Java Javaアプレットとして動作する、Bambaストリーミング・ビデオ
● Bean Scripting
Framework
Javaアプリケーションやアプレットでスクリプト言語(ECMAScriptなど)を使うためのフレームワーク
● Bridge2Java JavaとActiveXプログラムが通信するためのライブラリ
● ClassBroker for
Java
Java用のライトウェイトのORB
● Common Business
Components
ビジネスアプリケーション用のEJBコンポーネント群。現在は、WebSphere Business Componentsとして製品化されている
● CommonRules PureJavaのeコマース開発用のルールエンジンと開発キット
● EJBMaker その名のとおり、EJBのコードを生成するツール
● High Performance
Compiler for Java
Javaのソースやバイトコードをプラットフォーム依存の機械語にコンパイルする
● IBM Classes for
Unicode
サーバサイドでUnicodeを操作するためのライブラリ
● Install Toolkit for
Java
Javaのインストーラ
● Web Services
Toolkit
いま、巷で大流行の「SOAP/UDDI/WSDL」を使ってWebサービスを行うためのJavaライブラリ

 紹介していくとキリがないので、このくらいにしておくが、1つ1つ試していけば、1年くらいは楽しめそうなほどたくさんのツールが登録されている(というか、試しているうちに、新しいのが出てくるので、永久に追いつかないかもしれない)。Javaプログラマーなら、読み進めると全部試したくなるようなツールばかりが登録されていて、見ているだけでも飽きないだろう。

◆ディスカッションフォーラム◆

 alphaWorksには、ツールごとにディスカッションフォーラムが作られており、だれでも参加できる。当然のことながら英語で書かなければいけないので、書き込みを行う際には勇気が必要だ。しかし、自分が試しているツールがうまく動かないときや使い方が分からないときなど、強い味方になる。また、書き込まなくてもほかの人が議論している内容を読んでみるだけでも解答が得られることがある。

ディスカッションフォーラム

◆再利用可能なBean◆

 alphaBeansというリンクをクリックすると、JavaBeansとEJBコンポーネントが一覧される。Javaの再利用可能なBeanがここに大量に紹介されている。幾つかのコンポーネントは製品になっていたり、Flashline.comやComponentSourceというマーケットプレイスで購入することもできる。

 表示部品と非表示の部品とがあるが、いずれもVisualAge for Java のビジュアル・コンポーザーに読み込ませてGUIでの開発が可能なものが多い。ここでも、面白いものを幾つか紹介しよう。

● Alarm 名前から想像できるとおり、タイマのBean
● ArchiveAccessor ZIPファイルなどにアクセスできる
● ArrayBeanSet、
Collections
IBMが持っているクラスライブラリ(IBM Open Class など)は、昔からコレクションクラスが非常に豊富である。ArrayBeanやCollectionsは、これらが持っていた幾つかの機能をJavaに特化してライトウェイトに実装したもの
● Calender カスタマイズ可能なカレンダを表示する部品
● Directory、
DirectoryEJB
JNDI経由でディレクトリサービスにアクセスするためのBean
● easyXML XMLにアクセスするためのBean
● ExcelAccessor MS-EXCELのデータにアクセスするためのBean
● FileManagement ファイルのコピー、検索、移動、削除などをするためのBean
● LEDClock 名前のとおりLEDライクに表示してくれる時計

 と……こちらも紹介しているとキリがないのでこのへんでやめておこう。もっと紹介して、という人はぜひalphaWorksを見にいってほしい。


Index

第1回 ソフトウェアの部品化は現実になる?(2000/12/19)
第2回 Javaの歴史と21世紀への5つの提言
(2001/1/16)
第3回 Javaの開発にUMLは必要?
(2001/3/2)
第4回 ここはJavaプログラマの天国?(2001/4/24)
第5回 Javaコンソーシアムが卒業式 (2001/7/6)
第6回 EJB部品の流通をめぐる動き(2001/12/6)
第7回 開発ツールのプラットフォーム“エクリプス”とは? (2002/1/17)


プロフィール
米持幸寿

1987年、日本アイ・ビー・エム入社。
IBMメインフレームOSであるVSE、およびVM関連ソフトウェアプロダクト の保守、 システム無人化ソフトウェア開発を手がける。現在はJava、XML、EJBに関わるプロモーション活動を行っている。

[筆者執筆記事一覧]
・JavaとXMLはなぜ仲良し?
・Java Servlet徹底解説(JSPとの連携)
・Java Servlet徹底解説(EJBとの連携)


第2回 20世紀Javaの歴史と21世紀への5つの提案



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間