簡単なサンプルを使用してWisdomの仕組み、設定方法をご説明します。Wisdomの仕組みインストール設定サンプルHelloWorldデータベースへ接続してHelloWorldバッチでHelloWorldWisdomの仕組みMVCパターンWisdomは一般的なWebアプリケーションと同じくMVCパターンで動作します。通常はこれらのクラスを継承したり、利用して実装を行います。V-ビューWisdomではJSPを指します。C-コントローラーWisdomでは「コマンド」クラスを呼び出すことによって制御します。要求されたコマンドクラスを呼び出します。コマンドクラスは適宜必要なビジネスロジッククラスを呼び出します。コマンドクラスはアプリケーションの結果に沿ったJSPへ結果を転送します。JSP上でHTMLを生成してクライアントへ戻します。パラメータの値と呼び出すコマンドクラスの設定はxmlにて定義を行います。インストール必要なファイルインストールを行うために必要なファイルです。wisdom.jarwisdom本体。/WEB-INF/libに置いてください。xalan-2.4.1.jarwisdom本体で使用されているxml解析のライブラリー。/WEB-INF/libに置いてください。runtime-command.xmlパラメータと呼び出すコマンドクラスの設定情報です。/WEB-INF/libに置いてください。wisdom_config.xmlサーブレット、データベース情報、ログ出力情報を設定するためのファイルです。config_path_ja_JP.properties実行環境でwisdom_config.xmlの場所を指定するファイルです。設定web.xmlコマンド呼び出しをおこなうwisdom.core.runtime.RunTimeServletというサーブレットが動くようにweb.xmlに設定します。wisdom_config.xmlサーブレットの設定。サーブレットの設定は変更することができますが、ここではデフォルトを使用します。データベース接続の設定。サンプルではPostgreSQLを使用していますが、現在はDB2,Oracleに対応しています。JDBC経由で接続できるデータベースであれば拡張クラスを一つ作成することで接続可能にすることができます。データベース接続を行うサンプルを実行する場合は適宜変更してください。runtime-command.xmlパラメータと呼び出すコマンドクラスの設定情報です。config_path_ja_JP.properties実行環境でwisdom_config.xmlの場所を指定するファイルです。サンプルを実行するときのwisdom_config.xmlが配置されているWEB-INFのパスを指定します。HelloWorldの稼動確認を行うにはhttp://localhost:8080/wisdom/jp?cid=helloというURLを入力することで確認ができます。遷移先JSPを設定しています。RuntimeContext.getRequestParser(request);というメソッドを使用してリクエストにアクセスするためのIRequestParserのインスタンスを取得します。コマンドクラスの作り方wisdomではAbstractRequestCommandを継承すればコマンドクラスとして動かすことができます。以下の抽象メソッドを実装します。Exception転送するJSPを以下のメソッドで指定します。setPage(String)コマンドクラスの作成ルールは以上です。データベースへ接続してHelloWorldHelloWorldクラスを応用してデータベースへの接続、トランザクション処理を行うサンプルです。使用してテーブルUSERに対してSELECT文を発行してユーザーが登録されているか画面に表示を行います。コマンドクラスはIRequestHandlerクラスのインスタンスをrhという変数で保持しています。IRequestHandlerはデータベースへの接続、セッション情報へアクセスなどアプリケーションに必要なオブジェクトとの橋渡しをするクラスです。データベースへの接続はIRequestHandler#getConnection()※wisdom_config.xml上のdefault='true'と設定されたデータベース接続を取得しますまたはIRequestHandler#getConnection(String)※wisdom_config.xml上のdatasourceのidと同じ設定がされたデータベース接続を取得しますを使って取得します。HelloWorldクラスを応用してデータベースへの接続、トランザクション処理を行うサンプルです。使用してテーブルUSERに対してSELECT文を発行してユーザーが登録されているか画面に表示を行います。メソッドはHttpServletRequest#setAttribute(String,Object)を呼び出します。HttpServletRequest#getAttribute(String)メソッドで取得することができます。データベースへの接続はrh.getConnection()。例外処理は要りません。データベースへの接続はIRequestHandler#rh.getConnection()を使用して行います。wisdom_config.xmlが正しく設定してあれば以上で完了します。取得されたコネクションはコマンドクラス終了時に自動でコミット処理が行われ、実行時に例外が発生した場合にはwisdomがロールバック、コミットを行います。バッチでHelloWorldコマンドクラスはバッチ形式(Javaアプリケーションと動く)も作成することができます。バッチ型のコマンドクラスは単体でJVM上で動かすことや、wisdom_config.xmlに設定することでWebアプリケーションの始動時に動かすことも可能です。このクラスはWebのコマンドクラス同様、トランザクション管理やログ出力などを使用することができます。単体で動かす必要がある場合はmainメソッドを実装します。サーバー始動時にサーブレットコンテナ上で動かす場合は_execute()メソッドが呼び出されます。バッチ型コマンドクラスの作り方wisdomではAbstractBatchCommandを継承すればバッチ型コマンドクラスとして動かすことができます。以下の抽象メソッドを実装します。Exceptionバッチ型コマンドクラスの作成ルールは以上です。トランザクション管理も同様に処理がされるので、例外処理は不要です。Wisdomは、Web・バッチのアプリケーション開発を目的として作られた、汎用性が高く、かつ単純なAPIを持ったフルスタックのJavaフレームワークです。2004年2月に決定されたJavaインターフェースから変更なく数多くのシステム開発のフレームワークとして利用されています。