PPT - 講義用WWWサーバ
Download
Report
Transcript PPT - 講義用WWWサーバ
第8章 情報システムの役割
Copyright © the University of Tokyo
この章で学ぶこと
実社会で使われている情報システムがどのように
して作られているか
そもそも情報システムとは何か
表からは見えない構成
作る場合に問題になること
<2>
Copyright © the University of Tokyo
情報システムとは
定義
情報を処理する機器(コンピュータなど)
+ 情報を伝達するネットワーク
⇒ さまざまなサービスや機能を提供する
例
オンラインチケット予約システム
電子掲示板
電子決済システム(銀行ATMなど)
POS (Point of Sales) システム
<3>
Copyright © the University of Tokyo
情報システムの範囲
狭義:いわゆるビジネス・アプリケーション
企業,政府機関,サービス機関などが利用
• 外部に情報サービスを提供する
• 内部の情報管理,意思決定支援に用いる
広義の例
計測や制御系のシステム
組込みシステム
ゲーム機
インターネット
<4>
Copyright © the University of Tokyo
昔の情報システム
計算機本体
磁気テープ装置
一般の人が触る事は稀
http://ar.aichi-u.ac.jp/photo/1980/より。東大の大型計算機センターの写真
<5>
8.1
Copyright © the University of Tokyo
昔の情報システム
磁気ディスク装置
カードパンチャー
http://ar.aichi-u.ac.jp/photo/1980/より。東大の大型計算機センターの写真
<6>
8.1
Copyright © the University of Tokyo
現在の情報システム
ウェブサービス
イベント情報提供,チケット予約
文献検索
地図検索,路線案内
商品販売,オークション
組込みシステム
携帯電話,ディジタルカメラ,カーナビ,冷蔵庫,炊飯
器など
いろいろな場所に,いろいろな形態で存在する
<7>
Copyright © the University of Tokyo
見えにくい情報システム
ソフトウェアは抽象的記述で,物理的実体がない
コンピュータも見えなくなっている
組み込まれたコンピュータ
• 自動車には数十のプロセッサ
• 携帯電話から炊飯器まで
• あまりに日常的で,情報システムであることが意識さ
れない
PCは端末であり,ネットワークの向こうで見えないコ
ンピュータが多数稼動している
<8>
Copyright © the University of Tokyo
端末
ファイルサーバ
proxyサーバ
認証サーバ
ブートサーバ
目に見えないところでいろいろなサーバが動いている 8.1
<9>
Copyright © the University of Tokyo
情報システムの仕組み
ソフトウェア
どんな機能か
作るときの難しさは何か
ハードウェア
どのような構成か
ネットワークの向こうには何があるか
⇒ チケット予約システムを例に解説する
<10>
Copyright © the University of Tokyo
チケット予約システムの概観
利用者が欲しいチケットを探す
空きがあれば
予約情報を書き込む
利用者
システム
日時
名称
価格
空き
予約者
6/20
阪神-巨人戦
4000
×
東大太郎
6/20
阪神-巨人戦
4000
○
×
本郷三四郎
6/20
阪神-巨人戦
4000
○
7/1
ライオンキング
8300
×
駒場花子
7/1
ライオンキング
8300
×
駒場花子
7/1
ライオンキング
6700
○
データベース
<11>
Copyright © the University of Tokyo
実際のチケット予約システム
ソフトウェアの持つ機能: 沢山
公演情報の管理 ・ 公演情報の提供 ・
チケットの予約決済 ・ その他会員管理など
システムの構成
利用者側: Webブラウザ・携帯電話・専用端末
サービス提供者側: 複数のコンピュータ
• 利用者からの要求を受け付けるwebサーバ
• 要求を処理するプログラム
• 種々の情報を管理するデータベース
<12>
Copyright © the University of Tokyo
チケット予約システムの機能
情報照会
ジャンル別,地域別の公演照会
チケット販売スケジュール照会
公演詳細情報提供
公演内容(日時,演目)
公演者(名前,プロファイル)
公演会場(会場名称,住所)
チケット情報(座席別料金,座席表)
予約関連情報(予約受付先,予約受付期間,予約状況)
主催,協賛(名前,住所)
予約機能
公演の指定,チケット受け取り方法指定,予約確定,決済
付随機能
誤入力の処理,キャンセルの処理
<13>
Copyright © the University of Tokyo
チケット予約システムが提供する機能
細かく見てゆくと沢山ある → 作るためには列挙する必要
情報照会: ジャンル別・地域別・チケット販売スケジュール
予約機能: 公演・受け取り方法を指定 →
席の提示 → 予約確定 → 決済
付随機能: 誤入力の処理 / キャンセルの処理
公演詳細情報提供
→ データベースの設計
例: 公演内容(日時,演目) / 公演者(名前,プロファイ
ル) / 公演会場(会場名称,住所) / チケット情報(座席
別料金,座席表) / 予約関連情報(予約受付先,予約受
付期間,予約状況) / 主催,協賛(名前,住所)
<14>
Copyright © the University of Tokyo
チケット予約システムの仕組み
<15>
Copyright © the University of Tokyo
システムを作る際に大事なこと
多くはクライアント・サーバ型の構成をとる
通信規約(プロトコル)
データベースの存在
安全性に配慮
一貫性の配慮
予約中に電源を
切ったら?
2人が同時に
予約したら?
<16>
Copyright © the University of Tokyo
ウェブサービスの構造
サーバ上で動的にページを作成する仕組み:
CGI, Servlet, JSPなど
<17>
Copyright © the University of Tokyo
クライアント/サーバ型
ネットワーク上の分散システム構成
クライアント: サービスを要求
サーバ: サービスを提供
例
ウェブ
• ウェブブラウザとウェブサーバ
データベース
メール
ファイル保管
<18>
Copyright © the University of Tokyo
防火壁(ファイアウォール)
不正アクセスの排除のために備えられる
データベースサーバへのアクセスを制御
利用者は直接アクセスできない
ウェブブラウザを使ってのアクセスのみ許可
<19>
Copyright © the University of Tokyo
通信規約HTTP (HyperText Transfer Protocol)
WWWクライアントとサーバの間の通信に関する
約束事
基本は情報の取得
クライ
アント
欲しいページのURL (GET)
ページの内容
サーバ
処理を依頼するためにも使われる
サーバでプログラムが動く
クライ
アント
情報の提供(POST)
処理結果
<20>
サーバ
Copyright © the University of Tokyo
通信規約HTTP
HTTP (HyperText Transfer Protocol)
クライアントとサーバの間のやりとりに関する通信規
約(プロトコル)の一種
通信要求のコマンド例
• GET: クライアントがサーバから情報の資源(ページ)を
取得するために出す要求
• POST: クライアントがサーバに情報を与えるために出
す要求
<21>
Copyright © the University of Tokyo
ウェブに関する用語
HyperText
参照されているテキストに自動的に参照する仕組み
を備えたテキスト (Vannevar Bush, As We May Think,
1945)
Web
ハイパーリンク(HyperTextからHyperTextへのリン
ク)で相互結合された文書群
WWW
World Wide Web, インターネット上に構成された(普通
の)Web, the Web
<22>
Copyright © the University of Tokyo
データの入力 (1)
GETコマンドを用いた検索
例:Googleで”ticket”を検索した場合
http://www.google.co.jp/search?sourceid=navclient
&ie=UTF8&rls=GGLC,GGLC:197001,GGLC:en&
q=ticket
<23>
Copyright © the University of Tokyo
データの入力 (2)
FORMタグでデータの入力欄を作る
<form method=post action="/servlet/test-servlet">
氏名: <input type="text" name="name"><br>
住所: <input type="text" name="address" size="80"><br>
メール: <input type="text" name="email" size="50"><br>
パスワード: <input type="password" name="password"><br>
<input type="submit" value="注文">
</form>
<24>
Copyright © the University of Tokyo
動的なページの作成
動的なページ作成の要因
利用者からの入力データの解釈
データベースの検索
ウェブサーバ上で動的ページ作成プログラムを動
かすための仕組み
CGI (Common Gateway Interface)
• PerlやPHPなどのスクリプト言語で作成
Servlet
• Javaで作成,CFIVEはこの仕組み
JSP (JavaServer Pages)
<25>
Copyright © the University of Tokyo
システム開発上の考慮点
利用者の使いやすさ
データの機密保護
処理の一貫性
並行処理
悪意を持った攻撃への対処
<26>
Copyright © the University of Tokyo
利用者の使いやすさ
使いやすくなければ利用者は離れる
使いやすさの要素
見やすいページ・デザイン
少ない入力の手間
誤入力の訂正や防止
応答の速さ
<27>
Copyright © the University of Tokyo
データの機密保護
チケット予約は個人情報入力を求める
問題点と対策
情報の送信中の漏洩防止 ⇒ 暗号化
• SSL (Secure Socket Layer): https
なりすましの防止 ⇒ 個人認証
• 利用者コードとパスワード
• 生体認証(指紋,虹彩など)
収集された個人情報の外部流出防止
•
•
利用の範囲:プライバシーポリシー
流出防止策:個人情報保護法
<28>
Copyright © the University of Tokyo
ウェブブラウザ
ウェブサーバ
HTTP
暗号
化
HTTP
SSL
復号
暗号
→3.4.2参照
<29>
Copyright © the University of Tokyo
公開鍵
秘密鍵
共通鍵
暗号化
暗号化
復号
暗号
共通鍵
復号
→3.2.3参照
<30>
Copyright © the University of Tokyo
悪人の鍵をつかまされると...
公開鍵
秘密鍵
復号
共通鍵
暗号化
共通鍵
復号
<31>
秘密鍵
?
Copyright © the University of Tokyo
公開鍵の確認
ディジタル署名
確認する方
復号 公開鍵
公開鍵
秘密鍵
暗号化
確認される方
一致=OK
共通鍵
暗号化
公開鍵
秘密鍵
復号
<32>
共通鍵
Copyright © the University of Tokyo
処理の一貫性
処理の中断の可能性
ネットワーク切断,パソコンの故障,利用者の操作ミ
スなど
データベースの内容の一貫性の保持
予約が未完了なのに席が予約状態になったり,予約
されずに請求だけされるなどといったことを防ぐ
一連の処理をトランザクションとしてまとめる → トラ
ンザクションが中断された場合はロールバックして初
期状態に戻す
<33>
Copyright © the University of Tokyo
並行処理
システムには同時に多数の利用者がアクセスする
重複予約の防止
排他制御
最新予約状況の表示
表示と予約実行間の状態変化への対応
<34>
Copyright © the University of Tokyo
並行処理がうまくいっていない例
23Dが空いている 23Dが空いている
Aさん
23Dを予約
Cさん
23Dを予約
重複登録
23Dが空いている
23Dが空いている
23Dはお待ちください
23Dが空いている
Cさん
Cさん
Aさん
Aさん
23Dを予約
もういいよ!
23Dを予約
やっぱりやめた
予約できません!
売れ残り
さっき空いているっていったじゃない?
<35>
Copyright © the University of Tokyo
悪意を持った攻撃への対処
サービス拒否攻撃 (Denial of Service
Attack)
不正な大量アクセスによるサーバのダウン
対策
• トラフィック量などのデータ監視による攻撃検出 → 特
定された攻撃サイトからのアクセス拒否
– DDoS (分散DoS, Distributed DoS)で対抗される可能性も
• ログデータの収集と分析
<36>
Copyright © the University of Tokyo
さまざまな情報システム
組込みシステム
コンビニの商品管理システム
オンライン金融取引システム
ディジタルアーカイブ・システム
<37>
Copyright © the University of Tokyo
組込みシステム
装置や機器に組み込まれ,それを制御するコン
ピュータシステム
構成要素
入力: センサーなどから流入する連続的/間歇的
信号
出力: アクチュエータ(動作装置)への制御信号
表示装置へのデータ出力
<38>
Copyright © the University of Tokyo
組込みシステムの特性
実時間 (realtime) 性
厳しい資源制約
CPU能力,記憶容量,電源容量,発熱量,コスト
高い信頼性の要求
不具合の社会的影響
リコールのコスト
• 信頼性を向上させるためのコストとのトレードオフ
優れた操作性による誤操作の防止
<39>
Copyright © the University of Tokyo
Therac-25事件
Therac-25: 放射線治療機
電子ビーム治療, 低エネルギー, 短時間
X線治療, 高エネルギー電子ビームをターゲットに当
ててX線を放射
事件の概要
誤動作により,ターゲットがセットされないまま高エネ
ルギー電子ビームを照射
過被爆で6人死亡
<40>
Copyright © the University of Tokyo
Therac-25事件の問題点
古いプログラムをそのまま使用した
エラー警告はあったが説明が無かった
病院が患者の訴えを信じなかった
安全装置をコストダウンのために削った
高価な機器なので事故発生後も使用した
インタフェースのタイミング問題があった
オペレータが操作に慣れ操作が早くなると発生した
アセンブリ言語で記述されていた
デバッグがしにくい
<41>
Copyright © the University of Tokyo
USS Yorktown dead in water after divide by zero
"Peter G. Neumann" <[email protected]>
Tue, 21 Jul 1998 13:07:45 -0700
The Navy's Smart Ship technology is being considered a success, because
it has resulted in reduced manpower, workloads, maintenance and
costs for sailors aboard the Aegis missile cruiser USS Yorktown.
However, in September 1997, the Yorktown suffered a systems failure
during maneuvers off the coast of Cape Charles, VA., apparently as a
result of the failure to prevent a divide by zero in a Windows NT
application. The zero seems to have been an erroneous data item that
was manually entered. Atlantic Fleet officials said the ship was dead in
the water for about 2 hours and 45 minutes. A previous loss of
propulsion occurred on 2 May 1997, also due to software. Other
system collapses are also indicated. [Source: Gregory Slabodkin,
Software glitches leave Navy Smart Ship dead in the water,
Government Computer News, 13 Jul 1998, PGN Stark Abstracting
from http://www.gcn.com/gcn/1998/July13/cov2.htm]
<42>
Copyright © the University of Tokyo
US Navy’s Harvard Mark
II
初めてbugと
いう用語が使
われたという
話
もっとも,bug
という用語は
それ以前から
使われていた
らしい
http://www.history.navy.mil/photos/pers-us/uspers-h/g-hoppr.htm
1947.9.9
<43>
Copyright © the University of Tokyo
Mr. Edison, I was informed, had been up the
two pervious nighs divcovering ``a bug’’ in his
photograph - an experssion for aolving a
difficulty, and implying that some imaginary
insect has secreted itself inside and is causing
all the trouble --- Pall mall Gazette, 1889
I ranged from the pre-design development of
essential components, through the stage of type
test and flight test and ``debugging’’ right through
to later development of the engine. --- Journal of
the Royal Aeronautical Society, 1945
<44>
8.3.1
Copyright © the University of Tokyo
組込みシステム例: ディジタルカメラ
<45>
Copyright © the University of Tokyo
組込みシステム例: ディジタルカメラ
シャッター
ボタン
画像記録装置
オートフォーカス
レンズ駆動
<46>
自動露出
コントラスト検出
CCD
画像生成
Copyright © the University of Tokyo
ディジタルカメラの基本機能
撮影機能
静止画撮影,動画撮影の切り替え,撮影,オートフォーカス設定
セルフタイマーの設定,ズーム設定,フラッシュのモード切り替え
画像サイズと画質の設定,ホワイトバランス設定
出力編集機能
外部インターフェースへの画像出力
撮影した画像の通常再生,拡大再生
画像編集機能
削除,消去禁止設定
付加機能
撮影日時などの表示設定,時計設定,操作音の切り替え
記録媒体のフォーマット
<47>
Copyright © the University of Tokyo
ディジタルカメラのシステム構成
制御系
センサー: 撮像素子(CCDやCMOS)
アクチュエータ: 自動焦点用のレンズ移動装置等
情報系
画像データのメモリーカードなどへの記録,管理
画像データの画面表示
データの外部転送
インターフェース
シャッターボタン,入力用ボタン,レバー,液晶画面などによる
インターフェース
<48>
Copyright © the University of Tokyo
カメラ特有の制御機構
自動焦点機構
撮像素子からの画像信号を解析
コントラスト最大位置の探索
アクチュエータによるレンズ位置移動
自動露出機構
光量を測定
絞りとシャッター速度を決定
<49>
Copyright © the University of Tokyo
商品管理システム
POS (Point of Sales) = 販売時点管理
売れ筋の把握
緻密な在庫・受発注管理
レシート記述情報の詳細化
バーコードからICタグへ
無線による自動認識:
RFID (Radio Frequency Identification)
情報量が多い
書き換えができる
複数を同時に読むことができる
<50>
Copyright © the University of Tokyo
バーコード
<51>
Copyright © the University of Tokyo
ICタグ
<52>
Copyright © the University of Tokyo
ICカードのシステム
TypeA
TypeB
住民基本台帳カード
学生証
TypeC
Felica
• Suica
• Edy
<53>
Copyright © the University of Tokyo
ICカードのシステム
偽造が困難
秘密鍵が入っている
ICカードのなかで暗号化する
失効管理が可能
鍵をなくすと大変
多機能
カードにいろいろなアプリケーションを載せることができる
• 共通ID
• ポストペイ
• SafetyPass
<54>
Copyright © the University of Tokyo
オンライン金融取引システム
インターネット上での株式売買
ホームトレード
市場規模の増大
プロと素人の混在
外国為替取引
シミュレーション・システム例
<55>
Copyright © the University of Tokyo
<56>
Copyright © the University of Tokyo
ディジタルアーカイブ・システム
歴史資料や芸能をディジタル情報に変換して保存
タグ付けによる検索支援と情報管理
対象となる文化資産
静的:絵画,彫刻,仏像,歴史的建築物など
動的:舞踊,歌舞伎,能など
<57>
Copyright © the University of Tokyo