タイトル【MacWIRE配信予定】WebObjects 5.1に関する説明会が開催、EJBでの実際の開発をデモ(1)カテゴリーJava, WebObjects
作成日2002/1/18 21:44:19作成者新居雅行
2001年1月18日、アップルコンピュータは、今月に新たに発売されたWebObjects 5.1に関するプレス説明会を開催した。マーケティング本部長の大宮哲夫氏よりの話から始まった。2000年6月にリリースしたWebObjects 5.0をリリースして好調にビジネスが推移している。昨年はJavaOneに出展するなど、Javaコミュニティへのアピールしてきた。顧客の要望としてあったEJB対応を達成しての5.1のリリースである。バージョンは0.1の違いだがそれ以上に大きな変化がある。

続いて、プロダクトマーケティングの鷲滝薫氏からの話に移った。WebObjects 5.1の概要についての説明が行われた。WebObjects 5.1は「階層型アプリケーションを開発運用するためのすべてのコンポーネントを提供」するものと説明し、今回のアップデートによりJava2 Enterprise Editionへの対応を果たした。従来はWebObjectsだけですべてできるものだったが、新たに開発はWebObjectsを使い、稼働環境は異なるアプリケーションサーバでもできるようになった。また、Project BuilderでBeansの開発ができるようにもなっている。WebObjectsのアドバンテージとしては、首尾一貫したアプリケーションデザインによりWebサイトを随時更新できることや、実績あるフレームワークを使っての高度な開発作業ができること、コンポーネントの再利用や最小限のコード作成によりトータルコストの削減が挙げられる。WebObjectsのアプリケーションにはいくつか形態があるが、1つはWebブラウザを使うものである。これだと、クライアントサイドのアプリケーションは不要となり、クライアントのメンテナンスは必要なくなる。不特定ユーザを対象とした比較的負荷の軽いシステムに向いている。もう1つは、Javaクライアントであり、クライアントにアプリケーションを配置するもので、より表現力のあるユーザインタフェースが提供可能となっている。また、クライアントとサーバでの負荷分散も可能である。業務システムなどの特定ユーザ向けに向いている。WebObjectsはユーザインタフェースとビジネスロジック、データアクセスが分離独立している。GoLiveやDreamweaverでユーザインタフェースを使うことも可能だし、既存のJavaコードの利用も可能である。
Ver.5.1では運用環境が柔軟になり、Java2EE/Java2SEベースのサーバで運用できるようになった。J2EEでは、OpenEJB、Tyrex、OpenORB、Servlet 2.2 & JSP 1.1、JNDIといったテクノロジーに対応している。TomcatやWebLogicでの運用やJBuilderでの開発にも対応している。J2EEアプリケーションサーバとしては、ServletやJSPと同じレベルでWebObjectsアプリケーションを併用できる。ただし、WebObjectsのフレームワークも必要となるので、稼働のためのライセンスは必要になる。一方、WebObjectsのアプリケーションサーバにおいても、EJBをコンポーネントとして使うことができる。
WebObjectsビジネスの展開として、プロマーケットソリューションの拡張を行っている。ビデオやメディカル、DTPというソリューションをインターネットに対応させ、ストリーミング、電子カルテ、Webパブリッシングなどのソリューションを実現する。今後はこうしたアップルが強いマーケットに対してWebObjectsのソリューションを提供する考えだ。また、WebObjectsを使うことでのデベロッパーのビジネスチャンス拡大も訴えた。既存のMac市場のパッケージデベロッパーや、あるいはJavaデベロッパーにも参入を促したいと考えている。最後にWebObjects 5.1の販売情報を示し、Ver.5.1からはWindowsとMac OS Xの両方向けにトライアル版を制作したことを紹介した。また、Ver.5.1からはパッケージの表記が日本語になり、マニュアルが日本語化されたものが含まれている。

続いて、ソリューションサポートの野村さやか氏よりテクニカルオーバービューとして、WebObjects 5.1のデモが行われた。機能構成の概要説明の後、まずは実際に作成されるアプリケーションがどのようなものかを示した。そして、実際の開発のデモが行われた。まず、Project BuilderでEnterprise JavaBeansのプロジェクトをテンプレートから作成する。BeanはCMPのものを選択して、プロジェクトを構成した。必要となるXMLの定義ファイルがMETA-INFディレクトリに自動的に作成される。classファイルとしても、BeanやHomeという名前が付加されたものが自動的に作成される。まずは、*Bean.javaクラスに、データベースのカラムに対応した変数をクラス変数としてキー入力で定義をする。そして、レコードの生成や、カラムに対応した変数のget/setメソッドなど、いくつかのメソッドを加えた。さらに*Home.javaでレコード生成のメソッドを整え、全文検索のためのメソッドを加えた。さらに、*.javaファイルにビジネスロジックをメソッドとして追加した。いずれも、こうした作業はプログラムソースの修正と言うことで行われた。続いて、XMLファイルに対して、主キーやCMPフィールドの記述を加える。そしてビルドする。スタブを作るためのシェルスクリプト実行で、少し時間がかかる。そして、ビルドスタイルをDeploymentにして正しい位置(システムにあるフレームワークのフォルダ)にインストールした。結果的にjarファイルを含むフレームワークが出来上がった。/System/Library/WebObjects/JavaApplicationsフォルダにOpenEJBToolsというツールがあって、それを使ってテストができる(Terminalで稼働させていた)。
続いて作成したEJBのフレームワークを利用するアプリケーションのプロジェクトを作成する。従来のWebObjectsアプリケーションの形態に加えてXMLファイルが加わる。そこで、データベースからのマッピングやJNDIネームの定義などがあり、いくつかを修正した。また、ソースコードについても追加や修正を行う。そして、新しいComponentを作成し、ページの設計を行う。ソースコードを追加するとともに抽象クラスとして定義しておく。さらに、作成したComponentをサブクラスとしてページを作り、それをメインページとして、レコードをすべて検索して表示されるようにする。さらに、個別のレコードの詳細ページを作成する。続いて、WebObjects Builderでの作業に入る。Mainページでは別のコンポーネントの埋め込み、そちらのページで、WOComponentを配置して、一覧表示されるようにするが、ドラッグしてコンポーネントとカラムを結合する。まだ、個別のレコードを表示するページでは、ムービーが表示されるように、WebObjects Builderで編集を行った。さらに、XMLデータを修正してビルドを行った。XMLファイルの編集はどうしてもやらないといけないということだ。従来の方法に加えて、こうしたEJBを使った開発手法も使えるようになった。
(続く)
関連リンクWebObjects