[連載]
初めてのEnhydra

第1回 Enhydraにチャレンジ!

松江浩実
有限会社エア・ビート
代表取締役
2001/4/25

1.Enhydraを入手する

 連載を始めるにあたって

 ドットコムクラッシュなどといわれて、ITバブルの崩壊が騒がれる一方で、Webサービスを実現することの重要性は着実に根付いています。その状況の中で、Javaの重要性、アプリケーションサーバの必要性がますます高まっています。

 私どもの会社、エア・ビートも「ワクワク音楽体験のテーマサイト【エア・ビート・ドットコム】」を昨年10月にオープンしました。このサイトの構築においてはオープンソースのJavaアプリケーションサーバである「Enhydra」を活用し、その内容をユーザー事例(「フリーAPサーバで音楽ダウンロードサイトを構築」)として以前に書かせていただきました。その際非常に大きな反響をいただき、今回あらためてこのEnhydraについての入門記事を連載という形で始めさせていただけることになりました。

 本連載では、Enhydraの基本的な使い方とJBuilder 4での開発方法についての基礎を解説していきます。本連載が、少しでも多くの方に、低コスト、高パフォーマンスなWebサイト構築を実現できるきっかけになれば幸いです。

 Enhydraとは?

 Enhydraは米Lutris社が開発したユーザー・インターフェイス、ビジネス・ロジック、 データ・オブジェクトが分離された高機能、高性能なフリーのJava/XMLアプリケーションサーバです。主な特徴として以下のようなものがあります。

  • フリー
  • オープンソース
  • XMLCコンパイラ(HTML/XMLからJavaクラスを生成)
  • マルチプラットフォーム対応
  • Java2対応
  • アドインツール「Kelp」により開発ツール(JBuilder、JDeveloperなど)との連携が容易
  • DODS(データベースとの接続をグラフィカルに作成)
  • WML(Wireless Markup Language)対応
  • Servlet2.2、JSP1.1対応

 では、まず始めにEnhydraの大きな特徴であるXMLCとKelpについて簡単に説明しておきましょう。

●XMLC
 XMLC(XMLコンパイラ)がEnhydraの最大の特徴といってもよいかもしれません。XMLCはHTMLやXMLで記述されたコンテンツからJavaのクラスを生成するJavaベースのコンパイラです。XMLCによって生成されたJavaクラスは、W3Cで標準化されているDOMの定義に従ったインターフェイスを持っていて実行時に動的な内容をコンテンツに挿入するために利用することができます。

 つまりXMLCはJavaから動的なHTMLやXMLのコンテンツを生成する優れた仕組みを提供してくれます。 HTML/XMLコンテンツはアプリケーションが実行される前にコンパイルされますので、実行時に動的にコンテンツを生成するServer Side Includes (SSI)やCommon Gateway Interface (CGI) スクリプト、Active Server Page(ASP)、 Java Server Pages(JSP)など、ほかのテクニックに比べて高速に動作するというメリットがあります。また今後、XMLコンテンツの利用が増加することが考えられますが、XMLCはXMLコンテンツにも対応していますのでこの点でも安心です。

●Kelp
 Kelpは統合開発環境(IDE)内でXMLCアプリケーションの作成を容易にするためにJava IDEを拡張するツールセットで Borland JBuilderOracle JDeveloperをサポートしています。Kelpをインストールすることで、JBuilderのIDEからApplication Wizards、XMLC Compiler Wizard、Enhydra Deployment Wizard、Enhydra Import Wizardを利用できるようになります。

 Application WizardsにはWeb、ワイヤレス、そしてEnhydraプレゼンテーションオブジェクトアプリケーションを開発するためのWeb Application WizardとEnhydra Super-Servlet Wizardの2つのウィザードがあります。

Application Wizardsには2種類のアプリケーション・ウィザードが用意されています(クリックすると拡大します)

 XMLC Compiler WizardはIDEの中からXMLCコンパイラを呼び出します。もちろんXMLC Property Pagesでさまざまなオプションを付けてコンパイルすることもできます。

XMLC Compiler WizardはIDEの中からXMLCコンパイラを呼び出すことができるウィザードです(クリックすると拡大します)

 Enhydra Deployment Wizardはドキュメントルートディレクトリの設定やIDE上でEnhydraをスタートさせることができるプロジェクトコンフィグレーションを作成したりすることができます。

Enhydra Deployment Wizard(クリックすると拡大します)

 Enhydra Import Wizardを使えば既存のEnhydraプロジェクトファイルをIDEプロジェクトファイルにインポートすることができます。

Enhydra Import Wizard(クリックすると拡大します)

 特にJBuilderとの連携に関してはIDE内からEnhydraを起動することにより、デバッグの際にJBuilderのデバッガを利用してブレークポイントを設定したりといったことも可能になります。

 本連載で使用するRDBMS

 本稿ではRDBMSはPostgreSQL 7.0.3を使用します。Windows上でPostgreSQLを動作させるにはcygwinというツールを利用しますが、完璧に動作するわけではありません。LinuxとWindowsのどちらの環境でも利用できるフリーのDBMSならInterBase 6.0を使用するという手もあるのですが、これからに非常に期待の持てるDBMSということでPostgreSQLを使用することにします。PostgreSQLは現在7.1のベータテスト(2月末現在ベータ4)が行われていますが、MVCCというマルチバージョニングリード、WALと呼ばれるロールフォワード用ジャーナルログシステムなど非常に期待の持てる機能が盛り込まれています。さまざまな観点から私たちはPostgreSQL 7.1には非常に興味を持っています。これからに期待大なPostgreSQLから目が離せないですね。

 入手方法とバージョン

 本稿ではOSに LinuxはTurbolinuxServer 6.1、WindowsはWindows 2000 Professionalを使用します。開発を行うのに積極的にWindows 95/98を使おうという方はおられないとは思いますが、安定性などの問題からWindows上で開発を行うのならWindows NT/2000を使うべきです。

 必要な環境は以下のとおりです。

JBuilder 4 Foundation
Enhydra 3.1
Kelp 2.0
PostgreSQL 7.0.3
cygwin 1.7.1

 必要なファイルは以下のとおりです。ご自分の環境に合ったファイルを以下のURLを参考にダウンロードしてください。

JBuilder 4
Foundation

URL: http://www.borland.co.jp/jbuilder/foundation/download/index.html

Enhydra
3.1

URL:http://enhydra.enhydra.org/software/downloads/enhydra31/index.html

・Linux版
enhydra3.1.tar.gz
(RedHat系のディストリビューションでRPMパッケージを使用できる環境の場合はenhydra3.1.tar.gzの代わりにEnhydra-3.1-1.i386.rpmをダウンロードしても構いません)

・Windows版
enhydra3.1.exe

Enhydra
デモ

URL:http://enhydra.enhydra.org/software/downloads/enhydra31/index.html

enhydra-demos3.1.tar.gz
または
enhydra-demos3.1.zip

※enhydra3.1.exeには含まれています

Kelp 2.0

URL:http://kelp.enhydra.org/software/downloads/index.html

・Linux版
kelp2.0.tar.gz

・Windows版

kelp2.0.exe

PostgreSQL
7.0.3

URL:http://www.postgresql.org/index.html

・Linux、Windows版
postgresql-7.0.3.tar.gz

cygwin

setup.exe
http://www.cygwin.com/

cygwin-1.1.7-1.tar.gz
ftp://ftp.u-aizu.ac.jp/pub/gnu/gnu-win32/latest/cygwin/

cygwin-1.x-local.tar.gz
ftp://ftp.xemacs.org/pub/xemacs/aux/

cygwin32_ipc-1.03-bin-patched.tar.bz2
http://www.s34.co.jp/~luster/pgsql/

postgresql7.0.3-cygwin1.1.5-mb.tar.bz2
http://www.s34.co.jp/~luster/pgsql/

※PostgreSQLをWindowsで使用する場合に必要です



 
1/2
2.インストールと動作確認

初めてのEnhydra
1.Enhydraを入手する
Enhydraとは?
本連載で使用するRDBMS
入手方法とバージョン
  2.インストールと動作確認
インストール(Linux編)
インストール(Windows編)
正しくインストールされているかを確認する
Enhydraの動作確認


連載記事一覧




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

注目のテーマ

Java Agile 記事ランキング

本日 月間