[連載]
初めての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
JBuilderとOracle
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を使うべきです。
必要な環境は以下のとおりです。
|
必要なファイルは以下のとおりです。ご自分の環境に合ったファイルを以下のURLを参考にダウンロードしてください。
|
1/2
|
2.インストールと動作確認 |
|
連載記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|