(#012) 2001.12.19

復刻シリーズ 第62弾!!この頃 目覚めました。

━━━━━━━━━━━━━━━━━━━━━━ 2001.12.19 Vol.460 ━━━━━
 □■□
 ■□■  日刊「WEBのツボ」 〜次世代WEBマーケティングを読む〜
 □■□                      http://www.soho-union.com/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                          配信部数 2474部

【○】本日のお題 「ツボによく利くJAVA & DB」(#012) ━━━━━━━━━━
                            福井修@Fsys

▽ 今年を振り返って... Javaってほんとに最適解なのか?

はじめに 今年も終わりなので、少し振り返ってみたいと思います。
予想どおりというか、書店には Java/Servlet/JSP の本がどんどん出回ってきて
います。私がJSPを始めた'98年には、ほとんど原田洋子さんの Servlet本のみで
JSPの本は、皆無でした。ほんとに隔世の感があります。
iアプリの影響でJavaが認知された点も大きかったでしょうし、インターネット
を利用したネットワークシステム構築には、従来のWindows/VBでは限界がある
ということがはっきりとして、『なだれ』が始まったと言えるでしょう。

もうこの流れは、変えられないのかもしれませんが、問題は、コストです。
「部品化して、その組み合わせで、合理化を」というコンセプト自体は、正しい
のでしょうが、かつての ActiveX の様(ザマ)を EJB が再演するのではないか
と予言しておきましょう。( Java全体ではなく EJB )

システム構築コストをいかに低減するかという観点でみると、Javaは、当分決し
て最適解では、ないかもしれません。なぜなら「習熟(教育)」コストが高いか
らです。

オブジェクト指向UML,XMLそして 次の Webサービス(UDDI,WSDL,SOAP)の話題
には、必ずといって良いほど Java は顔を出します。

しかし データ交換の基本となる テキストファイル(CSVXMLなど)のハンドリ
ングの場面を想定したときに、例えば Excelからデータを取り出して、遠隔の
DBに格納したいとした場合、『最適解は Ruby である』と断言できる知見を
得たというのが、この一年の収穫です。

▽ Tomcat4.0 と Apache1.3.22 の連携 続き
では、先週に引き続き Tomcat4.0とApacheとの連携の解説です。

Tomcat3.0/3.1の時代には、mod_jservモジュールにて連携でした。
Tomcat3.2では、mod_jkモジュールで ajpv12(ポート8007)とajpv13(ポート8009)
の2つの方法に変更されました。ここまでは、いろいろな解説記事も出ています。
やっとこれがこなれてきたと思いきや Tomcat4.0では、mod_webappモジュールで
ポート8008 での連携にまたまた大きく変更されたのです。このあたりTomcatをは
じめようとする際には、注意が必要です。

Tomcatのバージョンをしっかり意識しないとApacheとの連携は、混乱します。

もちろんオリジナルの英文解説をしっかり読めばよいのですが、なかなか敷居が
高いのは、確かです。まだまだこのあたりは、枯れていないのでこれからも当分
は、振り回されることになりそうです。

【アプリケーションの位置設定】
□ Apache設定ファイル編集
# vi /usr/local/apache/conf/httpd.conf


 WebAppConnection warpConnection warp localhost:8008
 WebAppDeploy  examples warpConnection /examples
 WebAppInfo    info


この指定で Tomcatのみでは http://localhost:8080/examples/jsp/index.html
のように 8080ポートを指定して JSPサンプル画面へ入っていたものが
http://localhost/examples/jsp/index.html で 直接(warpして)JSPサンプル画面
へ入れるようになるという話で先週は終わりでした。

いよいよ 核心部です。

Tomcatの初期状態で既定の「examples」以外に独自の枠(例えば「hoge」)を
使用する場合には、次の設定を行います。

□ Apache設定ファイル編集
 ディレクトリ hoge の WebAppDeploy行を追加します。

# vi /usr/local/apache/conf/httpd.conf


 WebAppConnection warpConnection warp localhost:8008
 WebAppDeploy     examples warpConnection /examples
 WebAppDeploy     hoge warpConnection /hoge ←───これ
 WebAppInfo       info


□ Tomcatのディレクトリ構造
tomcat
 +-bin
 +-classes
 +-common
 +-conf
 |  +-server.xml
 +-lib
 +-webapps
  +-examples
  |  +-jsp
  |  +-servlet
  |  +-WEB-INF
  |     +-web.xml
  |     +-classes
  +-hoge       ←───これ
   +-jsp
   +-servlet
   +-WEB-INF
    +-web.xml
    +-classes
            
□ 独自の枠(例えば「hoge」)確保
 上の図に既に記述しましたが、examples と同列に hoge を作成します。
 exampleを複写後、不要分を削除、調整すればよいでしょう。
 ここで確保した jspservlet、classesディレクトリに、独自分を格納します。
           
□ Tomcat設定ファイル編集
 server.xmlに追加するディレクトリ(例えば「hoge」)を定義します。その際に、
 既存のexamplesの記述をよく参考にします。

# vi /usr/local/tomcat/conf/server.xml




□ Apache再起動
# /usr/local/apache/bin/apachectl stop
# /usr/local/apache/bin/apachectl start

□ Tomcat再起動
# /usr/local/tomcat/bin/shutdown.sh
# /usr/local/tomcat/bin/startup.sh

これで http://host名/hoge/jsp/jspプログラム名 で 独自枠(例えば「hoge」)
に格納したプログラムを利用することができるようになります。

http://host名/info/  で確認しましょう。連携状態が表示されます。

うまくゆきましたか :-)

【おまけ情報】
PostgreSQL を使用した会計・販売・給与統合パッケージ clear works
http://www.clearworks.co.jp/
http://www.clearworks.co.jp/product/point/data_total.php3

先週説明会を聞きに行ってきました。確かに画期的です、価格もコンセプトも。

子羊ルータにzebedee(暗号化パッケージの一種)のCFを載せて 簡単VPN を実現
したのに ぷらっとフォームから「OpenBlockSS with PPTP」が出ちゃいました(TT)
http://www.plathome.co.jp/products/openblocks/pptp_kit/index.html

【プロフィール】
福井 修 ( FUKUI Osamu )o-fukui@po.iijnet.or.jp fukui@fsys.net
福井システムリサーチ http://fsys.net/  主幹。システム構築歴25年。
Linux+JSP+PostgreSQLでの郵便番号簿 検索 http://fsys.net/post/
日本リヌクス協会、神戸商工会議所情報処理学会 会員
関西ソーホ・デジタルコンテンツ事業協同組合流通科学大学 委託SE http://www.umds.ac.jp/