Web技術勉強会 第31回

  • 714 views
Uploaded on

Web技術勉強会 第31回

Web技術勉強会 第31回

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
714
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Maven+Eclipseで JavaWebアプリを作る Web技術勉強会 第31回 Ryuichi TANAKA.
  • 2. 前回からの続き ☆Mavenについてはこちらを参照 http://www.slideshare.net/mapserver2007/web-30- 2208799 ☆今回は実際にMavenでWebアプリ ケーションを作ってみる 2
  • 3. 使ったもの ☆クライアント ・Eclipse(Ganymede)+m2eclipse ・Java(jdk1.6) ・Maven2 ☆サーバ ・Tomcat6 ・Apache2.0 ・jdk1.6 3
  • 4. 作るもの ☆Java版TMAP API ・TMAP APIとは… 自作GIS(TMAP)のAPI。住所を自動抽出してその 地点の地図を表示するアプリケーション。Perlで作成。 今回はこれをJavaで書き直す。 4
  • 5. MavenでWebアプリを作る時の基本方針 ☆1 coreプロジェクトを作る coreプロジェクトとはメインロジックを記述し たプロジェクトの指す。割合的には9割以上ここ が処理することになる。最終的な成果物はjar。 ☆2 webプロジェクトを作る webプロジェクトとは、その名のとおりWebア プリ化するプロジェクト。要するにServlet。☆1 でインストールしたjarをこのプロジェクトに取 り込む。Eclipseなら[依存関係の追加]で取り込 める。pom.xmlに直接書いてもいい。最終的な成 果物はwar。 5
  • 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. webプロジェクト jtmapプロジェクト=webプロジェクト jp.mapserver2007.jtmap.api JtmapAddressExtract.java … 住所抽出用実行ファイル 7
  • 8. 完成! Perl版とJava版で 切り替えられるように 8
  • 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. 結論(私見) 作るものによって言語を選定する必要がある ・Javaは実行速度が速いが、コード量がどうし ても増える ・Perlは実行速度を抑えたいならmod_perlなど を導入する必要がある(ただしApache限定)。 ・Javaで作る場合、設計が重要 クラスをたくさん作らなければならない。 ・JavaのライブラリはPerlほど多くないが、最低 限必要はある。 10