総合滅菌管理システム - mcpc-jp.org · データベース 手術予定と連携 品質管理 効果分析 電子カルテシステム 保管 滅菌 洗浄 手術準備 手術終了
データベースを使用したウェブアプリケーションの開発 手法
-
Upload
lance-miranda -
Category
Documents
-
view
24 -
download
0
description
Transcript of データベースを使用したウェブアプリケーションの開発 手法
データベースを使用したウェブアプリケーションの開発手法
筑波大学 情報学類 吉田光男アドバイザー教員 : 天笠俊之 先生
2006.12.19@3A402
ウェブアプリケーション開発• ユーザ認証のためのテーブル設計
– セッション・ハイジャックの防止
• 複数ブラウザへの対応– IE, Firefox, Opera– Flash の利用
• ライブラリの利用– CPAN, Web API
• キャッシュの利用• バッファリング制御
ユーザ認証のためのテーブル設計
• ユーザ管理テーブル– UserID, Email, Password
• セッション管理テーブル– UserID, SessionID, IP, Expiration
• プライマリキーは int が原則– UserID は int 型
セッション・ハイジャック• セッション
– Cookie で SessionID のやり取り• セッション・ハイジャック
– SessionID が他者に利用されることで発生
• SessionID の推測• クロスサイトスクリプティング( XSS )• 通信の傍受( Sniffer )• セッション固定攻撃( Session Fixation )
セッション・ハイジャックの防止
• SessionID を推測困難にする– ユーザ固有情報を含めない– 十分な長さのキーを( 32 文字)
• PHP 128bit / ASP 32bit
• 汚染チェック( Sanitize )– 出力で行う
• 通信の暗号化( HTTPS )• SessionID の配布はサーバが行う
– ユーザが SessionID を指定できない• その他
– IP, Expiration
複数ブラウザへの対応• ブラウザ・シェア( W3Counter よ
り)– IE 65%, Firefox 27%, Opera 1%
• HTML, CSS のブラウザ対応– W3C 勧告に従う– ブラウザ依存あり
• Ex: padding ( IE では内側に )
• JavaScript / Ajax– prototype.js の使用を検討
Flash の利用• インタラクティブ・コンテンツの作成• マルチプラットフォーム対応
– JavaAplet or Flash– Flash 98%
• インタラクティブ・コンテンツの利用シーン– Ex: 入力の簡略化
• Demo: バーコード認識
ライブラリの使用• 開発スピードを上げる
– 車輪の再開発を避ける– Perl CPAN, PHP PEAR– ライセンスに注意
• サービス公開後– ライブラリから自前関数への変更
• パフォーマンスの改善が見込めるのであれば• トレードオフ
Web API の利用• Web API
– Amazon Web Services をきっかけに– Google Web APIs etc…
• マッシュアップ( MashUp )– 複数のサービスを混ぜる– Ex: Google Maps API + ??
• Demo: Simple FON Maps– Google Maps API + invgeocoder + FON
Maps
キャッシュ• データのキャッシュ
– 取得したデータの再利用• Web API を使用するときは重要
– 取得先サーバ負担の軽減
– 計算した結果を再利用• 演算に時間がかかる処理を
– 全体のパフォーマンスの改善
• キャッシュはキャッシュじゃない– ミラーコピー
バッファリング制御• バッファリング
– バッファにデータをためる– 全体のパフォーマンス改善のため
• ウェブアプリではバッファリングを OFF に– ユーザの利便性 > 全体のパフォーマンス– 処理内容の表示– Ajax の作動中に画像表示
• 画像出してる時点でおかしいけど…
なぜウェブアプリケーション• デバッグが容易
– 作動環境がサーバのみ– 基本的に複数の環境でテストする必要がない
• HTML, CSS, JavaScript は必要あり
• ユーザの手間– ブラウザがあれば実行できる
• モチベーション– 利用ユーザがリアルタイムにわかる– 最新のバージョンをすぐに使ってもらえる
Let's Enjoy
• Simple FON Maps– http://labs.ceek.jp/fon/
• FON– http://jp.fon.com/