GWTで対応可能な業務系WEBアプリケーションシステムの規模について

110 views
Skip to first unread message

三橋 広行

unread,
Jan 24, 2008, 11:49:35 PM1/24/08
to Google Web Toolkit in Japanese (GWTJP)
GWTJPのみなさまはじめまして

表記のとおりGWTで対応可能な業務系WEBアプリケーションシステムの規模について
お伺いしたいと思います。

現在、自社パッケージのリプレースを検討しております。
新システムの画面数は約300程度を想定しています。

当初は無難にprototype.js + DWR + Strutsの構成を考えましたが、
いろいろ調べていくうちにGWTの魅力にはまってしまいました。
(開発者をワクワクさせるツールってしばらくご無沙汰だったので)

[開発環境]
現在は下記の開発環境でプロトタイプを作っています。
・MyEclipse 6.0.1 または Eclipse 3.2 + WTP 1.5
・gwt-windows 1.4.61
・apache-maven 2.0.8(GWTはMaven2から利用しています)
・GWT Designer 3.0.1
・帳票出力
Excel POI 3.0-FINAL
PDF OpenOffice + JODConverter 2.2.1

[ご質問]
みなさまにお伺いしたいのはプロトタイプを作っている過程で不安になった二つの事柄です。
5機能程度作ってみて思ったのは、

1.このまま開発を続けたらGWTコンパイルに時間がかかりすぎるのではないか?
2.ブラウザに送られるxxx.cache.htmlのファイルサイズが大きくなりすぎるのではないか?

ということです。
プロトタイプはEntryPointを持つクラスは一つだけで、各機能はCompositeを継承したクラスとして
作成し、画面遷移ごとにDialogBoxに入れ込む形をとっています。

final BaseDialogBox dialog = new BaseDialogox(); ←DialogBoxを継承したクラス
dialog.setWidget((Widget) composite); ←compositeは各機能

1.についてはGWTモジュールを複数に分割してサブシステム単位で分けることも考えましたが、
  スタイルシートやイメージファイルをひとつのpublicディレクトリに入れて管理する方法が
  いまいちよくわからないでいます。

  また、モジュールを複数持つとMaven2からGWTコンパイルを行う際にrunTargetをいちいち
  書き換えねばならないところも手間になります。

  システムはイントラ環境のためIE限定でも可なので、コンパイル時にIEのみのファイルだけ
  生成してもらえたらとわがまま欲求もあります。

2.についてはお客様環境にもよりますがFlashのようにダウンロード待ちが発生してしまうと、
  GWTの魅力が半減してしまうように思います。xxx.cache.htmlは3Mくらいが限界かと。
  (今のところは200Kで収まっています)

どうにもやってみないとわからない問題なのですが、プロジェクトが本格稼動した後になって
このような問題が発生してしまうとかなり厄介なことになるのではと危惧しています。

説明不足の点が多いとは思いますが、なにかお考えをお持ちの方がいらっしゃいましたらお知らせいただけますようお願いいたします。

[Maven2]
最後に、GWTとMaven2を連携したいと考えている方がいましたら参考になるようpom.xmlをご提供します。この辺はなかなかネタがないですか
ら。

<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>zaimu</groupId>
<artifactId>Zaimu</artifactId>
<packaging>war</packaging>
<version>0.0.1</version>
<description></description>
<repositories>
<repository>
<id>ibiblio</id>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven/</url>
</repository>
<repository>
<id>ibiblio2</id>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
</repository>
<repository>
<id>ibiblio3</id>
<url>http://www.ibiblio.org/pub/packages/maven2/</url>
</repository>
<repository>
<id>gwt-maven</id>
<url>
http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/
</url>
</repository>
<repository>
<id>jodconverter</id>
<url>
https://jodconverter.svn.sourceforge.net/svnroot/jodconverter/trunk/jodconverter/
</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>gwt-maven</id>
<url>
http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/
</url>
</pluginRepository>
<pluginRepository>
<id>jodconverter</id>
<url>
https://jodconverter.svn.sourceforge.net/svnroot/jodconverter/trunk/jodconverter-maven-plugin/
</url>
</pluginRepository>
</pluginRepositories>
<build>
<outputDirectory>
C:/eclipse/3.3.1.1/workspace/Zaimu/target/Zaimu/WEB-INF/classes
</outputDirectory>
<finalName>Zaimu</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!--
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.0</version>
<configuration>
<webXml>target/web.xml</webXml>
</configuration>
</plugin>
-->
<plugin>
<groupId>com.totsp.gwt</groupId>
<artifactId>maven-googlewebtoolkit2-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
<executions>
<execution>
<goals>
<!-- <goal>gwt</goal> -->
<!-- <goal>compile</goal> -->
<!-- <goal>setup</goal> -->
<!-- <goal>generateClientBeans</goal> -->
</goals>
</execution>
</executions>
<configuration>
<fork>true</fork>
<logLevel>INFO</logLevel>
<gwtVersion>1.4.60</gwtVersion>
<runTarget>
gwt.zaimumain.ZaimuMain/ZaimuMain.html
</runTarget>
<compileTarget>
<value>gwt.zaimumain.ZaimuMain</value>
</compileTarget>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-servlet</artifactId>
<version>1.4.60</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>1.4.60</version>
</dependency>
<dependency>
<groupId>struts</groupId>
<artifactId>struts</artifactId>
<version>1.2.9</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.0-FINAL</version>
</dependency>
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>3.4.4</version>
</dependency>
<dependency>
<groupId>com.artofsolving</groupId>
<artifactId>jodconverter</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.4.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>servlets.com</groupId>
<artifactId>cos</artifactId>
<version>05Nov2002</version>
</dependency>
</dependencies>
</project>

---------------------------
Mitsuhashi Hiroyuki
mitsu...@gcc.co.jp

Reply all
Reply to author
Forward
0 new messages