fc2ブログ

まったり開発日誌

embossの工具箱(J2EE Java2 Linux Zaurus C++)

2007年08月

  1. WindowsのApacheでSSLを有効にする(08/29)
  2. 【Struts】*.do設定で、struts-config.xmlに設定していないアドレスにアクセスがあった場合、エラーページへ飛ばす。(08/16)
  3. Java - ウィンドウサイズを取得する(08/15)
  4. tchでcvsの処理(08/02)
  5. Spring2.0の設定(08/02)
  6. セッション管理方式(08/02)
  7. 認証確認方式(08/02)
  8. Web開発するときに気になること(08/02)
  9. WebLogicのメモリ量をいじる(08/02)
  10. JSTL(08/02)
  11. MSプロジェクト(08/02)
  12. 2度押し制御について(08/02)
  13. キャッシュについてしらべてみた(08/02)
  14. クラスタ化されるサーブレットおよび JSP のプログラミング上の考慮事項(08/02)
  15. Beehive(08/02)
  16. セキュリティ参考資料(08/02)
  17. 負荷テストツールについて調べた(08/02)
  18. Weblogicのセキュリティ・認証について(08/02)
  19. WebLogicのエディション比較(やっと見つけた)(08/02)
  20. BEA WebLogic Serverの調査(08/02)
  21. WebLogicマニュアルよりSpringの情報(08/02)
  22. Springと比較されるSersarの調査(08/02)
  23. J2EE開発におけるEJBの問題点(08/02)

WindowsのApacheでSSLを有効にする

インストール方法です。
apache_2.2.4-win32-x86-no_ssl.msi
apache-2.2.4_openssl-0.9.8e.zip
を取ってきて、c:\tmpにおいた。


>cd c:\
>cd tmp
>msiexec /i apache_2.2.4-win32-x86-no_ssl.msi
Next>Next>Next>Next>Next>
Folder name: C:\Program Files\Apache Group\Apache2\
OK>Next>Install>Finish


>net stop Apache2
Apache2 サービスを停止中です.
Apache2 サービスは正常に停止されました。

C:\tmp>"C:\Program Files\Apache Group\Apache2\bin\httpd" -k uninstall
Removing the Apache2.2 service
The Apache2.2 service has been removed successfully.

>taskkill /im apachemonitor.exe
成功: プロセス "ApacheMonitor.exe" (PID 1036) は強制終了されました。


インストール済みのapacheを上書き。

>unzip -o -d "c:/Program Files/Apache Group" apache-2.2.4_openssl-0.9.8e.zip

>cacls "C:\Program Files\Apache Group\Apache2" /E /G SYSTEM:F /T

>"C:\Program Files\Apache Group\Apache2\bin\httpd" -D SSL -k install
Installing the Apache2.2 service
The Apache2.2 service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.
Syntax error on line 62 of C:/Program Files/Apache Group/Apache2/conf/extra/http
d-ssl.conf:
SSLSessionCache takes one argument, SSL Session Cache storage (`none', `nonenotn
ull', `dbm:/path/to/file')


エラーが出た・・・

C:/Program Files/Apache Group/Apache2/conf/extra/httpd-ssl.confの以下の箇所を修正
(")でくくってみた。


 62: SSLSessionCache        "shmcb:C:/Program Files/Apache Group/Apache2/logs/ssl_scache(512000)"
 80: ErrorLog "C:/Program Files/Apache Group/Apache2/logs/error_log"
 81: TransferLog "C:/Program Files/Apache Group/Apache2/logs/access_log"
 99: SSLCertificateFile "C:/Program Files/Apache Group/Apache2/conf/server.crt"
107: SSLCertificateKeyFile "C:/Program Files/Apache Group/Apache2/conf/server.key"

 >net start Apache2
Apache2 サービスを開始します.
Apache2 サービスは正常に開始されました。

https://127.0.0.1/を開いてIt works!と表示されればOK。
スポンサーサイト



  1. 2007/08/29(水) 15:38:42|
  2. 開発メモ-Windows
  3. | トラックバック:0
  4. | コメント:0

【Struts】*.do設定で、struts-config.xmlに設定していないアドレスにアクセスがあった場合、エラーページへ飛ばす。

web.xmlに
    <servlet-mapping>
            <servlet-name>action</servlet-name>
            <url-pattern>*.do</url-pattern>
    </servlet-mapping>


のように*.doを設定していると、
javax.servlet.ServletException: アクション /hogeAction に対応するマッピングが見つかりません
というエラーが出ることがあります。

これはstruts-config.xml に "/hogeAction" というパスを持つアクションが存在しないために発生するエラーです。

これを、対応するアクションが存在しない場合にはエラーページへ飛ばすように設定したい。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=10418&forum=12&3
上記URLを参考にRequestProcessorを継承して実装してみました。

まず、存在しないアクションを指定した場合にデフォルトで移動するパスを保持するに
defaultPathというプロパティを追加する為、ControllerConfig を継承したクラスを作ります。

public class MyControllerConfig extends ControllerConfig {
/* 存在しないdoを開いた時にデフォルトで開くパスを指定する */
private String defaultPath;

    public String getDefaultPath() {
        return defaultPath;
    }

    public void setDefaultPath(String defaultPath) {
        this.defaultPath = defaultPath;
    }

}


RequestProcessor#init(ActionServlet,ModuleConfig)をオーバーライドして、初期化コードを実装します。
また、指定されたアクションが
存在しない場合、エラーを表示している部分はprocessMappingのようでうすので、これを拡張し、指定されたアクションが無ければ、プロパティで指定したアクションへ移動するようにコードを追加します。今回はTilesを使用したいのでTilesRequestProcessorを拡張します。

public class MyTilesRequestProcessor extends TilesRequestProcessor {
    private String defaultPath = null;
    @Override
    public void init(ActionServlet servlet, ModuleConfig moduleConfig) throws ServletException {
        super.init(servlet, moduleConfig);

        ControllerConfig cc = moduleConfig.getControllerConfig();

        if (cc instanceof MyControllerConfig) {
            MyControllerConfig icc = (MyControllerConfig) cc;
            defaultPath = icc.getDefaultPath();
        }

    }
    protected ActionMapping processMapping(HttpServletRequest request, HttpServletResponse response, String path)
            throws IOException {

        // Is there a mapping for this path?
        ActionMapping mapping = (ActionMapping) moduleConfig.findActionConfig(path);

        // If a mapping is found, put it in the request and return it
        if (mapping != null) {
            request.setAttribute(Globals.MAPPING_KEY, mapping);
            return (mapping);
        }

        // Locate the mapping for unknown paths (if any)
        ActionConfig configs[] = moduleConfig.findActionConfigs();
        for (int i = 0; i < configs.length; i++) {
            if (configs[i].getUnknown()) {
                mapping = (ActionMapping) configs[i];
                request.setAttribute(Globals.MAPPING_KEY, mapping);
                return (mapping);
            }
        }

        /* 追加ロジックここから */
        // Is there a mapping for default path?
        mapping = (ActionMapping) moduleConfig.findActionConfig(this.defaultPath);
        if (mapping != null) {
            request.setAttribute(Globals.MAPPING_KEY, mapping);
            return (mapping);
        }       
        /* 追加ロジックここまで */
      
        // No mapping can be found to process this request
        String msg = getInternal().getMessage("processInvalid", path);
        log.error(msg);
        response.sendError(HttpServletResponse.SC_NOT_FOUND, msg);

        return null;
    }

}

struts-config.xmlの設定は次のようにしました。

<controller processorClass="com.hoge.MyTilesRequestProcessor" 
className="com.hoge.MyControllerConfig">
<set-property property="defaultPath" value="/notFoundAction" />
</controller>


でもぉ、こんなことをしなくても unknown="true"にすれば万事解決。
以上


  1. 2007/08/16(木) 17:40:12|
  2. 開発メモ-Java
  3. | トラックバック:0
  4. | コメント:0

Java - ウィンドウサイズを取得する

ツールバーを除いた画面のサイズはjava.awt.Toolkit#getScreenSize()より取得できます。

Dimension d = Toolkit.getDefaultToolkit().getScreenSize();


参考URL:http://developers.sun.com/mobility/personal/articles/ztutorial/
  1. 2007/08/15(水) 12:48:56|
  2. Linux Zaurus
  3. | トラックバック:0
  4. | コメント:0

tchでcvsの処理

foreach  REPLACE (`cat data.lst`)
set NEW_ARRAY = (`echo $REPLACE | sed 's/,/ /g'`)
echo $NEW_ARRAY[1]
echo $NEW_ARRAY[2]
echo $NEW_ARRAY[3]
end

data.lstはこんな感じ

1,aaaaaa,あああああ
2,bbbbbb,いいいいい
3,cccccc,ううううううう
4,dddd,ええええええ



  1. 2007/08/02(木) 17:15:11|
  2. 開発メモ-Linux
  3. | トラックバック:0
  4. | コメント:0

Spring2.0の設定

Spring2.0の設定ファイルは1.xから結構変わってますね~
定義はこんな感じ
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

データソースの設定をJNDIから取得するのもこんなに簡単。
    <!--==== DataSource ==============================================-->
    <jee:jndi-lookup id="dataSource" jndi-name="データソース名" />
トランザクションの管理も楽
    <!--==== DataSource transaction manager ==========================-->
    <bean id="txManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>
AOPの設定はこんな感じ。xxxxLogicというクラスにinsertXxxxというメソッドがあったらトランザクションを開始する設定。
    <!--==== aop for transaction =====================================-->
    <aop:config>
        <!-- pointcut the execution of any method defined by the BaseLogic interface -->
        <aop:pointcut id="businessLogic"
            expression="execution(* com.andsystem.bl..*Logic*.*(..))" />
        <aop:advisor pointcut-ref="businessLogic" advice-ref="txAdvice" />
    </aop:config>
    <!--==== transactional advice ====================================-->
    <tx:advice id="txAdvice" transaction-manager="txManager">
        <tx:attributes>
            <tx:method name="insert*" rollback-for="java.lang.Exception"/>
            <tx:method name="find*" read-only="true" />
        </tx:attributes>
    </tx:advice>

テーマ:システム開発 - ジャンル:コンピュータ

  1. 2007/08/02(木) 11:15:50|
  2. Spring
  3. | トラックバック:0
  4. | コメント:0

セッション管理方式

□考慮すべき点
・セキュアモードCookieの利用
weblogic.xml デプロイメント記述子の、cookie-secureをtrueに設定する。
クッキーを HTTPS 接続でのみ返信するようブラウザに指示する。これにより、クッキー ID が保護され、HTTPS を使用する Web サイトでのみ使用されるようになる。この機能を有効にすると、HTTP でのセッション クッキーは機能しなくなる。

・セッションIDをGETメソッドで送らない
セッションIDをGETで送信するとURLの一部にセッションIDが埋め込まれる為セッションIDが漏洩する危険性がある。
Weblogicではデフォルトではクッキー無効ブラウザでは自動的にセッションIDがURLにエンコードされる。weblogic.xmlデプロイメント記述子のurl-rewriting-enabledをfalseにすることで、クッキーが無効なブラウザで、セッション ID が URL にエンコーディングされる動作をOffにする。

・セッションに格納するオブジェクト
セッションには最低限の情報を保持する。また保持した情報の鮮度にも気をつける。
セッションに保持する情報は必ず必要最低限にとどめる事。セッション内で非常にサイズの大きいオブジェクトを作成するような設計は出来るだけしない。
今後の拡張を考慮し、念のためセッションデータはシリアライズ可能にしておく。
セッション オブジェクトの属性を変更するには非推奨となった putValue に代わって HttpSession.setAttribute を使用する。
同様に、セッション オブジェクトから属性を削除するには、非推奨となった removeValue に代わって removeAttribute を使用する。
  1. 2007/08/02(木) 10:49:33|
  2. 開発メモ-Java
  3. | トラックバック:0
  4. | コメント:0

認証確認方式

セッションが認証済みセッションであるかどうかを確認する方式として以下の3つの方式が挙げられる。
(1)Actionの基底クラスで実装する。問題点、JSPが無防備になる。
(2)SpringAOPで実装する。問題点JSPが無防備になる。
(3)Filterで実装する。利点、JSPも保護できる。
  1. 2007/08/02(木) 10:45:41|
  2. Spring
  3. | トラックバック:0
  4. | コメント:0

Web開発するときに気になること

入力値の妥当性チェック
 サーバで必ず行う
 クライアントでの入力値チェックはユーザビリティの向上させる必要がある場合に実施する。
HTML出力時には特殊記号をエスケープ処理する(クロスサイトスクリプティングを防ぐ為にサニタイジング)
 Strutsのbeen:write または JSTLのc:out を使用すること。このタグはHTMLの特殊記号( < > , " ' & )を変換する機能を持つ。
SQL出力時にはバインドメカニズムを利用してSQLインジェクションを防ぐ
 プレースホルダとして「?」記号を使用しSQL文をあらかじめコンパイルしておくこと。
外部コマンド呼び出し時の妥当性チェック
http://www.atmarkit.co.jp/fsecurity/rensai/webhole02/webhole02.html
ファイル名指定時の妥当性チェック
 任意の場所にファイルをアップロードされる事がないように、ファイル名に使用される記号をサニタイジングする。
できれば通信は全てSSLで保護する。
セキュアモードCookieの利用 WebLogicの設定の場合、
 weblogic.xml デプロイメント記述子の、
 cookie-secureをtrueに設定する。
 クッキーを HTTPS 接続でのみ返信するようブラウザに指示する。これにより、クッキー ID が保護され、HTTPS を使用する Web サイトでのみ使用されるようになる。この機能を有効にすると、HTTP でのセッション クッキーは機能しなくなる。
安全なセッションIDの使用
 セッションID用のcookieの生成・維持はWebLogicサーバによって自動的に行われます。
アクセス権限のチェック
 チェックしましょう。
セッションタイムアウトの設定
 セッションは一定時間が過ぎると切断されるように設定する。長期(例えば1日以上)のセッション保持は行わない。
Cookieの有効ドメイン範囲制限
 Cookieの有効度メイン範囲は必ず限定しCookieの漏洩を防ぐ。
Cookieのハードディスクへの保存禁止。有効期限を指定しない事
 Weblogicではデフォルトでユーザがブラウザを終了すると期限が切れるようにクッキーが設定されているので問題ありません。
認証後に、新たなセッションIDを発行する事。ログインページではセッションIDを発行しない
セッションIDをGETメソッドで送らない
 CookieによるセッションIDの管理を行う。
脆弱なパスワードの拒否
ログイン、リトライ可能回数の制限
 本案件ではユーザ名、パスワードでのログインは行わない。
平文パスワード保存の禁止
 DBに保存するパスワードはハッシュ化しましょう。
秘密情報は画面へ表示しない
 秘密情報は画面へ表示しない事。表示しなければならない場合、マスクして表示するなどの対策を行う。
本番環境にソースファイルやバックアップファイルなど不要なファイルを置かない。
 アタックの足がかりになることがあります。
管理機能へのアクセス制限、原則、インターネット経由でのアクセスを禁止する
Webアプリケーションアセスメントの実施
 「セキュリティアセスメントサービス」等を受けるようにする。
Webシステムペネストレーションテストの実施
 コンピュータやネットワークのセキュリティ上の弱点を発見するテスト手法の一つで、システムを実際に攻撃して侵入を試みる手法。実際にWebサーバへアクセスしアタックを行いセキュリティホールが存在しないか確認する。
  1. 2007/08/02(木) 10:44:59|
  2. 開発メモ-Java
  3. | トラックバック:0
  4. | コメント:3

WebLogicのメモリ量をいじる

C:\bea\weblogic92\samples\domains\workshop\init-info\startscript.xml

            <!--<value>-Xms256m -Xmx512m</value>-->
            <value>-Xms256m -Xmx256m</value>

上記ファイル色々いぢるが反映されずーダメです。

たぶん「startscript.xml」の設定に基づき、
setDomainEnv.cmd や startWebLogic.cmd
が作られているようです。でもどうやって作るのかわからないので
手っ取り早くsetDomainEnvを直接以下のように変更した。

C:\bea\weblogic92\samples\domains\workshop\bin\setDomainEnv.cmd

とりあえず半分の値にしてみた。今のところこれで動作している(動作不安定になるようであればメモリ増やしてみるのも手)
mxとmsを一致させるとパフォーマンスがあがるかも(メモリサイズが固定され動的確保の時間がなくなるはず?)

@REM set MEM_ARGS=-Xms256m -Xmx512m
set MEM_ARGS=-Xms128m -Xmx256m

ポイントベースも邪魔なのでfalseにする。本来起動オプションで制御出来るっぱいバッチになっているが解析すんのも面倒なんで直接falseにしてまえば問題解決

@REM set POINTBASE_FLAG=true
set POINTBASE_FLAG=false

上記設定でとりあえずWeblogicのメモリ使用量が半分以下になった。
  1. 2007/08/02(木) 10:36:39|
  2. 開発メモ-Java
  3. | トラックバック:0
  4. | コメント:0

JSTL

http://www.oklab.org/java/jstl.html

http://www.javaroad.jp/opensource/js_taglibs1.htm

個別のJSPページでJSTL宣言を省略する
http://www.atmarkit.co.jp/fjava/javatips/119jspservlet39.html
  1. 2007/08/02(木) 10:34:58|
  2. 開発メモ-Java
  3. | トラックバック:0
  4. | コメント:0

MSプロジェクト

http://www.altech-ads.com/Details/HighlyDeveloped.htm
  1. 2007/08/02(木) 10:34:37|
  2. 便利なツール類
  3. | トラックバック:0
  4. | コメント:0

2度押し制御について

System.currentTimeMillis() などの情報を元にしてページにhiddenフォームでIDを
埋め込んでしまうのはいかがでしょう?

最後に発行したIDをセッションに記録するなどして、そのセッションに対して直前に
サーブレットが割り当てたIDをもつ処理しか受け付けないようにします。処理後は別
のIDを割り当てて、変更が反映されたページを返すと同時に、セッションに関連づけ
られたIDを更新します。
こうすれば毎回別々のIDを使わなければならないので、リロード処理のように同じID
を送るものを排除できると思うのですが。

商品Aを2個追加→商品Aをさらに2個追加のような処理が無視される恐れも排除し
なければなりませんし。

[Struts] フォームの2度押し防止
http://d.hatena.ne.jp/nadi/20040107#p1

2度押し防止(同期トークン)
http://muimi.com/j/jakarta/struts/struts5.html
  1. 2007/08/02(木) 10:32:28|
  2. 開発メモ-Java
  3. | トラックバック:0
  4. | コメント:0

キャッシュについてしらべてみた

http://www.atmarkit.co.jp/fjava/rensai2/webopt12/webopt12.html
http://web.archive.org/web/20031226055709/www.zdnet.co.jp/developer/java/jspprog/01/03.html

POSTとGETについて
http://interstage.fujitsu.com/jp/technical/sample/PostGet-Method.pdf
  1. 2007/08/02(木) 10:31:45|
  2. 開発メモ-Java
  3. | トラックバック:0
  4. | コメント:0

クラスタ化されるサーブレットおよび JSP のプログラミング上の考慮事項

・セッション データはシリアライズ可能でなければならない
・setAttribute を使用してセッション ステートを変更する
・シリアライゼーションのオーバーヘッドを考慮する
  1. 2007/08/02(木) 10:31:10|
  2. 開発メモ-Java
  3. | トラックバック:0
  4. | コメント:0

Beehive

Beehiveはどうなった?

http://codezine.jp/a/article/aid/411.aspx?p=2
http://codezine.jp/a/article.aspx?aid=378
http://www.itmedia.co.jp/enterprise/articles/0411/08/news002.html
  1. 2007/08/02(木) 10:30:33|
  2. 開発メモ-Java
  3. | トラックバック:0
  4. | コメント:0

セキュリティ参考資料

セキュリティ参考資料(かなり参考になりました)
http://www.nic.ad.jp/ja/materials/iw/2005/proceedings/T18.pdf
  1. 2007/08/02(木) 10:29:46|
  2. 開発メモ-Java
  3. | トラックバック:0
  4. | コメント:0

負荷テストツールについて調べた

高負荷試験には、高負荷をかけるためのソフトウェアを使用します。
http://www.geocities.jp/blue_guitar_2006/0901_stresstool.html

負荷テストの基本を学ぶ
http://www.itarchitect.jp/methodology_and_design/-/28761.html

 負荷テストツール
http://web.archive.org/web/20050415125536/http://www.dotfoward.jp/System/LoadTest/LoadTestTool.html

はてな サーバの負荷テストツールの情報をください。
http://q.hatena.ne.jp/1112054078

AIXフリーツール(& Linux)
http://homepage3.nifty.com/sony/sd/contents/aix_free.htm#%83p%83t%83H%81[%83}%83%93%83X
  1. 2007/08/02(木) 10:29:09|
  2. 開発メモ-Java
  3. | トラックバック:0
  4. | コメント:0

Weblogicのセキュリティ・認証について

セキュリティ プロバイダは、WebLogic Server のセキュリティ レルムに「プラグイン」してアプリケーションにセキュリティ サービスを提供するためのモジュールです。セキュリティプロバイダは、アプリケーションの代わりに WebLogic Security フレームワークに働きかけを行います。

WebLogic Server 製品に付属しているセキュリティ プロバイダがセキュリティ要件を完全に満たしていない場合には、カスタム セキュリティプロバイダで補足するか、あるいはカスタム セキュリティ プロバイダに置き換えることができます。

WebLogic セキュリティ プロバイダの開発
http://edocs.beasys.co.jp/e-docs/wls/docs92/dvspisec/index.html

懸案事項として、ハッシュ方式によるシングルサインオン設計をWebLogicの提供するセキュリティフレームワークにそって開発する必要がある。工数はそこそこかかりそうな雰囲気。ざっくり15d~20d見積もった方が良いかもしれない。


WebLogicにはSAMLによるシングルサインオンの為の相互認証機能が備わっている。
実装方式はどちらかというと『エージェント型』のようだ。
SAMLは9.2では標準装備のようだが、
http://edocs.beasys.co.jp/e-docs/wls/docs92/secintro/archtect.html#wp1067596
8.1ではオプションのようだ(WebLogic Enterprise Security)。
http://edocs.beasys.co.jp/e-docs/platform/docs81/secintro/wles.html
  1. 2007/08/02(木) 10:26:48|
  2. Spring
  3. | トラックバック:0
  4. | コメント:0

WebLogicのエディション比較(やっと見つけた)

http://www.hitachi-densa.co.jp/business/integration/platform/weblogic/05.html
  1. 2007/08/02(木) 10:25:51|
  2. Spring
  3. | トラックバック:0
  4. | コメント:0

BEA WebLogic Serverの調査

(1)BEA WebLogic Server 9.2
 J2EE 1.4
 Spring Framework、Apache StrutsとBeehive、Enterprise JavaBeans(EJB)3.0 が使用できる。
 SpringおよびBeehiveとの統合:開発者は、業界最先端の軽量オープンソースフレームワークと、従来型のJ2EE開発を融合、調和させることができます。エンタープライズレベルの堅牢さと、軽量プログラミングアプローチの長所を組み合わせることが可能です。Spring Beanのための管理機能とトランザクション能力を提供します。
BEA WebLogic Workshop 9.2(KODOを使えばJava SEでもEJB3.0 Entityが利用可能です)
http://blogs.sun.com/takemura/date/200605

Spring 2.0でのJPA(Java Persistence API)の利用
http://www.beasys.co.jp/dev2dev/pub/a/2006/03/jpa-spring-medrec.html

SpringとWebLogic Serverの統合
http://www.beasys.co.jp/dev2dev/pub/a/2005/09/spring_integration_weblogic_server.html

Springの導入によるJ2EE開発の改善
http://www.beasys.co.jp/dev2dev/pub/a/2005/07/better_j2eeing.html

Springにトランザクションの"サスペンション(一時停止)"を装備する
http://www.beasys.co.jp/dev2dev/pub/a/2005/07/spring_transactions.html

クラスタ化アプリケーションのセッション管理
http://www.beasys.co.jp/dev2dev/pub/a/2005/05/session_management.html

Jakarta Commons LangでJavaがシンプルに
http://www.beasys.co.jp/dev2dev/pub/a/2005/4/commons_lang.html
  1. 2007/08/02(木) 10:25:05|
  2. Spring
  3. | トラックバック:0
  4. | コメント:0

WebLogicマニュアルよりSpringの情報

WebLogic Server 9.2 における Spring Framework のサポート
http://edocs.beasys.co.jp/e-docs/wls/docs92/programming/spring.html
http://edocs.beasys.co.jp/e-docs/platform/suppconfigs/configs/spring/spring_92.html#88177
  1. 2007/08/02(木) 10:24:26|
  2. Spring
  3. | トラックバック:0
  4. | コメント:0

Springと比較されるSersarの調査

(1)Sersarの調査

The Seasar Projectの全貌を探る
http://www.atmarkit.co.jp/fjava/index/index_seasar2.html

三菱東京UFJ銀行,オープンソースのJava開発フレームワークSeasar2を大規模システムの構築に採用
http://itpro.nikkeibp.co.jp/article/NEWS/20060719/243685/

ISIDと日本HP、オープンソースJ2EE開発基盤Seasar2の展開で協業
http://japan.zdnet.com/oss/story/0,3800075264,20188567,00.htm

「HTML画面をそのまま仕様書に」,5カ月で1000画面を構築した就職サイトPuffの高速開発手法
http://itpro.nikkeibp.co.jp/article/COLUMN/20070214/261859/

セッション一覧(事例)
http://event.seasar.org/sc2006autumn/Session#tgfdd55c70

Seasar 2.4リリース! 今更でも恥ずかしくない、始めてみようDIプログラミング
http://journal.mycom.co.jp/articles/2006/11/16/seasar/menu.html

Seasarセットアップ
http://s2container.seasar.org/ja/setup.html

(2)SpringよりSeasarが優れている点調査

パフォーマンス徹底比較!! Seasar2 VS Spring
http://www.thinkit.co.jp/free/article/0605/4/1/
  1. 2007/08/02(木) 10:23:15|
  2. Spring
  3. | トラックバック:0
  4. | コメント:0

J2EE開発におけるEJBの問題点

Webベースの情報システムを構築する場合J2EEのEJBが主に用いられてきました。しかしながら、EJBは従来より問題点として以下の点が挙げられてきました。
・構成物の多さ(ホームインターフェイス・コンポーネントインターフェイス)による工数の増加
・環境構築の手間(アプリケーションサーバの必要性)
・ビルドの複雑さ(Ant やXDocletを利用することで手間の軽減をしたとしても依然として煩雑)
・ビルド時間の長さ
・単体テストの難しさ(テストするにもアプリケーションサーバーが必要)
また、元々EJBは分散処理・分散トランザクションのコンポーネントとして開発されており、単にWebベースの情報システムを構築する場合は重すぎました。

そこで近年、J2EEに対する批判の中で注目を集めているのが軽量コンテナです。軽量コンテナとはPOJOと呼ばれる普通のオブジェクトのライフサイクルの管理や、オブジェクト間の依存関係の解決を行うアーキテクチャを実装したコンテナです。

軽量コンテナの利点
・単体テストが容易(単体テストの実施にはアプリケーションサーバーなどの特別な環境を必要としない)
・アーキテクチャの柔軟性(Strutsなど他のフレームワークと連携)
・開発効率の向上
  1. 2007/08/02(木) 10:22:21|
  2. Spring
  3. | トラックバック:0
  4. | コメント:0

RSSフィード

カレンダー

07 | 2007/08 | 09
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

カテゴリー

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

リンク

このブログをリンクに追加する

メールフォーム

名前:
メール:
件名:
本文: