Maven+Eclipseで
JavaWebアプリを作る

  Web技術勉強会 第31回
     Ryuichi TANAKA.
前回からの続き

☆Mavenについてはこちらを参照
 http://www.slideshare.net/mapserver2007/web-30-
 2208799


☆今回は実際にMavenでWebアプリ
 ケーションを作ってみる


...
使ったもの

☆クライアント
 ・Eclipse(Ganymede)+m2eclipse
 ・Java(jdk1.6)
 ・Maven2
☆サーバ
 ・Tomcat6
 ・Apache2.0
 ・jdk1.6


               ...
作るもの

☆Java版TMAP API
 ・TMAP APIとは…
   自作GIS(TMAP)のAPI。住所を自動抽出してその
  地点の地図を表示するアプリケーション。Perlで作成。




       今回はこれをJavaで書き直す...
MavenでWebアプリを作る時の基本方針

☆1 coreプロジェクトを作る
 coreプロジェクトとはメインロジックを記述し
 たプロジェクトの指す。割合的には9割以上ここ
 が処理することになる。最終的な成果物はjar。
☆2 webプロ...
coreプロジェクト
jtmap_coreプロジェクト=coreプロジェクト
 jp.mapserver2007.jtmap.api
      JtmapInterface.java … インタフェース
      JtmapCommon.j...
webプロジェクト
jtmapプロジェクト=webプロジェクト
 jp.mapserver2007.jtmap.api
     JtmapAddressExtract.java …
          住所抽出用実行ファイル




    ...
完成!




       Perl版とJava版で
      切り替えられるように




                      8
Java版とPerl版の比較

             Java                   Perl(※1)
 実行速度(※2)   0.179秒                   1.16秒
  コード量       245行 ...
結論(私見)

作るものによって言語を選定する必要がある
 ・Javaは実行速度が速いが、コード量がどうし
  ても増える
 ・Perlは実行速度を抑えたいならmod_perlなど
  を導入する必要がある(ただしApache限定)。
 ・Ja...
Upcoming SlideShare
Loading in …5
×

Web技術勉強会 第31回

964 views
911 views

Published on

Web技術勉強会 第31回

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
964
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Web技術勉強会 第31回

  1. 1. Maven+Eclipseで JavaWebアプリを作る Web技術勉強会 第31回 Ryuichi TANAKA.
  2. 2. 前回からの続き ☆Mavenについてはこちらを参照 http://www.slideshare.net/mapserver2007/web-30- 2208799 ☆今回は実際にMavenでWebアプリ ケーションを作ってみる 2
  3. 3. 使ったもの ☆クライアント ・Eclipse(Ganymede)+m2eclipse ・Java(jdk1.6) ・Maven2 ☆サーバ ・Tomcat6 ・Apache2.0 ・jdk1.6 3
  4. 4. 作るもの ☆Java版TMAP API ・TMAP APIとは… 自作GIS(TMAP)のAPI。住所を自動抽出してその 地点の地図を表示するアプリケーション。Perlで作成。 今回はこれをJavaで書き直す。 4
  5. 5. MavenでWebアプリを作る時の基本方針 ☆1 coreプロジェクトを作る coreプロジェクトとはメインロジックを記述し たプロジェクトの指す。割合的には9割以上ここ が処理することになる。最終的な成果物はjar。 ☆2 webプロジェクトを作る webプロジェクトとは、その名のとおりWebア プリ化するプロジェクト。要するにServlet。☆1 でインストールしたjarをこのプロジェクトに取 り込む。Eclipseなら[依存関係の追加]で取り込 める。pom.xmlに直接書いてもいい。最終的な成 果物はwar。 5
  6. 6. coreプロジェクト jtmap_coreプロジェクト=coreプロジェクト jp.mapserver2007.jtmap.api JtmapInterface.java … インタフェース JtmapCommon.java … 共通処理 JtmapHttpAgent.java … HTTP関連 JtmapExecute.java … 実行クラス jp.mapserver2007.jtmap.db JtmapDBAccessor.java … DBアクセス Apikey.java … スキーマファイル Apimaster.java … スキーマファイル Javadoc:http://summer-lights.dyndns.ws/document/javadoc/jtmap/ 6
  7. 7. webプロジェクト jtmapプロジェクト=webプロジェクト jp.mapserver2007.jtmap.api JtmapAddressExtract.java … 住所抽出用実行ファイル 7
  8. 8. 完成! Perl版とJava版で 切り替えられるように 8
  9. 9. Java版とPerl版の比較 Java Perl(※1) 実行速度(※2) 0.179秒 1.16秒 コード量 245行 110行 ※1 CGIで実行 ※2 Firefox3.5.3、Firebug1.4.3b1上で計測 ・実行速度は体感でもわかるほどの差 Perlが遅いというかCGIが遅い ・コード量は倍以上(処理内容はほぼ同じ) 9
  10. 10. 結論(私見) 作るものによって言語を選定する必要がある ・Javaは実行速度が速いが、コード量がどうし ても増える ・Perlは実行速度を抑えたいならmod_perlなど を導入する必要がある(ただしApache限定)。 ・Javaで作る場合、設計が重要 クラスをたくさん作らなければならない。 ・JavaのライブラリはPerlほど多くないが、最低 限必要はある。 10

×