Twinsの使い方

2003/04/17 新城靖

http://www.coins.tsukuba.ac.jp/~yas/classes/freshmen-2003/twins.html

■Twinsの技術的な背景

現在の所、技術的に解決するのが難しい問題があって、使いにくくなっている。 技術的な困難さを理解する(少し作る立場に立ってみる)と、使い方が見えて くるところがある。

◆トランザクション

ある一連の処理を、全部きちんとやるか、最初からやらなかったことにするか のどちらかにする(all or nothing)。次の3つの操作がある。

電子メールやワープロの文書を作っていて、保存するか、保存しないで捨てる か、ということに似ている。

Twins の場合、「保存」には、何種類かある。最終的に確定させるまでに、取 り消し可能だけれど保存されている状態(commit も abortもできる状態)とう 考え方がある。使い方によっては便利だが、commit し忘れると、何も申請し ていない状態になる。

◆クライアントとサーバ

Twins を使う時には、次の2つのプログラムを協調させて使っている。 コンピュータが1台しかない場合、プログラムは1つでよい。通信をする場合 には、プログラム(コンピュータ)が2つになる。ネットワークで通信をする プログラムを作る時には、もともとは対称的に動作可能なプログラムを、わざ と非対称にして作りやすくしている。そのうちの1つのプログラム(またはコ ンピュータ)を、「クライアント」、もう1つを「サーバ」という。

元々の意味

クライアント(client)
サービスを受ける方、顧客
サーバ(server)
サービス(service)を提供する方

図? サービスの授受によるクライアントとサーバの定義

図? サービスの授受によるクライアントとサーバの定義

サービスを提供する方は、1つのプログラム(コンピュータ)で複数の利用者 の面倒をみる。その結果、1台のサーバに複数のクライアントがつながる。

クライアント
一人で使うもの
サーバ
複数人で共有するもの

図? 複数のクライアントによるサーバの共有

図? 複数のクライアントによるサーバの共有

TCP/IP では、通信するプログラムとプログラムの間は、電話で会話をするよ うに通信が行われる。両方同時に話をすることは、(可能ではあるが)あまり 行われない。次のようなことを、繰り返すことになる。

クライアント
先に要求を送る、後で結果を受け取る
サーバ
先に要求を受け取る、後で結果を返す

図? 通信のパタンからみたクライアントとサーバの定義

図? 通信のパタンからみたクライアントとサーバの定義

TCP/IP の通信では、通信を始める前に、まず、通信路を作る作る必要がある。 これは、電話で話をする前に、まず、電話をかける操作を行うことと似ている。
クライアント
電話を掛ける方に相当する
サーバ
電話を待っている方

以上のように、クライアントとサーバは、いろいろな意味で使われる。これら の意味は、多くの場合、一致しているが、一致していないこともある。

◆能動的・受動的

通信を開始するパタンで、コンピュータ、プログラム、人間は、次の2つに分 類される。

能動的(active)
ほっといても自分でメッセージを発信し始める
受動的(passive)、受け身
何か言われると答えるが、自分ではメッセージを発信し始めることはない
クライアントとサーバから作られたシステムは、クライアントが能動的になり、 サーバは、受動的になることが多い。

図? 能動的なクライアントと受動的なサーバ

図? 能動的なクライアントと受動的なサーバ

例:WWWサーバは、WWWクライアントから何か要求が来ない限り、ずっと 黙っている。

コンピュータを使う時には、人間が能動的になり、コンピュータが受動的にな る。

テレビを見ている時には、人間が受動的になり、テレビが能動的になる。

講義形式の授業では、サービスの授受では、教官がサーバで、学生がクライア ントになる。通信の開始の方法では、教官が能動的になり、学生が受動的にな る。

大学以上では、学生は、能動的になることが求められている。

◆サーバのデータが最終的なもの

Twins で履修申請をする時には、サーバのデータが最終的なものになる。ブラ ウザ(クライアント)を操作しただけでは、サーバには何のデータも送信され てないこともある。

◆結合が作られない通信

World Wide Web で使われている通信方式 HTTP (Hyper-Text Transfer Protocol)では、クライアントとサーバの間の通信路は、基本的には、1つペー ジを表示するたびに論理的には切れている(実際に切らないこともあるが、切っ たとしてもプログラムがちゃんと動くように作る必要がある)。こういう性質 は、結合が作られない(connection less)という。

◆cookie

cookieは、コンピュータ・サイエンスの専門用語。

協調して動作しているプログラムの間で、ある一連の作業を識別するための数 を意味する。

WWW(World Wide Web)では、1回のデータ転送ごとに通信路が切断される ので、通常はWWWのブラウザ(クライアント)とWWWサーバの間では、途 中経過を保持することができない。

途中経過を保存したい時:

WWWで途中経過を保存するためには、cookie が使われる。

サーバは、その情報を利用して、適切なページ(たとえば前回最後に訪れたペー ジ)を表示させるようにすることができる。

Twins では、ログインに成功したこと(認証されたこと)を、cookie で覚え ている。ログインからログアウトまでの間を、「セッション」という。Twins にアクセスする時には、ブラウザの設定で cookie を受け付けるようにする必 要がある。cookie を受け付けないように設定していると、次のような エラーが表示されることがある。

---------------------------------------------------------------------- システムエラーが発生しました 処理の内容とエラーメッセージを下記までお知らせください エラー内容 CO0041:ブラウザからのユーザ情報が不明です (無効なセッションです) 対応策 なし 担 当 学務第一課システム開発  内線電話 E-Mail ----------------------------------------------------------------------

◆「戻る」ボタン

WWW ブラウザには、前のページに戻る機能がある。これは、以前に取り込んだ データを表示しているだけで、サーバには何の通知も行われていない。

Twins を使っていると、「戻るボタンで元に戻るな」という警告が出ることが ある。

◆SSL

SSL (Security Session Layer) とは、暗号化された通信路を作り出す仕組み である。さらに、サーバが本物であることを調べる機能がある。(たとえ、暗 号化された通信路でも、偽物のサーバに大事なデータを打ち込んではいけな い。)

SSL を使う場合、URL は、 http: ではなく、https: (最後にS) で始まる。

SSL を使う状態と使わない状態を行き来する時には、WWW ブラウザが教えてく れる場合が多い。右下には、下記がかかっている絵が表示される。

◆man in the middle攻撃

通信する2つのプログラムの間に入り込み、通信を中継しながら内容を盗んだ り書き換えたりする。

SSL では、通信相手(普通はサーバ側)が本物であることを、認証局から発行 された証明書で確認することができる(man in the middle攻撃に耐えられる)。

◆認証局

WWW ブラウザは、あらかじめいくつか信頼できる認証局を保存している。

◆ログインとパスワードの変更

Twins の接続に使う URL (Universal Resource Locator、WWWページのアドレ スを表記方法の1つ) は、次の通り。

https://twins.tsukuba.ac.jp/

学群用(undergraduate)を選ぶ。大学院用もある。

最初にログインする時には、名詞大の大きさのカードに書かれたパスワードを 使う。(先週配った icho のパスワードではない。)最初にログインする時に、 新しいパスワードに変更するように促されるかもしれない。その時には、 「 情報学類 教育用計算機システム使用の手引き 」の4ページある方法で、パ スワードを生成する。

◆TA

火曜日のコンピュータリテラシの授業で既に接続して、もう登録できそうな人 は、Teaching Assistant として外の友だちの手伝いをしてほしい。

◆改善提案

Tiki 掲示板に、Twins 改善提案を記述する場所を開いた。

https://www3.coins.tsukuba.ac.jp/~yas/j03/d/tiki.cgi

来年以降の新入生のために、忘れないうちに、改善提案をメモしておいてほし い。ただし、複数人で同時に同じページを編集しようとすると、先に保存した 人が勝つ。後から保存するのは、「タイムスタンプが違う」というようなエラー が出てうまくいかない。その時には、書き込みたいページの内容を別の場所に コピー(もう1つ別のウインドウを開いてもよい)して、新しい内容を読み込 み、最初からやりなおす。

Tiki には、教官の連絡先、自己紹介のページ(内容は、まだ空)がある。 Tiki を使うには、Coins にログインする時のパスワードが必要になる。(今の 技術では、最初にログインした時の情報を渡せない。研究レベルではある。)

◆追加情報

Netscape で Twins にアクセスしようとすると、次のようなダイアログ・ウイ ンドウが表示されることがある。

パスワードマネージャはこのログオンを記憶しておき、次にこの Web サイトへ戻った際に自動的に入力します。パスワードマネージャにこのログオンを記憶させますか? はい、このサイトに対しては保存しない、いいえ

「パスワードマネージャ」は、ブラウザに打ち込んだログイン名やパスワード を保存する機能である。Twins では使わないことを奨める。特に、一番最初に 接続した時には必ず新しいパスワードに変更するように求められるので、古い パスワードは記憶させない方がよい。

「パスワードマネージャ」は、パスワードをファイルに保存するが、その時、 単に暗号化して保存する。この暗号化には、また鍵として働くパスワード(マ スターパスワード)が必要になる。マスターパスワードは、設定の「プライバ シーとセキュリティ」という項目の「マスターパスワード」で変更したり、削 除したりすることができる。削除すると、暗号化して保存してあるものは元に 戻せなくなる。マスターパスワードを忘れた場合には、保存してある情報を取 り出すには、暗号を破るしか方法がない。

保存してあるパスワードを部分的に削除したり、保存する Web サイトの変更 をするには、設定の「プライバシーとセキュリティ」という項目の「パスワー ド」という項目を使う。

◆関連情報


Last updated: 2003/04/23 23:48:50
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>