おなじ内容を異なる方法でサービスしている情報もあるが、基本的には 情報の内容や使われ方を考慮して、最も適した方法でサービスを行っている。 以下、それぞれのサービス内容について説明する。
利用: 接続ホスト: culis.ll.chiba-u.ac.jp, login: culis
特に専用のアカウントを持つことなく、いわゆるguestログインで蔵書検索など のサービスを提供する方法をここでは「匿名ログイン」と称する。 基本的なソフトウェアtelnetを使ってホストと接続することで利用する。 CULISの匿名ログインでは次のようなサービスを行っている。
匿名ログイン利用の様子を図1〜図4に示す。図1は匿名ログイン最初のメニュー 画面である。図2は蔵書(図書)検索において、キーワード入力を行っている画面である。 図3のように検索結果が示され、これらの中から項目を選択すると図4のように書誌情報、 所在情報が表示される。
通常の蔵書検索の他にgopherクライアントを利用できるようにしており、 電子掲示板はこのgopherのメニュー項目の一つとして提供されている。 その他に、利用者からの意見のフィードバックを容易にするため、 要望、コメントを受け付けることができるようになっている。
匿名ログインは利用者側に特別なソフトウェアを必要とせず、最も手軽に 利用できる方式である。CULISでは匿名ログインからgopherクライアントを 利用できるようにしたため、後で述べるようにgopherサーバを通じて本図書館 のサーバで公開されているオンライン版の図書館報や利用案内はもちろんのこと、 世界中のそのほかのgopherサーバで公開されている豊富な情報への入口としての 役割を果たしている。
利用: 接続ホスト: ftp.ll.chiba-u.ac.jp, login: ftp
匿名ログインと同じように、特別にアカウントを取得することなく、ftpサーバに アクセスしファイルの転送を行うことができる仕組みが匿名ftp(anonymous ftp)で ある。インターネット上ではこの方法を用いてソフトウェアや文書などの配布が 広く一般的に行われている。
CULISではシステム利用に当たって必要なマニュアル、 CULISについての発表論文などの関連ドキュメントを配布する目的で匿名ftpを使用 している。
このような文書の配布はgopher、WWWによっても可能であり、それらによるほうが 操作性が良いが、匿名ログインの項目で述べたようにgopher, WWWなどのクライアントが 利用者側の環境に整っていなければ利用できない。ftpはtelnetとともに最も基本的な ソフトウェアであり、インターネットに接続されたほとんどの環境で利用可能である。
CULISのftpサーバでは受け取るファイル名の指定の仕方で、漢字コード変換を 行うようにしてある。
利用: 接続ホスト: gopher.ll.chiba-u.ac.jp, port: 70
gopher用クライアントを使ってサーバにアクセスし、メニュー形式の項目を 選択することによって目的の情報を得ることができる。利用者側にgopherクライアント が必要である。CULISのgopherサーバでは次の情報を提供している。
gopherでは通常のファイルの他、ftpサーバをアクセス することが可能である。また、ローカルサーバ上のファイルだけでなく、 その他のサーバ上のファイル、項目などを自分のサーバ上の項目として登録する (リンクを張る)ことが可能である。また、検索画面のための簡単な検索語の入力機能も 持っており、サーバから検索プログラムを呼び出すことで匿名ログインの 蔵書検索の項目と同じような機能を提供している。システム利用のための ドキュメントの項目は、すでに述べた匿名ftpへのリンクとなっており、 実際のファイルはftpサーバ上に存在している。 外部のサーバリストは項目数が多数であるため、主題別サーバリストとして公開 されているリストを主題のNDCで分類した主題別サーバリストを提供している。
図5〜図8にgopher利用時の画面の様子を示す。図5はgopherサーバのトップ メニューである。図6は蔵書検索gopherインターフェースの項目を選択した時の 画面である。図7はキーワード入力時の画面である。図8はその検索結果の画面である。 この画面で項目を選択すると、図4と同じように書誌情報、所在情報を表示できる。
利用: http://www.ll.chiba-u.ac.jp/
WWW(World Wide Web)はインターネット上のあらゆるリソースをシームレスに、 また、必要に応じて双方向で 扱える仕組みである。WWW用のプロトコルhttp(hypertext transfer protocol) だけでなく、ftp, gopher, nntp(ネットワークニュース)などのプロトコルも 解釈できる。WWWで使用する記述言語HTML(Hypertext Markup Language)は ハイパーテキストを記述できる言語で、文書中のアンカーを使って他の項目へリンクを 張ることができる。 また、通常のテキスト、HTMLで記述された文書だけでなく、GIF, JPEGなど各種の 形式の画像ファイル、μ-law形式などのサウンドファイル、MPEGなどの動画 ファイルなど、いわゆるマルチメディア情報も扱うことができる。
WWWを利用するには、利用者側にWWWクライアントや、サウンド再生、画像表示 などのためのHelperと呼ばれる各種ソフトウェアが必要である。
CULISのWWWサーバでは次に示す情報を提供している。
図9〜図13にWWWのクライアントの一種であるMosaicを使ってWWWサーバをアクセス している様子を示す。ここでは日本語化されたInfomosaic(富士通)を使用した。 図9はWWWサーバのホームページである。図10は蔵書検索WWWインターフェース のキーワード指定画面の様子である。図11は検索結果の画面である。この中の 項目の一つを選択すると図12に示すように書誌所在が表示される。シリーズものに ついては、シリーズ名のアンカーから集合書誌のページ(図13)へのリンクを張り 関連情報へのアクセスを容易にした。
蔵書検索のWWW版は、匿名ログイン、gopher版のものと同様の内容を提供する ものであるが、WWWのCGI(Common Gateway Interface), Fill-out Formの機能を 駆使して穴埋め形式の使いやすい設計としている。また、WWWのハイパーテキストの 機能を活かし、雑誌の書誌情報における変遷関係のリンクや、図13に示すような図書の シリーズものの親子関係のリンクを実現している。
利用案内、図書館報についてもHTMLで記述し、図・写真を文章中にインライン イメージで埋め込んだり、関連情報へのリンクを活用するなど、ハイパーテキスト の特性を活かした記述としている。
電子掲示板の項目については、gopherの電子掲示板へのリンクとしており、実際には gopherサーバ上のものが参照される。利用のためのドキュメントについても gopher上の項目へのリンクとなっている。さらにgophereからはftpサーバをアクセス するようになっている。
利用: http://w3gate.ll.chiba-u.ac.jp/ キャッシュ付proxyサーバ http://w3gate.ll.chiba-u.ac.jp:8001/ 漢字コード変換(SJIS) http://w3gate.ll.chiba-u.ac.jp:8002/ 漢字コード変換(EUC) http://w3gate.ll.chiba-u.ac.jp:8003/ 漢字コード変換(JIS)
その他のインターネットへのサービスとして、CULISの電子掲示板へ登録 された内容(図書館から利用者へのお知らせ)を学内ニュースグループへ自動的に 流すようにしてある。また、WWWサーバクライアントシステムの機能の補助のため、 キャッシング機能付の proxyサーバ、WWWクライアント用漢字コード変換のためのdelegateサーバを 学内向けに運用している。
なお、本システムのハードウェア上の構成は次の通りである。ネットワークに 接続された culib, zeamiの2台のワークステーションからなっている。
culib: NEC EWS 3100/310, メモリ 48メガバイト, ディスク 1Gバイト OS EWS-UX/V Release7.1 Rev.J zeami: NEC EWS 3100/330, メモリ 64メガバイト, ディスク 6Gバイト OS EWS-UX/V Release8.1 Rev.D
・ログインシェル(culis-sh) ・かな漢字変換フロントエンドプロセッサ(canuum) ・メニュー管理(cumenu) - 図書検索(culis-b, bulis-b) - 雑誌検索(culis-s, bulis-s) - gopher(gopherクライアント) - 投書送信(meyasu)
通常のアカウントでは csh等のシェルをログインシェルとして使用するが、 匿名ログイン用のculisではC言語で記述したプログラムculis-shをログイン シェルとして設定している。culis-shでは匿名ログイン後、利用者が実行できる コマンドを限定するようにしている。culis-shの中でシステムコールchroot(2)が 実行され、匿名ログイン用の制限された環境を構成するための、通常とは異なる ルートディレクトリが設定される。chroot(2)の実行により、匿名ログインで実行 する必要のないコマンドは匿名ログインの環境からは見えないようになる。 引き続き、機能限定シェルrshが起動される。 このrshでは (1)コマンドのフルパス指定での起動ができない、(2)カレント ディレクトリの変更ができない、などの制限が設けられている。
meyasuは電子メール の使えない環境からの利用者がシステム管理・運用スタッフへフィードバックを行う ためのプログラムで、投書された内容は実際は電子メールで管理用メーリングリスト へ送信されるようになっている。
cumenuから起動されるgopherクライアントにはセキュリティの面からいくつかの 制限が必要であるが、gopherクライアントには元々その目的のための オプション(-s, -S)が設けられており、それによって対応している。これらの 安全モード用のオプションを指定すると、gopherクライアント利用中のファイルの 保存やプリントが禁止されるほか、シェルがrshである場合は、gopherクライアント からシェルを起動することができないようになっている。
そのほか、学外からの匿名ログインではgopherクライアントからtelnetを起動 できないように設定している。これはrshのコマンドパスにtelnetを加えるか 否かで切り換えている。
・ftpサーバ用ftpd(wu-2.4) - GNU tar - GNU gzip - 漢字コード変換フィルタ(nkf)
ftpサーバ用のftpdとしては、OS標準のftpdの代わりにwu-ftpd(wu-2.4)[6]を使用した。 wu-ftpdでは、設定によってディレクトリをtar形式にまとめて受け取ったり、 ファイルを圧縮して受け取ることが可能である。CULISのftpサーバではこれに加え、 拡張子の指定によって希望の漢字コードに変換したものを受け取ることができる ように設定している。
culis.txt ---> culis.sjis 漢字コードをSJISに変換して受け取る
同様に .jis でJIS漢字コードに、 .euc でEUC漢字コードに変換したものを 受け取ることが可能である。漢字コード変換にはnkf[8]を使用している。 CULISのftpサーバはドキュメントの配布がその主な 役割であるため、この機能は重要である。元ファイルがEUCで記述されている ファイルを受け取るとき、システムの漢字コードがSJISであるパソコンからftpを かけた場合でも直接プリント可能なSJISコードでファイルを受け取ることができる。
・gopherサーバ(gopherd) port=70, 一般用 ・gopherサーバ(gopherd) port=5858, 検索プログラム動作、ftpサーバゲート用 - 図書検索結果表示(culis-b-go-disp) - 雑誌検索結果表示(culis-s-go-disp) ・図書検索要求用(culis-b-go-query) port=5859 ・雑誌検索要求用(culis-s-go-query) port=5860
gopherサーバ用のデーモンとしてはgopherd[5]を使用している。 gopher.ll.chiba-u.ac.jpでは2つのgopherサーバ用daemonが別のポートで動作している。 ポート70で動作しているgopherdは一般用で、gopherクライアントを使って接続した 場合の通常のトップメニューを表示するためのものである。掲示板、オンライン版の 図書館利用案内、図書館報、他のサーバへのリンク情報はこのデーモンで処理される。 ポート5858で動作しているgopherdは匿名ログインのchroot(2)先と同じディレクトリを ドキュメントルートとして動作しており、蔵書検索gopherインターフェースの処理、 gopher経由での匿名ftpへのゲートウェイの処理を行っている。
ポート5858で動作するgopherdのドキュメントルートのリンクファイルには Type=7(フルテキストインデックス)へのリンクを記述した次のような項目があり、 culis-b-go-queryを起動するようになっている。
Type=7 Name=[OPAC] 千葉大学附属図書館蔵書検索(単行本) Numb=1000 Path=b Host=+ Port=5859
culis-b-go-queryでは、ポート5858のgopherdで culis-b-go-dispを実行するように 指定した項目からなる検索結果のメニューを返すようになっている。 図8がこのメニューに相当する。
0電子回路 exec:5229:/gobin/culis-b-go-disp gopher.ll.chiba-u.ac.jp 5858 0電子回路演習 exec:6328:/gobin/culis-b-go-disp gopher.ll.chiba-u.ac.jp 5858
gopherではメニュー画面にヒット件数を表示することは難しいが、CULISの蔵書検索 gopherインターフェースでは、図8に見られるように、Type=i のエントリを利用して 検索結果を表示できるように工夫してある。culis-b-go-queryからgopherdに渡される 結果のうち、この部分に相当する部分は次のようになっている。
i検索語=電子回路, ヒット件数=20件 i/ gopher.ll.chiba-u.ac.jp 70 i i/ gopher.ll.chiba-u.ac.jp 70
図8のようなメニューで項目を選択した場合、ポート5858のgopherdから
culis-b-go-disp 5229 culis-b-go-disp 6328
などが実行され検索結果が表示されることになる。ここで渡される数字はデータベースの レコードを識別するためのレコード番号である。
・WWWサーバ(CERN httpd 3.0) culib port=80, http://www.ll.chiba-u.ac.jp/用 - 図書検索要求用(culis-b-www-query) - 雑誌検索要求用(culis-s-www-query) - 図書検索結果表示(culis-b-www-disp) - 雑誌検索結果表示(culis-s-www-disp) ・キャッシュ付proxyサーバ(CERN httpd 3.0) zeami port=80, http://w3gate.ll.chiba-u.ac.jp/用 ・漢字コード変換サーバ(SJIS)(delegated) zeami port=8001, http://w3gate.ll.chiba-u.ac.jp:8001/ ・漢字コード変換サーバ(EUC)(delegated) zeami port=8002, http://w3gate.ll.chiba-u.ac.jp:8002/ ・漢字コード変換サーバ(JIS)(delegated) zeami port=8003, http://w3gate.ll.chiba-u.ac.jp:8003/
culib port=80で動作しているhttpdがCULISのWWWサーバ用デーモンである。 CERN httpd 3.0[7]を使用している。 蔵書検索WWW版のHTMLによる記述(図10相当)では、
<FORM METHOD="GET" ACTION="/cgi-bin/culis-b-www-query.sh"> <br><INPUT TYPE="submit" VALUE="Go"> <INPUT TYPE="reset" VALUE=Clear> <h4>T: タイトル, A: 著者名, W: 重要語, P: 出版者, N: 責任表示</h4> <H2>検索語指定欄</H2> <OL> <LI>[T<input type="checkbox" name="T1" value="T:">] [A<input type="checkbox" name="A1" value="A:">] [W<input type="checkbox" name="W1" value="W:">] [P<input type="checkbox" name="P1" value="P:">] [N<input type="checkbox" name="N1" value="N:">]<br> <INPUT NAME="kywd1"> <input type="radio" name="MM1" value="" checked>前方一致 <input type="radio" name="MM1" value="$">完全一致 </OL> </FORM>
のような記述により、/cgi-bin/culis-b-www-query.sh が呼び出される。 culis-b-www-query.shはシェルスクリプトであり、次のような内容である。
#!/bin/sh eval `cgiparse -form | nkf -e` ( echo $FORM_T1$FORM_A1$FORM_W1$FORM_P1$FORM_N1$FORM_kywd1 echo $FORM_T2$FORM_A2$FORM_W2$FORM_P2$FORM_N2$FORM_kywd2 echo $FORM_T3$FORM_A3$FORM_W3$FORM_P3$FORM_N3$FORM_kywd3 echo $FORM_T4$FORM_A4$FORM_W4$FORM_P4$FORM_N4$FORM_kywd4 echo $FORM_T5$FORM_A5$FORM_W5$FORM_P5$FORM_N5$FORM_kywd5 ) | exec culis-b-www-query 5
cgiparseはCERNのhttpdに付属のコマンドで、WWWクライアントから渡された フォームの入力情報を解析し、環境変数 FORM_T1等に設定できる形式で出力する。 クライアントからのフォーム入力は環境によってどの漢字コードで行われるか 不定であるので、nkfを使ってシステム標準の漢字コードに変換した上で処理を 行っている。従ってCULISのWWWでは、クライアントから入力される漢字コードは SJIS, EUC, JISのどれであっても良い。環境変数に設定された情報を、echo等を 使ってスクリプトで再編集しculis-b-www-queryの入力として渡す。 culis-b-www-queryではこれをもとに、検索を実行し結果をHTMLの記述として返す (図11相当)。そのなかには
<LI> <A HREF=/cgi-bin/culis-b-www-disp?20085832> 電子回路 </a> <LI> <A HREF=/cgi-bin/culis-b-www-disp?20064306> 電子回路の基礎</a> <LI> <A HREF=/cgi-bin/culis-b-www-disp?20064470> 電子回路入門</a>
のような記述があり、アンカー部分をクリックするとそれぞれ
culis-b-www-disp 20085832 culis-b-www-disp 20064306 culis-b-www-disp 20064470
が実行され、詳細ページが表示される。コマンドラインで渡されているのは レコードを特定するためのキーとなるIDである。
zeamiのポート80では、キャッシュ付のproxyサーバを運用している。学内の クライアントから複数回学外の同じ文書へのアクセスがあった場合、1回目に それをディスクにキャッシュしておき、2回目以降はそのキャッシュされた 内容を返すことで、学外への回線のトラフィックの軽減と高速なレスポンス を実現している。また、限られた漢字コードしか扱えないクライアントから でも、異なる漢字コードで記述された文書のアクセスを可能とするための漢字 コード変換サーバ(delegated[9])をzeamiで運用している。 現時点ではMacintosh, MS-Windowsで動くクライアントの大部分が、マイクロ ソフト漢字コード(SJIS)対応で、EUC, JIS漢字コードには対応していないため、 このような漢字コード変換サーバが必要とされている。
各サーバ間の参照関係は次のようになる。
httpd(http://www.ll.chiba-u.ac.jp/) ↑ ↑ ↑ httpd(http://w3gate.ll.chiba-u.ac.jp/) → その他のサーバ ↑ ↑ ↑ ↑ ↑ delegated(http://w3gate.ll.chiba-u.ac.jp:8001) ↑ ↑ ↑ delegated(http://w3gate.ll.chiba-u.ac.jp:8002) ↑ ↑ ↑ ↑ delegated(http://w3gate.ll.chiba-u.ac.jp:8003) ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ JIS漢字コード専用クライアント(学内専用) ↑ ↑ ↑ EUC漢字コード専用クライアント(学内専用) ↑ ↑ SJIS漢字専用クライアント(学内専用) ↑学内の各WWWクライアント(学内専用) 学内外の各WWWクライアント
culib: 別名 culis, ftp, gopher, www 匿名ログインサーバ 匿名ftpサーバ(wu-ftpd) ftp://ftp.ll.chiba-u.ac.jp/ gopherサーバ(gopherd) gopher://gopher.ll.chiba-u.ac.jp:70/ gopher://gopher.ll.chiba-u.ac.jp:5858/ WWWサーバ(httpd) http://www.ll.chiba-u.ac.jp/ zeami: 別名 w3gate キャッシュ付proxyサーバ(httpd) http://w3gate.ll.chiba-u.ac.jp/ 漢字コード変換サーバ(delegated) http://w3gate.ll.chiba-u.ac.jp:8001/ (SJIS用) http://w3gate.ll.chiba-u.ac.jp:8002/ (EUC用) http://w3gate.ll.chiba-u.ac.jp:8003/ (JIS用)
・匿名ログイン版(一般ユーザ用、分館用) ・gopher版 ・WWW版
の3種類が用意されている。何れも汎用のデータベースライブラリ等は用いておらず、 C言語で独自にコーディングして使用している。 これらは全く別のシステムとして準備されているわけではなく、検索に 使用されるデータベースファイルはどれも共通であり、検索に使用される プログラムについても、同じソースコードツリーから条件コンパイルの機能を 用いて、それぞれの実行形式が生成されるように工夫しているため、基本的部分は 共通になっている。検索プログラムの内部構造についてはここでは触れない。
[2] 桧垣泰彦, 有岡圭子, 池田宏明 : 千葉大学附属図書館の利用者のための 情報システム(culis), 第23回 jus UNIXシンポジウム論文集 (1994.7)
[3] 桧垣泰彦,有岡圭子,池田宏明 : 千葉大学附属図書館のインターネット情報サービス, 医学図書館, Vol. 41, No.3, pp.277-285 (1994.9)
[4] ftp://ftp.nec.co.jp/pub/packages/Canna32/Canna32.tar.gz
[5] ftp://boombox.micro.umn.edu/pub/gopher/Unix/gopher2.016.tar.Z
[6] ftp://wuarchive.wustl.edu/packages/wuarchive-ftpd/wu-ftpd-2.4.tar.Z
[7] ftp://www0.cern.ch/pub/www/src/WWWDaemon.tar.Z, ftp://www0.cern.ch/pub/www/src/WWWLibrary.tar.Z
[8] ftp://utsun.s.u-tokyo.ac.jp/fj/nkf/nkf-1.4.tar.gz
[9] ftp://etlport.etl.go.jp/pub/DeleGate/delegate1.9.8.tar.gz
図2. 匿名ログイン 蔵書検索 キーワード入力
図3. 匿名ログイン 蔵書検索 検索結果表示
図4. 匿名ログイン 蔵書検索 書誌所在情報表示
図5. gopher トップメニュー
図6. gopher 蔵書検索
図7. gopher 蔵書検索 キーワード入力
図8. gopher 蔵書検索 検索結果
図9. WWW ホームページ
図10. WWW 蔵書検索 キーワード指定
図11. WWW 蔵書検索 検索結果
図12. WWW 蔵書検索 書誌所在情報表示
図13. WWW 蔵書検索 集合書誌情報