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 をお読みください。
© Copyright 2024 ExpyDoc