800 likes | 884 Views
Z39.50 とその動向. インテック・ウェブ・アンド・ゲノム・インフォマティクス株式会社 技術部 石田 茂. 内容. Z39.50 とは何か? Z39.50 はどのように使用するのか? 市場動向 Z39.50 はどのように機能するのか? Z39.50 と ILL (図書館間相互貸借) 国内利用に向けて必要な環境(合意) Z39.50 の将来. Z39.50 とは何か?. ネットワークベースの情報検索プロトコル OSI 参照モデル7層 - ASN.1 、 BER サーバ / クライアント型
E N D
Z39.50とその動向 インテック・ウェブ・アンド・ゲノム・インフォマティクス株式会社 技術部 石田 茂 Web & Genome
内容 • Z39.50とは何か? • Z39.50はどのように使用するのか? • 市場動向 • Z39.50はどのように機能するのか? • Z39.50とILL(図書館間相互貸借) • 国内利用に向けて必要な環境(合意) • Z39.50の将来 Web & Genome
Z39.50とは何か? • ネットワークベースの情報検索プロトコル • OSI参照モデル7層 - ASN.1、BER • サーバ/クライアント型 • ANSI/NISO Z39.50-1995 (ISO 23950:1998) • NISO - National Information Standards Organization • ISO - International Standards Organization • 米国議会図書館にMaintenance Agency設置 • Ray Denenberg がまとめ役 Web & Genome
ZIG - Z39.50 Implementors Group • Z39.50システムの開発者グループ • 改正、修正、問題認識ならびに提起等を議論 • 実装者合意を作成 • 5ヶ月に一度の会合(北米、EU、ワシントンDC) • コンセンサス主導の作業方針 Web & Genome
開発経緯 • 1978-82 • 初期の開発/調査研究 • 1982-83 • Linked Systems Project Protocol • 1983-84 • ANSI Z39に提出.Z39.50-1984.承認投票に失敗 • 1984-87 • 開発継続 • 1988 • NISOに再提出。Z39.50-1988として承認 • 1979-89 • Z39 SC D Web & Genome
開発経緯 • 1984-91 • ISO SR → ISO 10162/10163 Search & Retrieve (1993) • 1990 • ZIG(実装者グループ)設立 • 1989-90 • Z39.50 Maintenance Agency設立 • 1992 • Z39.50-1992 (version 2) • 1990-95 • version 3開発 • 1995 • Z39.50-1995 • 1998 • ISO 23950 Web & Genome
目的 • クライアント・サーバシステム間で情報検索の相互連携性を確保する • ベンダー間の相互連携 • 様々なDBとユーザIF • 組織間の相互連携 • 様々な図書フォーマット • ユーザグループ間の相互連携 • 公共図書館と大学図書館 • 様々なコミュニティにおける図書館 • コミュニティ間の相互連携 • 図書館、出版社、 DBサービス、美術・博物館等 Web & Genome
どのように使用するか? • 抽象化DB • 標準化されたアクセスポイント • 属性集合 • 標準化された検索式 • 標準化された返戻形式 • スキーマ • 選択可能なレコード構文 • 返戻時にレコードの選択が可能 • レコード内容に左右されない検索処理 Web & Genome
どのように使用するか? • 抽象化されたDBは、実際のDBのフロントエンドとして実装される。 Z39.50クライアント Z39.50サーバ アプリ 機能 Z39.50 クライアント Z39.50 サーバ DB Web & Genome
補足機能 • 走査 • 永続的検索結果集合 • 定期的検索実行 • 蔵書注文 • DB更新 • 仕様導出、発動 Web & Genome
相互連携にみる特徴 • DB毎に異なる機能 • アクセスポイント等の属性集合、実装特徴 • DB毎に異なる情報形式 • US MARC, UNIMARC, SUTRS, GRS-1 • 所蔵情報の内包、分離 Web & Genome
Profile • 標準仕様の使用方法に関する合意規定 • どのアクセスポイントが有効? • どの属性が有効? • レコード構文には何が指定できる? • どの(補足)機能が一般に利用できる? • どのオプションが利用できる? • 特定分野向けのデータは許容される? Web & Genome
Profile例 • ATS-1 • Author, Title, Subject • 初期の図書向け簡易仕様 (廃止) • GILS • 行政情報所在案内サービス • 汎用的な情報所在案内サービスの参照モデル Web & Genome
Profile例 • CIMI • 美術館情報をコンピュータ上で交換するためのコンソーシアムが作成 • テキスト以外に画像情報も検索対象とする • CIP • Catalogue Interoperability Protocol • 国際的な地球観測衛星委員会が作成 • 地理空間情報の検索にも利用される Web & Genome
Profile例 • GEO • 地理空間情報を対象 • STAS • 科学工学向け属性集合を規定 • 正確にはProfileではない Web & Genome
主要な図書館向けProfile • ONE • OPAC Network Europe • 1996年作成 • ノルウェー、ドイツ、英国で利用 • アクセスポイントと要素集合に関する最小規定 • CENL • Conference of European National Librarians • 1997年作成、1998年後半に批准 • ONE profileの拡張版 Web & Genome
主要な図書館向けProfile • Finnish Z39.50 profile • Danish Z39.50 profile • 国際的なONE profileに対して、分類方式に関する国内仕様を追加規定 • CENLとONEの拡張版 Web & Genome
主要な図書館向けProfile • Union Catalogue Profile • Union catalogue向けに要求仕様を定義 • オーストラリアで作成 • 1998年に受理 Web & Genome
Z39.50の難点 • 複雑なプロトコル • 難解な用語 • 元はISO/OSI規格に準拠 • TCP/IP上で実装 • 難解な理論ベースのプロトコル • 様々な抽象化レベル Web & Genome
Z39.50の難点 • 機能的に収斂した製品が未だ無い • 今後、MozillaのRDF実装が該当? • 適切な専門化が極少数 • 製品の長期的なサイクルを考慮 • 標準化の前に仕様上の十分な探索がされていない • 広く普及させることで困難な問題点を解決! Web & Genome
Z39.50の適用方法 • サーバ(Target) • ゲートウェイ • クライアント(Origin) Web & Genome
Z39.50 サーバ DB サーバ(Target) • 抽象化DBを実装 • 特殊な開発作業 • ツールキットのカスタマイズ • サーバモジュールの準備 • DBコンフィグレーション • 実際のDBを抽象化DBとしてどのように表現するか? Z39.50サーバ Web & Genome
ゲートウェイ • IFに二つの顔を持つ • Z39.50サーバに対して、Z39.50クライアントとして通信する顔 • 一般的なクライアントと通信する顔 • クライアントプロトコルにはHTML, Telnet, Z39.50… Web & Genome
Webゲートウェイ HTTP サーバ ビジネス ロジック Z39.50 クライアント Z39.50サーバ Webブラウザ Web & Genome
横断的ゲートウェイ Z39.50サーバ Z39.50 サーバ ビジネス ロジック Z39.50 クライアント Z39.50クライアント Z39.50サーバ Z39.50 クライアント Z39.50 クライアント Z39.50サーバ Web & Genome
高度なゲートウェイ • 複数のZ39.50サーバと接続する • 並列検索 • 連続検索 • 検索結果のマージ • 両方のIFに様々なプロトコルに対応する • SQL, LDAP, HTML, DNS… Web & Genome
高度なゲートウェイ Z39.50サーバ Z39.50クライアント Z39.50 サーバ ビジネス ロジック Z39.50 クライアント Webブラウザ SQLサーバ HTTP サーバ SQL クライアント 専用 プロトコル サーバ LDAP クライアント 専用システム LDAPサーバ Web & Genome
アプリ 機能 Z39.50 クライアント クライアント(Origin) • グラフィカルなユーザIFのプロトコル処理部 • ユーザから複雑さは隠されている • 拡張コンフィグレーションの必要性 • 同時に複数のサーバに接続する場合あり Z39.50クライアント Web & Genome
市場動向 • 統合システム • 図書館システム • 海外の主要なシステムは全てZ39.50機能をもつ • 専用クライアントあるいはWebゲートウェイ • 小規模システムにもZ39.50を採用するものあり • 多くのシステムはVersion 2 を採用する • INNOPAC等の米国製システムに多い Web & Genome
市場動向 • スタンドアロン製品 • ツールキットレベル製品 • システムインテグレーション・コンサルタント • Crossnet (UK) • Fretwell-Downing (UK) • Indexdata (Denmark) • Sunstone (Sweden) • Blueangel Technologies (US) • Finsiel (Italy) Web & Genome
主な機能 メーカ/ サービスベンダー Web G/W Telnet G/W Server Proxy 日本語 検索エンジン 外部連携 採用機関/特徴 NACSIS-ELS/ NII国立情報学研究所 ○ (NII内) ○ (NII内) ○ 大学系図書館(多数) INNOPAC/ Innovative Interface Inc. 日本IBM ○ ○ ○ 早稲田大学 東京工業大学、図書館情報大学、神戸大学 LibCruiserPro/ NTT東日本 ○ ○ ○ ○ OpenText ○ (丸善経由) ○ (丸善内) RLG Zephyer Server Gateway-CAT/ 丸善 ○ 大学系図書館(多数) JOIS with STN/ JST科学技術振興事業団 ○ (JST内) ○ (JST内) CAS Server InfoLib-Global Finder/ 日商岩井インフォコム ○ ○ ○ ○ ○ OpenText 大学系図書館(多数) SiteSearch/ OCLC, 紀伊国屋 ○ ○ ERL/ Silver Platter, 紀伊国屋 ○ ○ Ovid/ Ovid Technologies Inc, ユサコ ○ ○ ○ LibVision V3(LVZ)/ 日本IBM、紀伊国屋、 新日鉄ソリューション大分 CharsetandLanguageNego(3) UTF8/ISO2022-JP対応 NACSIS-CAT,MARC21対応 ○ ○ ○ 市場動向(国内) Web & Genome
Z39.50はどのように機能するか? • 機能とサービス • 機能は一つ以上のサービスから構成される Web & Genome
初期化機能 • 初期化サービス • Z-アソシエーションの確立 クライアント 初期化要求 Version、ID/パスワード、オプション、メッセージサイズ、実装情報 サーバ 初期化応答 結果、Version、オプション、メッセージサイズ、実装情報 Web & Genome
初期化機能 • 使用可能なサービスとオプションを交渉する • クライアントは“初期化要求”内のリストで様々なサービスを要求する • サーバは自身の機能・能力と比較調整し、可能なサービスならびにオプションを初期化応答でクライアントに返す Web & Genome
検索機能 • 検索サービス クライアント 検索要求 検索式タイプ、検索式、DB,結果集合名 サーバ 検索応答 ヒット件数、返戻レコード件数、ステータス情報、(レコード) Web & Genome
返戻機能 • 返戻サービス クライアント サーバ 返戻要求 レコード件数、開始順位、結果集合名 返戻応答 レコード件数、ステータス、(レコード) Web & Genome
返戻機能 • セグメントサービス • レコードを“セグメント”することで、初期化時に設定したメッセージサイズよりも大きいレコードを転送することができる • 二つのレベル • Level 1: 一つのセグメントに複数のレコードを格納 • Level 2: 一つのレコードを細分化して各セグメントに格納 Web & Genome
検索結果集合削除機能 • 削除サービス クライアント サーバ 削除要求 結果集合リスト 削除応答 ステータス Web & Genome
アクセス制御機能 • アクセス制御サービス クライアント サーバ 要求(一般) アクセス制御要求 セキュリティ申請 アクセス制御応答 セキュリティ申請応答 応答(一般) Web & Genome
課金・リソース制御機能 • リソース制御サービス • トリガリソース制御サービス • リソース報告サービス • リソースの使用を制御、報告する複雑な機能 • 主に課金情報を作成するために使用される Web & Genome
ソート機能 • ソートサービス ソート要求 ソート対象の結果集合、 ソート済結果集合、 ソート方式 クライアント サーバ ソート応答 ステータス Web & Genome
走査機能 • 走査サービス クライアント サーバ 走査要求 DB、単語リスト、開始位置、 単語数、(ステップサイズ) 走査応答 ステータス、単語数、(単語) Web & Genome
拡張サービス機能 • 拡張サービス • 永続的検索結果集合 • 永続的検索式 • 定期的検索実行 • 蔵書注文 • DB更新 • 仕様導出、発動 • タスクパッケージ • 拡張サービス要求を作成、修正、削除するために使用 Web & Genome
説明機能 • 説明サービス • サーバ情報のアクセス手段を提供する • DB • アクセスポイント • 検索言語 • 要素集合 • ... Web & Genome
終了処理 • 完了サービス • Z-アソシエーションを終了する Web & Genome
属性集合 • 使用可能な、ドメイン固有の抽象化されたアクセスポイント • BIB-1 • STAS Web & Genome
転送プロトコル • TCP/IP (通常) • TCP予約ポート番号210 • ISO OSI • 現在、殆ど使用されていない Web & Genome
BER • 基本符号化規則 • Basic Encoding Rules • 転送データの符号化方式 • 可読形式のコードではない • コンピュータのみ解釈可能 • 型 • 長さ • 値 Web & Genome
ASN.1 • 抽象構文記法1 • Abstract Syntax Notation 1 • データ型を定義する記述言語 • 実装方式とは独立した表現形式 Permissions ::= SEQUENCE OF SEQUENCE{ userId [1] IMPLICIT InternationalString, allowableFunctions [2] IMPLICIT SEQUENCE OF INTEGER{ delete (1), modifyContents (2), modifyPermissions (3), present (4), invoke (5)}} Web & Genome
APDU • Application Protocol Data Unit • 要求と応答を含むデータパッケージ InitializeRequest ::= SEQUENCE{ referenceId ReferenceId OPTIONAL, protocolVersion ProtocolVersion, options Options, preferredMessageSize [5] IMPLICIT INTEGER, exceptionalRecordSize [6] IMPLICIT INTEGER, idAuthentication [7] ANY OPTIONAL, -- see note below implementationId [110] IMPLICIT InternationalString OPTIONAL, implementationName [111] IMPLICIT InternationalString OPTIONAL, implementationVersion [112] IMPLICIT InternationalString OPTIONAL, userInformationField [11] EXTERNAL OPTIONAL, otherInfo OtherInformation OPTIONAL} --Note: -- For idAuthentication, the type ANY is retained -- for compatibility with earlier versions. -- For interoperability, the following is recommended: -- IdAuthentication [7] CHOICE{ -- open VisibleString, -- idPass SEQUENCE { -- groupId [0] IMPLICIT InternationalString OPTIONAL, -- userId [1] IMPLICIT InternationalString OPTIONAL, -- password [2] IMPLICIT InternationalString OPTIONAL }, -- anonymous NULL, -- other EXTERNAL -- May use access control formats for 'other'. See Appendix 7 ACC. Web & Genome