Web アプリケーション開発に Wagby を採用する 10 の理由

Web アプリケーション開発に Wagby を採用する 10 の理由
Web アプリケーション開発に
Wagby を採用する 10 の理由
平成18年6月
株式会社ジャスミンソフト
Web アプリケーション開発に Wagby を採用する 10 の理由
Wagby の優位性 ベスト 10
1. 100%自動生成による圧倒的
な開発生産性。
2. カスタマイズ性の高いソース
コードを提供。
3. 一覧表示機能の悩みを解決。
4. マルチユーザが安心して更新
できる仕組み。
5. ロールベースの権限管理。
6. 一般的な業務処理を標準装備。
7. 削除しないマスタデータ運用方法
を提供。
8. Ajax の採用により Web の限界
を超えたインタフェースを実現。
9. 万全のセキュリティ。
10. マルチプラットフォームへの対
応。
Web アプリケーション開発に Wagby を採用する 10 の理由
1.
100%自動生成による圧倒的な開発生産性
仕様変更のインパクトを労働力ではなく自動生成エンジン(Wagby)に吸収さ
せることで高い開発生産性と保守性を実現します。
これまでの開発
仕様変更
頼めます
?
Wagby の登場
仕様変更
頼みます!
他所からヒトをかき
あつめて、何とか
やってみます…
お客様
お客様
その仕様をこう解釈す
れば自動生成できま
す。よろしいですか?
PRJリーダー/SE
PRJリーダー
これまで製造したプログ
ラムにも手を入れること
になりますけど…
ヒトがくる
と聞いてい
たのに、ネ
コじゃない
ですか…
SE
また残業です
か…私、もう
ヤバイです。
プログラマ
ジャスミンソフト
仕様変更も定義ファイ
ルを書き換えるだけな
ら簡単だ。
カスタマイズした部分だ
けメンテナンスすればい
いので負担が軽い。
プログラマ
Wagby にこの仕様
をとりこめば、保守
性はさらに向上する
ので、お手伝いしま
す。
プログラマ
お客様の要求を自動生成エンジンが提供可能なパターンに持ち込むことで、プログラミングゼロ(最高の生産性)を実現します。
Web アプリケーション開発に Wagby を採用する 10 の理由
2.
カスタマイズ性の高いソースコードを提供
MVCアーキテクチャに準拠した一定品質のソースコードを提供します。可読性
も高く、カスタマイズ方法も用意されています。
Generation Gap
Base Class
Sub Class
Hook Operation
自動生成される
開発者による実装
自動生成された
メソッド
フックメソッド
開発者による
実装
再自動生成を行っても、追加・拡張されたコードは残されます。
なお Wagby が生成したソースコードそのものも自由に改変することができます。(Java, JSP, 各種設定ファイル含む)
Web アプリケーション開発に Wagby を採用する 10 の理由
3.
一覧表示機能の悩みを解決
Webアプリケーションにおける一覧表示機能の実装は面倒です。Wagby はコ
ネクションプーリングとデータキャッシュを高いレベルで組み合わせました。
実装上の悩み
Wagby の方式
キャッシュ
Web
DB
一覧表示中はコネクションをキープしないと「次へ」
「前へ」といった画面制御ができないが、そうすると同
時接続ユーザ数に制約がでてしまう。
コネクション解放を優先するなら、検索結果が大量にみ
つかった場合、一度にすべてのデータをロードしなくて
はならない。それはシステムの負荷が高い。
いっそのこと、一覧表示は最大 100 件までといった運用
上の制約をかけようか。しかし使い勝手は悪いよなぁ。
Web
DB
コネクションプーリング
一覧表示では N * 10 件をデータベースから読み込み、
キャッシュを行います。その直後、コネクションプーリ
ングは解放しますので多くの利用者がいても安心です。
キャッシュされているデータを表示する
ので高速です。必要になったら改めて
SQLの呼び出しを自動的に行います。
Wagby ではさらに、検索問い合わせ条件をセッション中に保持したり、同時表示件数を可変にするという機能もあります。
Web アプリケーション開発に Wagby を採用する 10 の理由
4.
マルチユーザが安心して更新できる仕組み
Webアプリケーションはマルチユーザ環境で使われるため、更新処理には気を
使います。Wagby は最も望ましいとされる「画面ロック」を提供します。
実装上の悩み
Wagby の方式
A
同じレコード
B
DB
安直なのは「早いもの勝ち」方式だけど、これだと最初
に更新したユーザのデータはすぐに上書きされるので、
トラブルになるだろうな。
DB側に更新番号をもたせておいて、書き込み時に自分
がもっている更新番号と改めて比較するという手もある
けど、これだとエンドユーザに再入力させる可能性があ
るので使い勝手は悪そうだ。しかもパフォーマンスも悪
そうで、負荷が高いときの処理が不安だ。
画面ロック
A
Web
DB
B
利用者 A があるデータ X の更新画面を開くタイミング
で、X についてのロック処理を行います。
利用者 B は、同じデータ X の更新画面を開くことがで
きません。よって二重更新の可能性がなくなります。
利用者 A の更新が終わればロックは解放
されます。
Wagby ではセッションタイムアウトやログオンユーザ強制退去機能により、画面ロックが永久に保持されることはありません。
Web アプリケーション開発に Wagby を採用する 10 の理由
5.
ロールベースの権限管理
ロールベース権限管理により、運用中に利用者が操作できる機能を変更するこ
とができます。三段階のアクセスレベルで柔軟な設定が行えます。
A
B
三段階のアクセスレベル
モデルXの読み込み権
モデル単位
M
モデル項目単位
I
データ単位
D
モデルYの書き込み権
運用中に、権限を任意に追加したり、取り除
いたりすることができます。
DB
Wagby でできる具体的な運用例
「山田さんは営業日報データの書き込みが行えるが、佐藤さんは閲覧することしかできない。」 I
「鈴木さんはそもそも、営業日報データというものがあることさえも知らなかった。」 M
「太田課長は “上司コメント” 欄を記入できるが、山田さんはこの項目だけは閲覧しかできない。」 I
「佐藤さんは自分のグループのデータしか閲覧できない。」 D
Wagby の権限管理は JAAS (Java Authentication and Authorization Service) をベースに実装されています。
Web アプリケーション開発に Wagby を採用する 10 の理由
6.
一般的な業務処理を標準装備
さまざまな入力チェック処理をはじめ、テーブル同士の参照(参照連動)、計
算、カレンダービュー、集計ビュー、メール送信機能などが標準装備。
[入力チェック]
[繰り返し項目]
必須チェック、文字形式チェッ
ク、長さチェック、関連性
チェック、正規表現その他。
項目単位の繰り返し、またはグ
ループ化された複数項目の繰り
返しが可能。内部ではテーブル
を分割、正規化している。
Web
[ビュー]
同じデータを別の視点から参照
する。カレンダービューやマッ
プビュー、集計ビューがある。
集計ビューでは棒・折れ線・円
グラフに対応。
DB
[テーブル連携]
繰り返し入力、他テーブルの参
照、参照連動(顧客名を参照す
ると部署や役職を同時に参照し
て表示する、など。)
[帳票]
[メール送信]
[自動計算]
[登録更新日の自動記録]
Webサーバで動的にExcelファイル
を生成し、利用者へ送出。利用者側
ではExcelを用いて印刷を行うこと
ができる。帳票レイアウトは Excel
で自由に行える。
データの登録・更新時に自動で
送信する。またはボタンイベン
トでの手動送信も行える。
四則演算、SUM、
MAX/MIN/COUN/AVG
データの登録、更新タイミング
(日時と実行者)を自動記録。
[ウィザード入力支援]
大量データ入力時にも利用者の
負担を軽減するウィザード形式
の入力を実現する。
[外部システム連携]
XML 形式データへの出力あるいは一括取り込みに対応。
CSV ダウンロードや、アップロード一括更新機能も提供。
これらの機能は Wagby 定義ファイル(Excel形式)にパラメータを指定するだけで構築できます。プログラミング不要です。
Web アプリケーション開発に Wagby を採用する 10 の理由
7.
削除しないマスタデータ運用方法を提供
キーによるデータ参照では、参照先のデータが削除された場合、どうするかと
いう問題があります。Wagby は「有効期間」の概念で解決しました。
顧客データ
氏名
大城 タロウ
住所
東京都…
種別
1
03-…
電話
顧客種別マスタ
コード
顧客の種別は
コード値で管理
している。
顧客種別マスタは削除させない代わりに、デー
タ毎に「有効期限」項目をもたせます。
1
2
3
内容
民間企業
これらの
データは削
除できな
い!
自営業
公務員
DB
「有効期限」欄に日付を設定することで、いつ
からいつまで、このデータが有効だったかを指
定することができます。
任意のデータに「有効期限」項目を持たせることができます。無効になったデータの参照時は、表示側でマーキングされます。
Web アプリケーション開発に Wagby を採用する 10 の理由
8.
Ajax 採用による Web を超えた I/F を提供
Ajax の最大のメリットは、フォームのリロードなしに動的に画面表示内容を
書き換えることができることです。Web の可能性が大きく高まります。
(4)
村山さんの画面にはさりげなく
「Javaコーヒー」の価格と在庫数
量が表示されました。
(1)
村山さんが「見積書」
を新規に作成していま
す。
Web
DB
見積明細入力で、商品
マスタから商品「Java
コーヒー」を選択しま
した。
(2)
(3)
村山さんは引き続き他の項目を入
力中ですが、裏でこっそり「Java
コーヒー」の価格と在庫数量を
データベースに問い合わせます。
データベースは「Javaコーヒー」
の価格と在庫数量を Web サーバ
に返します。
Wagby では Ajax によるデータ取得機能が自動生成されます。開発者は JavaScript を記述する必要はありません。
Web アプリケーション開発に Wagby を採用する 10 の理由
9.
万全のセキュリティ
セキュリティホールは、本来書くべきセキュリティ脆弱性対策コードの記述を
「忘れる」ために発生します。Wagby の自動生成技術を使えば安心です。
SQL
インジェクション…
ダウンロード時の
パス指定チェック…
クロスサイト
スクリプティング
脆弱性…
未認証時の
アクセスエラー
対応…
すべてのセキュリティ
ホールに対応できたとい
う保証は、「詳細なテス
ト」を行うしかありませ
ん。しかし、現場ではそ
の工数を確保できないと
いう問題があります。
Wagby はこれらの
脆弱性に対応した
コードの完全自動
生成を行います。
Wagby に含まれている各種ライブラリのセキュリティホール発見時は、速やかにアップデートを行っていきます。
Web アプリケーション開発に Wagby を採用する 10 の理由
10.
マルチプラットフォームへの対応
Wagby は Java 環境で動作しますので OS を選びません。さらにデータベー
スや Web ブラウザにもできるだけ依存しない方針で開発されています。
利用者端末
IE6/Win
FireFox/Win
FireFox/Linux
Safari/Mac
…
Wagby なら選択肢が広い
データベース
Oralce
SQL Server
DB2
PostgreSQL
MySQL
サーバOS
Windows
Solaris
Linux
Mac OS X
…
Wagby は今後もマルチプラットフォームを重視した開発を行っていきます。
Web アプリケーション開発に Wagby を採用する 10 の理由
おまけ:貴方にとっての 11 番目の理由は?
Wagby はここで紹介した以外にも、多くの特長があります。この中には貴方
が採用を決める他の理由があるかも知れません。
国際化対応
メッセージリソースの変
更だけで国際化に対応で
きます。
システム管理
ユーザ管理、グループ管
理といった機能が標準で
備わっています。
O/R Mapping
Hibernate 3 を採用。
SQLのチューニングも行
うことができます。
画面カスタマイズ
JSTL や CSS といった
標準技術で画面のカスタ
マイズが行えます。
高度なパスワード管理
パスワード暗号化、強制
変更、連続ミスのロック
機能が備わっています。
XML との親和性
Relaxer を採用。Java
オブジェクトと XML の
相互変換を実現します。
自動テスト
基本機能についてテスト
シナリオ作成とテストの
自動実行を行います。
監査
すべての操作はログに記
録されます。ログは毎日
ロテートされます。
デプロイの自動化
Ant のための build.xml
自動生成でデプロイまで
も完全自動処理します。
Web アプリケーション開発に Wagby を採用する 10 の理由
Wagby は無償でダウンロードして
ご利用頂けます。
是非ともお試し下さい。
http://wagby.com
「Web アプリケーション開発に Wagby を採用する 10 の理由」
平成 18 年 6 月 第1.0版
株式会社ジャスミンソフト
本資料の詳細な解説は http://wagby.com をお読みください。