&size(24){&color(darkgreen){''システム設計''};}; #navi(DB/Technolink) ***データベース設計 [#o602d1dc] +データベースの規模 --テーブル数: 10程度 --項目数: 20程度 --データ件数: 8,000件程度 +データ更新処理の頻度と規模 --頻度: 一日数回の新規。あるていど決まった時刻。閲覧は随時。 --規模: 8箇所の事業所から。 +バックアップ計画 --ハードウェアの冗長化 ---ミラーリング --バックアップホスト ---NFS等でデータベースのダンプ --CD-Rやテープ ---随時ダンプファイルをCD-Rに保存 +運用計画 --稼動時間: 24時間365日。許容ダウンタイム6時間。 --定期点検: 1ヶ月に一度。半日程度で終えられる項目。 ***システム設計 [#fba0b658] -主なソフトウェア |~ソフトウェア|~バージョン|~説明| |Apache|2.0.54|最も普及しているオープンソースのWebサーバ| |OpenSSL|0.9.7e|SSL v2/v3,TLS v1をサポートするオープンソースの暗号化ツール| |MySQL|4.0.24|ANSI SQL92準拠,SQL99のサブセットをサポートするオープンソースのデータベース。商用サポートあり。| |PHP|5.0.4|HTML内に記述するタイプのスクリプト言語。Apacheモジュール版を使用。| -主要なLinuxディストリビューション(RHEL, Mandrake, SuSE, Debian等)上で動作。 -データベース用に専用のホスト,あるいはバーチャルホストを用意。 -サイト全体をSSLで暗号化。 --セキュリティ証明書は自己署名。 -セキュリティ --クロスサイトスクリプティング ---入力チェック,出力エスケープ --SQLインジェクション ---データベースモジュールのエスケープ関数 --HTTPレスポンススプリッティング ---HTTPヘッダチェック --ファイルの不正読み取り ---ファイル送信等の不使用 --コマンドの不正実行 ---シェルアクセス不使用 --プログラムの不正実行 ---外部ホストのスクリプトファイル不使用 -ディレクトリ構造 /home/www +--db +--htdocs Apacheバーチャルホストのドキュメントルート +--include PHPライブラリファイル +--config PHPアプリケーションの設定ファイル +--data PHPアプリケーションのデータファイル +--state HTTPセッション管理用一時ファイル -MVCパターン :Model|アプリケーションロジック。データベースとの接続。 :View|出力。テンプレートファイルを用いたHTML出力。テンプレートには構造のみ記述し,画面デザインはスタイルシートで行う。 :Controller|対話処理。ユーザリクエストとレスンポンス。 -PHP5よりオブジェクト指向の記述が可能になった。 --1ファイル1クラス。 --抽象クラスからなるフレームワーク。 ***ユーザインターフェース [#o1603a8e] -画面遷移 -入力フォーム -出力フォーム