Presentation is loading. Please wait.

Presentation is loading. Please wait.

Perl 用 Web アプリケーション フレームワーク考察 EY-Office 吉田裕美 協力:株式会社ユラス Shibuya Perl Mongers テクニカルトーク #2 Tue, 1 Apr 2003 We are a group of people dedicated to the encouragement.

Similar presentations


Presentation on theme: "Perl 用 Web アプリケーション フレームワーク考察 EY-Office 吉田裕美 協力:株式会社ユラス Shibuya Perl Mongers テクニカルトーク #2 Tue, 1 Apr 2003 We are a group of people dedicated to the encouragement."— Presentation transcript:

1 Perl 用 Web アプリケーション フレームワーク考察 EY-Office 吉田裕美 協力:株式会社ユラス Shibuya Perl Mongers テクニカルトーク #2 Tue, 1 Apr 2003 We are a group of people dedicated to the encouragement of all things Perl-like in Shibuya.

2 なぜフレームワークなのか 短い開発期間 信頼性が求められる 仕様変更、機能拡張は必ずある いつも優秀な人材が確保できるとはかぎらな い 設計やコードの再利用

3 再利用 ライブラリー ( モジュール ) フレームワーク Application Module Application Module Application Module Framework Appl 再利用される部分 ・設計・実装の自由度は高い ・「設計」が再利用されなかもし れない ・生産物の質、開発効率が開発者 のレベルに依存しやす ・設計・実装はフレームワークの スタイルにあわせる必要がある ・「設計」が再利用される ・生産物の質、開発効率が開発者 のレベルに依存しにくい

4 GN/GNAフレームワークの特徴 (1) Web Appl用基本機能 セッション管理 post/get 値の処理 ( 日本語、ファイル upload…) cookie エラー処理 タイムアウト処理

5 GN/GNAフレームワークの特徴 ( 2 ) 高度な型の集中管理 通貨 (\23,000) や E-mail アドレスなどのアプ リ寄りな型のサポート 入出力時の内部⇔外部表現の変換 入力時の形式、値の自動チェック 型はアプリレイヤーで追加可能 型とカラム (DB) の対応付け

6 GN/GNAフレームワークの特徴 (3) ページ遷移の集中管理 現在のページとイベント (submit button) によ る遷移の制御 アプリ ( マクロ ) の戻り値による遷移の制御 論理的なページとテンプレートの対応付け 遷移のグループ化 Excel の表で遷移を記述し upload

7 GN/GNAフレームワークの特徴 (4) デザイナーに優しいテンプレート HTML editor/IE 等でテンプレートを表示し てデザイナーがページを ( 想像し ) デザインで きる デザイン時だけに有効なデザイナー支援タ グ 必要最小限な制御タグ (switch,loop) アプリで動作を定義可能な 関数タグ DB(型)との連携

8 GN/GNAフレームワークの特徴 (5) アプリ支援の機能 標準マクロ(定義済アプリ) 検索結果の表示、データ入力・確認・DB格納 … ログイン ユザー ( ユザークラス ) 毎にテンプレートの一 部を ON/OFF するアクセス制御 ヘルプページ機能 パンくずリストサポート機能

9 GN/GNAフレームワークの特徴 (6) その他 DB アクセス・ライブラリー リソースの集中管理 DB 定義、型、メッセージ、ページ遷移 … コンフィグファイル デバック支援 ログ管理 メール送信 文字列処理 ( 日本語 …)

10 GN/GNAフレームワークのMVC モデル <% gna simple_confirm region=user_region table=userm %> View: テンプレー ト sub gna_simple_confirm { my ($opt,$tmpl) = @_; my $table = $$opt{table}; # 項目のチェック gna_check_param_exists($opt,'table,hidden _values_id'); gna_check_param_exists($opt,'loop_id,data _id') if( $$opt{cols} ne '' ); my @titles = split(/,/,$$opt{titles}); # null_ok が 1 なら NULL チェックをしな い my $old_null = gn_db_set_null_check( $$opt{null_ok} ne '1' ); # デフォルト値の設定 %input に値がないと きに、指定されたマークから始まる # 値で置き換える if( $$opt{input_default_prefix} ne '' ) { my $mark = $$opt{input_default_prefix}; Modele: マクロ定義 Controller: ページ遷移 <% gna simple_confirm region=user_region table=userm %> (1) (2)(2) (3)(3) (4)(4) (5)(5)

11 GN/GNAフレームワークを使ってみ て (1) 利点:開発者のレベルによらない開発が出来 た あるプロジェクトのメンバー例 リーダー(アーキュテクト、兼業) ‥‥ 1 人 フレームワーク開発者(専用) ‥‥ 1人 アプリ開発者(専用) ‥‥ 1人 アプリ開発者(兼業) ‥‥ 3人 デザイナー(兼業) ‥‥ 1人 開発期間、品質ともに予想以上であった

12 GN/GNAフレームワークを使ってみ て (2) 問題点:いかにフレームワークの設計思 想、使い方を開発メンバーに理解しても らうか ドキュメント 講習会 サンプルコード QAミーティング

13 GN/GNAフレームワークを使ってみ て (3) 問題点: アプリとフレームワークの機能 拡張機能分担をどうするか アーキュテクト(リーダー)の洞察力 設計思想に立ち戻る 問題点ミーティング

14 Perl 2 年生の私がフレームワークを作るの に思ったこと・・・ (1) Perl は以前に思っていたより高速 Perl は以前に思っていたより 大規模なプログラム作 成に耐えられる言語 オブジェクト指向 vs 手続き型 吉田は Perl のオブジェクト指向がどうも好きになれなかっ た・・・ 実は Perl のオブジェクト指向を良く理解してないだけかも ^^); 手続き型を採用 逆QA: どうなんでしょう か?

15 Perl 2 年生の私がフレームワークを作るの に思ったこと・・・ (2) Module を積極的に使う・使わない? Module の信頼性はだいじょうぶ? とくに依存関係のある Module のバージョンアッ プは安全? Module 間でAPI等に一貫性がない? ほとんど Module は使わなかった 逆QA: どうなんでしょう か?

16 ご清聴 ありがとうございま す! GN/GNA フレームワークルーツに関する問い合わせ先 株式会社ユラス ma@yuras.co.jp 03-5457-1351 ♪♪♪ 吉田 裕美 (Yuumi Yoshida)


Download ppt "Perl 用 Web アプリケーション フレームワーク考察 EY-Office 吉田裕美 協力:株式会社ユラス Shibuya Perl Mongers テクニカルトーク #2 Tue, 1 Apr 2003 We are a group of people dedicated to the encouragement."

Similar presentations


Ads by Google