RFC2016 日本語訳

2016 Uniform Resource Agents (URAs). L. Daigle, P. Deutsch, B. Heelan,C. Alpaugh, M. Maclachlan. October 1996. (Format: TXT=38355 bytes) (Status: EXPERIMENTAL)
プログラムでの自動翻訳です。
RFC一覧
英語原文

Network Working Group                                          L. Daigle
Request for Comments: 2016                                    P. Deutsch
Category: Experimental                                         B. Heelan
                                                              C. Alpaugh
                                                           M. Maclachlan
                                        Bunyip Information Systems, Inc.
                                                            October 1996

Daigleがコメントのために要求するワーキンググループL.をネットワークでつないでください: 2016年のP.ドイツ語カテゴリ: 実験的なB.のM.Maclachlan詐欺師情報システムInc.Heelan C.Alpaugh1996年10月

                     Uniform Resource Agents (URAs)

一定のリソースエージェント(URAs)

Status of this Memo

このMemoの状態

   This memo defines an Experimental Protocol for the Internet
   community.  This memo does not specify an Internet standard of any
   kind.  Discussion and suggestions for improvement are requested.
   Distribution of this memo is unlimited.

このメモはインターネットコミュニティのためにExperimentalプロトコルを定義します。 このメモはどんな種類のインターネット標準も指定しません。 議論と改善提案は要求されています。 このメモの分配は無制限です。

Abstract

要約

   This paper presents an experimental architecture for an agent system
   that provides sophisticated Internet information access and
   management.  Not a generalized architecture for active objects that
   roam the Internet, these agents are modeled as extensions of existing
   pieces of the Internet information infrastructure.  This experimental
   agent technology focuses on the necessary information structures to
   encapsulate Internet activities into objects that can be activated,
   transformed, and combined into larger structured activities.

この紙はアクセスと管理を洗練されたインターネット情報に提供するエージェントシステムのために実験アーキテクチャを提示します。 インターネットに移動するアクティブオブジェクトのためのどんな一般化されたアーキテクチャ、これらのエージェントはインターネット情報インフラストラクチャの既存の片の拡大としてモデル化されません。 この実験エージェント技術は、より大きい構造化された活動に動いて、変えられて、結合できるオブジェクトにインターネット活動をカプセル化するために必要事項構造に焦点を合わせます。

Acknowledgements

承認

   Several people have shared thoughts and viewpoints that have helped
   shape the thinking behind this work over the past few years.  We'd
   like to thank, in particular, Chris Weider, Patrik Faltstrom, Michael
   Mealling, Alan Emtage, and the participants in the IETF URI Working
   Group for many thought-provoking discussions.

数人は過去数年間にわたってこの仕事の後ろで考えを形成するのを助けた考えと観点を共有しました。 多くの考えさせられる議論についてIETF URI作業部会のクリス・ワイダー、パトリクFaltstrom、マイケルMealling、アランEmtage、および関係者に特に感謝申し上げます。

   Sima Newell provided insightful comments on the document -- thanks to
   her it is much more readable!

スーマー・ヌーエルはドキュメントの洞察に満ちたコメントを提供しました--彼女のおかげで、それははるかに読み込み可能です!

Introduction

序論

   This document outlines an experimental agent system architecture that
   was designed for the purpose of addressing high-level Internet
   activities through encapsulation of protocol-specific actions.
   Originally presented to the Uniform Resource Identifier (URI) working
   group at the IETF, this technology was seen as taking a step beyond
   resource location and resource naming.  By providing a structured
   mechanism for abstracting characteristics of desired information and

このドキュメントはハイレベルのインターネットが活動であると扱う目的のためにプロトコル特有の動作のカプセル化を通して設計された実験エージェントシステム構築について概説します。 元々、IETFのUniform Resource Identifier(URI)ワーキンググループに提示されています、この技術はリソース位置とリソース命名を超えて方法を取るのが見られました。 そして必要な情報の特性を抜き取るのに構造化されたメカニズムを提供する。

Daigle, et. al.               Experimental                      [Page 1]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[1ページ]RFCユニフォームリソースエージェント1996年10月

   distancing the necessary access incantations from the client, the
   notion of a Uniform Resource Agent (URA) was created.

クライアントから必要なアクセス呪文を遠ざけて、Uniform Resourceエージェント(URA)の概念は作成されました。

   The evolution of Internet information systems has been characterized
   by building upon successive layers of encapsulated technologies.
   Machine address numbers were devised, and then encapsulated in
   advertised machine names, which has allowed the evolution of the
   Domain Name System (DNS) [RFC1034, RFC1035].  Protocols were
   developed for accessing Internet resources of various descriptions,
   and then uniform mechanisms for specifying resource locations,
   standardized across protocol types, were developed (URLs) [RFC1738].
   Each layer of Internet information primitives has served as the
   building blocks for the next level of abstraction and sophistication
   of information access, location, discovery and management.

インターネット情報システムの発展は、連続した層のカプセル化された技術を当てにすることによって、特徴付けられました。 機械語アドレス番号は、広告を出しているマシン名(ドメインネームシステム(DNS)[RFC1034、RFC1035]の発展を許容したもの)で工夫されて、次に、カプセル化されました。 プロトコルは様々な記述に関するインターネット資料にアクセスするために開発されて、次に、プロトコルタイプの向こう側に標準化されたリソース位置を指定するための一定のメカニズムは開発されました(URL)[RFC1738]。 それぞれの層に関するインターネット情報基関数は抽象化の次のレベルと情報アクセス、位置、発見、および管理に関する洗練のためのブロックとして機能しました。

   The work described in this paper is an experimental system designed
   to take another step in encapsulation.  While TCP/IP protocols for
   routing, addressing, etc, have permitted the connection and
   accessibility of a plethora of information services on the Internet,
   these must yet be considered a diverse collection of heterogeneous
   resources.  The World Wide Web effort is the most successful to date
   in attempting to knit these resources into a cohesive whole.
   However, the activity best-supported by this structure is (human)
   browsing of these resources as documents.  The URA initiative
   explores the possibility of specifying an activity with the same kind
   of precision accorded to resource naming and identification.  By
   focusing on activities, and not actions, URAs encapsulate resource
   access mechanisms based on commonality of information content, not
   protocol similarity.

この紙で説明された仕事はもう1ステップでカプセル化を中に入れるように設計された実験用システムです。 ルーティング、アドレシングなどのためのTCP/IPプロトコルがインターネットで情報サービスの過剰の接続とアクセシビリティを可能にしている間、異種のリソースのさまざまの収集であるとこれらをまだ考えなければなりません。 粘着性がある全体にこれらのリソースを編むのを試みるのにWWW取り組みはこれまで最も成功しています。 しかしながら、活動が最もよくサポートした、この構造のそばでは、ドキュメントとしてのこれらのリソースの(人間)のブラウジングがそうです。 URAイニシアチブは同じ種類の精度がリソース命名と識別に与えられている状態で活動を指定する可能性を探ります。 動作ではなく、活動に焦点を合わせることによって、URAsは、リソースアクセスがプロトコルの類似性ではなく、情報量の共通点に基づくメカニズムであるとカプセル化します。

   An invoker -- human or otherwise -- may delegate an entire set of
   tasks to a fully-instantiated URA.  The nature of the tasks is
   completely specified by the agent, because it encapsulates knowledge
   about relevant Internet resources and the information required in
   order to access them.  In this way, URAs insulate invokers from the
   details of Internet protocols while allowing them to carry out high-
   level Internet activities (such as searching a set of web pages and
   news groups relevant to a given topic).  Also, by formally specifying
   a high-level Internet activity in an agent, the same activity can be
   repeated at a later date by the same invoker, someone else or even
   another agent. Moreover, the agent object may easily be modified to
   carry out another related task.

呼び出し元(人間である、またはそうではありません)は全体のセットのタスクを完全に例示されたURAへ代表として派遣するかもしれません。 タスクの本質はエージェントによって完全に指定されます、関連インターネット資料に関する知識をカプセル化して、情報がそれらにアクセスするのに必要であるので。 このように、彼らが高値レベルインターネット活動(1セットのウェブページと与えられた話題に関連しているニュース・グループを捜すことなどの)を行うのを許容している間、URAsはインターネットプロトコルの詳細から呼び出し元を隔離します。 また、エージェントで正式にハイレベルのインターネット活動を指定することによって、同じ呼び出し元、他の誰かまたは別のエージェントさえより後日、同じ活動を繰り返すことができます。 そのうえ、エージェントオブジェクトは、別の関連するタスクを行うように容易に変更されるかもしれません。

   More detail describing the underlying philosophy of this particular
   approach can be found in [IIAW95].

[IIAW95]でこの特定のアプローチの基本的な哲学について説明するその他の詳細は見つけることができます。

Daigle, et. al.               Experimental                      [Page 2]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[2ページ]RFCユニフォームリソースエージェント1996年10月

Examples

   As a very simple example, consider the client task of subscribing to
   a mailing list.  There are many mechanisms for providing users with
   information necessary to complete a subscription.  Currently, all
   applications which provide the ability to subscribe to mailing lists
   must contain protocol-aware code to carry out the task once the
   requisite personal data has been solicited from the user.
   Furthermore, any application program that embeds the ability to
   subscribe in its code necessarily limits the set of mailing lists to
   which a client can subscribe (i.e, to those types foreseen by the
   software's creators).  If, instead, there is an agent to which this
   task can be delegated, all applications can make use of the agent,
   and that agent becomes responsible for carrying out the necessary
   interactions to complete the subscription.  Furthermore, that agent
   may be a client to other agents which can supply particular
   information about how to subscribe to new types of mail servers, etc.
   URAs have been explored as an agent technology to address just these
   types of issues.

非常に簡単な例と、メーリングリストに加入するクライアントタスクを考えてください。 購読を終了するために必要情報をユーザに提供するための多くのメカニズムがあります。 現在、メーリングリストに加入する能力を提供するすべてのアプリケーションが必要な個人的なデータがユーザからいったん請求されるとタスクを行うプロトコル意識しているコードを含まなければなりません。 その上、コードで申し込む能力を埋め込むどんなアプリケーション・プログラムも必ずクライアントが申し込むことができるメーリングリスト(ソフトウェアのクリエイターによって見通されたそういったタイプの人へのi.e)のセットを制限します。 このタスクを代表として派遣することができるエージェントが代わりにいれば、すべてのアプリケーションがエージェントを利用できます、そして、そのエージェントは購読を終了するために必要な相互作用を行うのに責任があるようになります。 その上、そのエージェントは他のエージェントへのクライアントであるかもしれません(どう新しいタイプのメールサーバなどに加入するかの特定の情報を提供できます)。 URAsはまさしくこれらのタイプの問題を扱うエージェント技術として探検されました。

Relationship to Other Internet Agents

他のインターネットエージェントとの関係

   A number of Internet-aware agent and transportable code systems have
   become popular -- Java [JAVA], TCL [TCL] and Safe-TCL, Telescript
   [TELE], and the TACOMA system [TACOMA], to name a few of them.  To
   understand the scope of the problem that URAs tackle, it is helpful
   to understand how these systems differ from the URA approach.  Some
   of these agent systems, like Java, focus on providing mechanisms for
   creating and distributing (inter)active documents in the World Wide
   Web.  Others, like TACOMA, have more general intentions of providing
   environments for mobile, interacting processes.

多くのインターネット意識しているエージェントと輸送可能なコード体系がポピュラーになりました--それらの名義のいくつかへのJava[Java]、TCL[TCL]、Safe-TCL、テレスクリプト[TELE]、およびタコマシステム[タコマ]。 URAsがタックルするという問題の範囲を理解するために、これらのシステムがどのようにURAアプローチと異なっているかを理解しているのは役立っています。 Javaのように、これらのいくつかのエージェントシステムが、WWWで作業中の文書を作成して、配布するのに(埋葬します)メカニズムを提供するのは焦点を合わせます。 他のものには、タコマのように、プロセスを相互作用させて、環境をモバイルに提供するというより一般的な意志があります。

   While each of these systems makes its individual contribution to
   solving the transportation, communication, and security issues
   normally associated with agent systems, they yield more objects that
   exist within the Internet information space.  That is, while they may
   permit individual users to have a more sophisticated interaction with
   a particular information resource, they do not address the more
   general Internet problems of naming, identifying, locating resources,
   and locating the same or similar resources again at a later date. It
   is this set of problems that URAs specifically set out to address.

それぞれのこれらのシステムが輸送を解決することへの個人拠出、コミュニケーション、およびセキュリティを通常、エージェントシステムに関連している問題にしている間、それらはインターネット情報スペースの中に存在するより多くのオブジェクトをもたらします。 すなわち、個々のユーザには特定の情報リソースとの、より洗練された相互作用があることを許可するかもしれない間、彼らは、より後日、再び、同じであるか同様のリソースを命名して、リソースの場所を見つけて、特定して、場所を見つけるというそのより一般的なインターネット問題を訴えません。 それは訴えるURAsが、明確に始めるこのセットのその問題です。

   In order to create these URA objects that encapsulate a set of
   Internet activities, it is necessary to specify their operating
   environment and design structure.  Together, these form an
   experimental architecture for URAs, which can be evaluated in a
   preliminary way through a prototype implementation. The remainder of
   this paper describes such an experimental architecture, and outlines

1セットのインターネット活動をカプセル化するこれらのURAオブジェクトを作成するために、それらの操作環境とデザイン構造を指定するのが必要です。 これらはURAsのための実験アーキテクチャを一緒に、形成します。(プロトタイプ実装を通して予備の方法でURAsを評価できます)。 この紙の残りはそのような実験アーキテクチャ、およびアウトラインについて説明します。

Daigle, et. al.               Experimental                      [Page 3]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[3ページ]RFCユニフォームリソースエージェント1996年10月

   a prototype application built to test the concepts involved in the
   creation and execution of URAs.

プロトタイプアプリケーションは、URAsの作成と実行にかかわる概念をテストするために建てられました。

The Experimental Architecture

実験アーキテクチャ

   The main goal in designing the URA architecture was to provide a
   mechanism for separating client need descriptions from the
   specifications of mechanisms for satisfying those needs.  For
   example, from the client's perspective, the need to find MIDI music
   files is quite distinct from the particular Internet resource actions
   that might be necessary to find them at a given point in time.  This
   one need might be best met by integrating information from several
   very different sources.  Also, the client may have the same need on a
   different day, but there may be new or different resources to call on
   to satisfy it.

URAアーキテクチャを設計することにおける第一目的はそれらの需要を満たすためにメカニズムの仕様とクライアント必要性記述を切り離すのにメカニズムを提供することになっていました。 例えば、クライアントの見解と、音楽ファイルをMIDIに見つける必要性は時間内に与えられたポイントでそれらを見つけるのに必要であるかもしれない特定のインターネット資料動作と全く異なっています。 これは統合することによって満たされたベストがいくつかの非常に異なったソースからの情報であったかもしれないならそうしなければなりません。 また、クライアントには、異なった日に、同じ必要があるかもしれませんが、それを満たすよう呼びかける新しいか異なったリソースがあるかもしれません。

   A further goal was to provide very structured specifications of the
   Internet actions carried out by a particular URA.  By making the
   structure of an action explicit, it becomes possible to operate on
   portions of an agent structure without requiring an understanding of
   the complete semantics of its activity.

さらなる目標は特定のURAによって行われたインターネット動作の非常に構造化された仕様を提供することでした。 動作の構造を明白にすることによって、活動の完全な意味論の理解を必要としないでエージェント構造の一部を作動させるのは可能になります。

   At the centre of the URA architecture is the concept of a
   (persistent) specification of an activity.  For purposes that should
   become clear as the expected usage of URAs is described in more
   detail, we choose to support this concept with the following
   requirements of the architecture:

URAのセンターでは、アーキテクチャは活動の(永続的)の仕様の概念です。 URAsの予想された使用法がさらに詳細に説明されるとき明確になるべきである目的のために、私たちは、アーキテクチャの以下の要件でこの概念をサポートするのを選びます:

   - there is a formalized environment in which these specifications
     are examined and executed and otherwise manipulated.  This is
     referred to as a URAgency.

- これらの仕様が調べられて、実行されて、別の方法で操られる正式にされた環境があります。 これはURAgencyと呼ばれます。

   - the activity specifications are modular, and independent of a
     given URAgency environment.  Thus, they exist as object constructs
     that can be shared amongst URAgencies.  There is a standardized
     _virtual_ structure of these URA objects, although different
     types may exist, with different underlying implementations.

- 活動仕様は、モジュールであって、与えられたURAgency環境から独立しています。 したがって、それらはURAgenciesの中で共有できるオブジェクト構造物として存在しています。 異なったタイプは異なった基本的な実装で存在するかもしれませんが、これらのURAオブジェクトの標準化された_仮想の_構造があります。

Basic URAgency Requirements

基本のURAgency要件

   In the most abstract sense, a URAgency is a software system that
   manipulates URA objects.  In the terminology of objects, a URAgency
   identifies the types of URAs it handles, and is responsible for
   applying methods to objects of those types.  For the purposes of this
   experimental work, the only methods it is required to support are
   those to get information about a given URA, and to execute a URA.

最も抽象的な意味で、URAgencyはURAオブジェクトを操作するソフトウェア・システムです。 オブジェクトの用語では、URAgencyはそれが扱うURAsのタイプを特定して、そういったタイプの人のオブジェクトにメソッドを適用するのに責任があります。 これほど実験的の目的には、働いてください、そして、サポートするそれが必要である唯一のメソッドが与えられたURAの情報を得て、URAを実行するそれらです。

Daigle, et. al.               Experimental                      [Page 4]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[4ページ]RFCユニフォームリソースエージェント1996年10月

   The expected result of applying the "get information" method to a URA
   is a description of some or all of the URA following the standardized
   virtual structure of a URA object, outlined below.

「情報を得てください」というメソッドをURAに適用するという予想された結果は、いくつかの記述か以下に概説されたURAオブジェクトの標準化された仮想の構造に従うURAのすべてです。

   The appropriate way to "execute" a URA is to supply information for
   the individual URA data segments (in effect, to permit the creation
   of an instance of a virtual object), or to identify a URA instance.
   Again, the information is to be supplied in accordance with the
   virtual structure below.

URAを「実行する」適切な方法は、個々のURAデータ・セグメント(事実上、仮想オブジェクトのインスタンスの作成を可能にする)のための情報を提供するか、またはURAインスタンスを特定することです。 一方、情報は仮想の構造に応じて以下に供給することです。

   A URAgency claiming to handle a particular type of URA must have the
   ability to map the implementation structure of that type of URA into
   and out of the standard virtual URA structure. The URAgency must also
   know how to activate the URA, and it must satisfy any runtime
   dependencies for that type of URA.

URAの特定のタイプを扱うと主張するURAgencyは構造の中と、そして、標準の仮想のURA構造からURAのそのタイプの実施体制を写像する能力を持たなければなりません。 また、URAgencyはURAを動かす方法を知らなければなりません、そして、それはURAのそのタイプのためのどんなランタイムの依存も満たさなければなりません。

   For example, a URA type may consist of a Pascal program binary which,
   when run with particular command line arguments, yields information
   in the standard URA object structure.  Activating this type of URA
   might consist of executing the Pascal binary with an input file
   containing all the necessary data segments.  A URAgency claiming to
   handle this sort of URA type must first be able to provide an
   environment to execute the Pascal binary (for whatever platform it
   was compiled), and also be able to interact with the Pascal binary
   according to these conventions to get information about the URA, or
   execute it.

例えば、URAタイプは特定のコマンドライン議論で実行されると標準のURAオブジェクト構造で情報をもたらすパスカルプログラムバイナリーから成るかもしれません。 URAのこのタイプを動かすのは入力ファイルがすべての必要なデータ・セグメントを含んでいるパスカルバイナリーを実行するのから成るかもしれません。 この種類のURAタイプを扱うと主張するURAgencyは最初にパスカルバイナリー(それがプラットホームが何であってもコンパイルされたので)を実行するために環境を提供できて、これらのコンベンションによると、URAの情報を得るためにパスカルバイナリーと対話しなければならないか、またはまた、それを実行できなければなりません。

   As an alternative example, a URA type may consist of a script in some
   interpreted language, with the URA object structure embedded as data
   structures within the script.  A URAgency handling this type of URA
   might have to be able to parse the script to pull out the standard
   URA object structure, and provide the script language interpreter for
   the purposes of executing the URA.

代替の例として、URAタイプは何らかのインタープリタ型言語によるスクリプトから成るかもしれません、URAオブジェクト構造がデータ構造としてスクリプトの中で埋め込まれている状態で。 URAのこのタイプを扱うURAgencyは、標準のURAオブジェクト構造を引き抜いて、スクリプト言語インタプリタをURAを実行する目的に提供するためにスクリプトを分析できなければならないかもしれません。

URA Object Structure

URAオブジェクト構造

   In order to capture the necessary information for carrying out the
   type of Internet activity described in the introductory paragraphs of
   this document, six basic (virtual) components of a URA object have
   been identified.  Any implementation of a URA type is expected to be
   able to conform to this structure within the context of a URAgency.

搬出のための必要事項がこのドキュメントの紹介しているパラグラフで説明されたインターネット活動のタイプであるとキャプチャするために、URAオブジェクトの6つの基本的な(仮想の)部品が特定されました。 URAタイプのどんな実装もURAgencyの文脈の中のこの構造に従うことができると予想されます。

   The six basic components of a URA object are:

URAオブジェクトの6つの基本的な部品は以下の通りです。

URA HEADER:
        Identification of the URA object, including a URA name, type
        and abstract, creator name, and the resources required by the
        URA.

浦HEADER: URAオブジェクトの識別、URA名を含んでいて、タイプしてください。そうすれば、要約、クリエイター名、およびリソースがURAが必要です。

Daigle, et. al.               Experimental                      [Page 5]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[5ページ]RFCユニフォームリソースエージェント1996年10月

ACTIVATION DATA:
        Specification of the data elements required to carry out the
        URA activity.  For example, in the case of an Internet search
        for "people", this could include specification of fields for
        person name, organization, e-mail address.

起動データ: データ要素の仕様がURA活動を行うのが必要です。 例えば、「人々」のインターネット検索の場合では、これは人の名のための分野の仕様を含むかもしれません、組織、Eメールアドレス。

TARGETS:
        Specification of the URL/URN's to be accessed to carry out the
        activity.  Note that, until URN's are in common use, the
        ability to adjust URLs will be necessary.  A key issue for
        URAs is the ability to transport them and activate them far
        from the creator's originating site.  This may have
        implications in terms of accessibility of resource sites.  For
        example, a software search created in Canada will likely
        access a Canadian Archie server, and North American ftp sites.
        However, an invoker in Australia should not be obliged to edit
        the URA object in order to render it relevant in Australia.
        The creator, then, can use this section to specify the
        expected type of service, with variables for the parts
        that can be modified in context (e.g., the host name for an
        Archie server, or a mirror ftp site).

目標: 活動を行うためにアクセスされるべきURNのURL/ものの仕様。 URNが共用になるまでURLを調整する能力が必要になることに注意してください。 URAsに、主要な問題はクリエイターの送信側サイトから遠くに彼らを輸送して、彼らを動かす能力です。 これには、リソースサイトのアクセシビリティに関して意味があるかもしれません。 例えば、カナダで作成されたソフトウェア検索はおそらくカナダのアーチーサーバ、および北米のFTPサイトにアクセスするでしょう。 しかしながら、オーストラリアでそれを関連するようにするためにURAオブジェクトを編集するのをオーストラリアの呼び出し元を強いるべきではありません。 次に、クリエイターは予想されたタイプのサービスを指定するのにこのセクションを使用できます、状況内において変更できる部品(例えば、アーチーサーバ、または鏡のFTPサイトへのホスト名)への変数で。

EXPERIENCE INFORMATION:
        Specification of data elements that are not strictly involved
        in conversing with the targets in order to carry out the
        agent's activity.  This space can be used to store information
        from one invocation of a URA instance to the next.
        This kind of information could include date of last
        execution, or URLs of resources located on a previous
        invocation of the agent.

情報を経験してください: 厳密にエージェントの活動を行うために目標と話すのに伴われないデータ要素の仕様。 URAインスタンスの1つの実施から次まで情報を保存するのにこのスペースを使用できます。 この種類の情報が最後の実行の日付を含むことができましたか、またはリソースのURLはエージェントの前の実施で場所を見つけられました。

ACTIVITY:
        If URAs were strictly data objects, specifying required data
        and URL/URN's would suffice to capture the essence of the
        composite net interaction.  However, the variability of
        Internet resource accesses and the scope of what URAs could
        accomplish in the net environment seem to suggest the need to
        give the creator some means of organizing the instantiation of
        the component URL/URN's.  Thus, the body of the URA should
        contain a scripting mechanism that minimally allows
        conditional instantiation of individual URL/URN's.  These
        conditions could be based on which (content) data elements the
        user provided, or accessibility of one URL/URN, etc.  It also
        provides a mechanism for suggesting scheduling of URL/URN
        instantiation.

活動: URAsが厳密にそうであったなら、データは反対します、そして、指定はデータを必要としました、そして、URNのURL/ものは合成ネットの相互作用の本質を得るために十分でしょう。 しかしながら、インターネット資料アクセスの可変性とURAsがネットの環境で達成できたことに関する範囲はコンポーネントURL/URNの具体化を組織化するいくつかの手段をクリエイターに与える必要性を示すように思えます。 したがって、URAのボディーは個々のURNのURL/ものの条件付きの具体化を最少量で許容するスクリプト用のメカニズムを含むはずです。 これらの状態はユーザがどの(満足する)のデータ要素を提供したか、そして、1URL/URNのアクセシビリティなどに基づくかもしれません。 また、それはURL/URN具体化の示唆スケジューリングにメカニズムを提供します。

Daigle, et. al.               Experimental                      [Page 6]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[6ページ]RFCユニフォームリソースエージェント1996年10月

        The activity is specified by a script or program in a language
        specified by the URA type, or by the URA header information.
        All the required activation data, targets, and experience
        information are referenced by their specification names.

活動はURAタイプ、またはURAヘッダー情報によって指定された言語におけるスクリプトかプログラムで指定されます。 すべての必要な起動データ、目標、および経験情報がそれらの仕様名によって参照をつけられます。

RESPONSE FILTER:
        The main purpose of the ACTIVITY module is to specify the
        steps necessary to take the ACTIVATION DATA, contact the
        TARGETS, and collect responses from those services.  The
        purpose of the RESPONSE FILTER module is to transform those
        responses into the result of the URA invocation.  This
        transformation may be along the lines of reformatting
        some text, or it may be a more elaborate interpretation
        such as a relevance rating for a retrieved HTML page.

応答フィルタ: ACTIVITYモジュールの主な目的はACTIVATION DATAを取って、TARGETSに連絡して、それらのサービスから応答を集めるために必要なステップを指定することです。 RESPONSE FILTERモジュールの目的はそれらの応答をURA実施の結果に変えることです。 何らかのテキストを再フォーマットする系列に沿ってこの変換はあるかもしれませんか、それが検索されたHTML形式のページ関連性格付けなどの、より入念な解釈であるかもしれません。

        The response filter is specified by a script or program in a
        language specified by the URA type, or by the URA header
        information.  All the required activation data, targets, and
        experience information are referenced by their specification
        names.

応答フィルタはURAタイプ、またはURAヘッダー情報によって指定された言語におけるスクリプトかプログラムで指定されます。 すべての必要な起動データ、目標、および経験情報がそれらの仕様名によって参照をつけられます。

   See Appendix 1 for a more detailed description of the components of a
   URA.  Appendix 2 contains a sample virtual URA structure.

URAの部品の、より詳細な記述に関してAppendix1を見てください。 付録2は仮想のURAが構造化するサンプルを含んでいます。

The Architecture in Action

動作中のアーキテクチャ

   Having introduced the required capabilities of the URAgency and
   virtual structure of URA objects, it is now time to elaborate on the
   tasks and interactions that are best supported by URAs.

URAgencyの必要な能力とURAオブジェクトの仮想の構造を紹介したので、現在URAsがサポートするのが、最も良いのは、タスクと相互作用について詳しく説明する時間です。

   URAs are constructed by identifying net-based resources of interest
   (targets) to carry out a particular task.  The activation data
   component of a URA is the author's mechanism for specifying (to the
   invoker) the elements of information that are required for successful
   execution .  An invoker creates an instance of a URA object by
   providing data that is consistent with, or fills in, this template.
   Such an instance encapsulates everything that the agent "needs to
   know" in order to contact the specified target(s), make a request of
   the resource ("get", "search", etc.) and return a result to the
   invoker.  This encapsulation is a sophisticated identification of the
   task results.

URAsは、特定のタスクを行うために、興味があるネットベースのリソース(目標)を特定することによって、組み立てられます。 URAの起動データ構成要素は、うまくいっている実行に必要である情報の要素を指定する(呼び出し元に)ための作者のメカニズムです。呼び出し元は、このテンプレートで一貫したデータを提供するのによるURAオブジェクトのインスタンスを作成するか、またはいっぱいになります。 そのようなインスタンスは、指定された目標に連絡して、リソースの要求を(「得てください」、「検索」など)にして、結果を呼び出し元に返すために、エージェントが「知るには必要である」すべてをカプセル化します。 このカプセル化はタスク結果の洗練された識別です。

   For example, in the case of a mailing list subscription URA, the
   creator will identify the target URL for a resource that handles list
   subscription (e.g., an HTML form), and specify the data required by
   that resource (such as user name, user mail address, and mailing list
   identifier).  When an invoker provides that information and
   instantiates the URA, the resulting object completely encapsulates

例えば、購読URA、クリエイターがそうするメーリングリストの場合では、リスト購読(例えば、HTMLフォーム)を扱うリソースのために目標URLを特定してください、そして、そのリソース(ユーザ名や、ユーザ郵便の宛先や、メーリングリスト識別子などの)によって必要とされたデータを指定してください。 呼び出し元がその情報を提供して、URAを例示するとき、結果として起こるオブジェクトは完全にカプセルに入れられます。

Daigle, et. al.               Experimental                      [Page 7]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[7ページ]RFCユニフォームリソースエージェント1996年10月

   all that is needed in order to subscribe the user -- the subscription
   result is identified.

そのすべてがユーザを申し込むのに必要です--購読結果は特定されます。

   URAs are manipulated through the application of methods.  This, in
   turn , is governed by the URAgency with which the invoker is
   interacting.  However, because the virtual structure of URAs is
   represented consistently across URA types and URAgencies, a URAgency
   can act as one of the targets of a URA.  Since methods can be applied
   to URAs remotely, URAs can act as invokers of URAs.  This can yield a
   complex structure of task modules.

URAsはメソッドの適用で操作されます。 これは呼び出し元と相互作用しているURAgencyによって順番に治められます。 しかしながら、URAsの仮想の構造がURAタイプとURAgenciesの向こう側に一貫して表されるので、URAgencyはURAの目標の1つとして機能できます。 メソッドをURAsに離れて適用できるので、URAsはURAsの呼び出し元として機能できます。 これはタスクモジュールの複雑な構造をもたらすことができます。

   For example, a URA designed to carry out a generalized search of
   book-selling resources might make use of individual URAs tailored to
   each resource.  Thus, the top-level URA becomes the orchestrating URA
   for access to a number of disparate resources, while being insulated
   from the minute details of accessing those resources.

例えば、書籍販売リソースの一般化された検索を行うように設計されたURAは各リソースに適合した個々のURAsを利用するかもしれません。 したがって、先端平らなURAはそれらのリソースにアクセスする詳細から隔離されている間、多くの異種のリソースへのアクセスのための調整しているURAになります。

A Prototype Implementation

プロトタイプ実装

   The experimental work with URAs includes a prototype implementation
   of URA objects.  These are written in the Tcl scripting language.  A
   sample prototype Tcl URA can be found in Appendix 3.

URAsとの実験研究はURAオブジェクトのプロトタイプ実装を含んでいます。 これらはTclスクリプト言語に書かれています。 Appendix3でサンプルプロトタイプTcl URAを見つけることができます。

   The URAgency that was created to handle these URAs is part of the
   Silk Desktop Internet Resource Discovery tool. Silk provides a
   graphical user interface environment that allows the user to access
   and search for Internet information without having to know where to
   look or how to look. Silk presents a list of the available URAs to
   carry out these activities (e.g., "search for tech reports" or
   "hotlist").  For each activity, the user is prompted for the
   activation data, and Silk's URAgency executes the URA.  The Silk
   software also supports the creation and maintenance of URA object
   instances.  Users can add new URAs by creating new Tcl scripts (per
   the guidelines in the "URA Writer's Guide", available with the Silk
   software.  See [SILK]).  The Silk graphical interface hides some of
   the mechanics of the underlying URAgency.  A more directly-accessible
   version of this URAgency will become available.

これらのURAsを扱うために作成されたURAgencyはSilk Desktopインターネット資料ディスカバリーツールの一部です。 絹はユーザがどこが見るか、そして、または見える方法を知る必要はなくてインターネット情報にアクセスして、検索するグラフィカルユーザーインターフェース環境を、提供します。 絹は、これらの活動(例えば、「科学技術のレポートの検索」か「ホットリスト」)を行うために利用可能なURAsのリストを提示します。 各活動において、ユーザは起動データのためにうながされます、そして、SilkのURAgencyはURAを実行します。 また、SilkソフトウェアはURAオブジェクトインスタンスの作成とメインテナンスをサポートします。 ユーザは、新しいTclスクリプトを作成することによって、新しいURAsを加えることができます。(Silkソフトウェアで利用可能な「URA作家のガイド」のガイドライン単位で。 [絹]を見てください。). Silkグラフィカルインタフェースは基本的なURAgencyの何人かの整備士を隠します。 このURAgencyの直接よりアクセスしやすいバージョンは利用可能になるでしょう。

Conclusions

結論

   This work was originally conceived as an extension to the family of
   Uniform Resource Identifiers (URIs): Uniform Resource Locators
   (URLs), Uniform Resource Characteristics (URCs), and the proposed
   Uniform Resource Names (URNs).  The approach of formalizing the
   characteristics of an information task in a standardized object
   structure is seen as a means of identifying a class of resources, and
   contributes to the level of abstraction with which users can refer to
   Internet resources.

この仕事は元々、拡大としてUniform Resource Identifier(URI)のファミリーに発想されました: Uniform Resource Locator(URL)、Uniform Resource Characteristics(URCs)、および提案されたUniform Resource Names(URNs)。 標準化されたオブジェクト構造における、情報タスクの特性を正式にするアプローチは、リソースのクラスを特定する手段と考えられて、ユーザがインターネット資料を示すことができる抽象化のレベルに貢献します。

Daigle, et. al.               Experimental                      [Page 8]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[8ページ]RFCユニフォームリソースエージェント1996年10月

   Although still in its experimental stages, this work has already
   evoked interest and shown promise in the area of providing mechanisms
   for building more advanced tools to interact with the Internet at a
   more sophisticated level than just browsing web pages.

この仕事は、まだ実験の域に既に関心を喚起して、ただウェブページをブラウズするより洗練されたレベルでインターネットと対話するさらに建てるためのメカニズムに高度なツールを供給する領域の見込みを示しましたが。

   One of the major difficulties that has been faced in developing a
   collection of URAs is the brittleness induced by interacting with
   services that are primarily geared towards human-users.  Small
   changes in output formats that are easily discernible by the human
   eye can be entirely disruptive to a software client that must apply a
   parsing and interpretation mechanism based on placement of cues in
   the text.  This problem is certainly not unique to URAs -- any
   software acting upon results from such a service is affected.
   Perhaps there is the need for an evolution of "service entrances" to
   information servers on the Internet -- mechanisms for getting "just
   the facts" from an information server.  Of course, one way to provide
   such access is for the service provider to develop and distribute a
   URA that interacts with the service.  When the service's interface
   changes, the service provider will be moved to update the URA that
   was built to access it reliably.

URAsの収集を開発する際に面していた大きな難題の1つは主として人間のユーザに向かって連動するサービスと対話することによって引き起こされたもろさです。 テキストにおける、手がかりのプレースメントに基づく構文解析と解釈メカニズムを適用しなければならないソフトウェアクライアントにとって、人の目で容易に認識できる出力形式のばら銭は完全に破壊的である場合があります。 確かに、この問題はURAsにユニークではありません--そのようなサービスから結果に作用するどんなソフトウェアも影響を受けます。 もちろん、インターネットの情報サーバへの「引込口」には発展の必要があります--情報サーバから「まさしく事実」を得るための恐らく、メカニズム、そのようなアクセスを提供する1つの方法は、サービスプロバイダーがサービスと対話するURAを開発して、分配することです。 サービスのインタフェースが変化するとき、サービスプロバイダーは、それに確かにアクセスするために造られたURAをアップデートするので、動かされるでしょう。

   Work will continue to develop new types of URAs, as well as other
   URAgencies.  This will necessitate the creation of URAgency
   interaction standards -- the "common virtual URA object structure" is
   the first step towards defining a lingua franca among URAs of
   disparate types and intention.

仕事は、URAs、および他のURAgenciesの新しいタイプを発生し続けるでしょう。 これはURAgency相互作用規格の作成を必要とするでしょう--異種のタイプと意志のURAsの中で共通語を定義することに向かった「一般的な仮想のURAオブジェクト構造」は第一歩です。

Daigle, et. al.               Experimental                      [Page 9]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[9ページ]RFCユニフォームリソースエージェント1996年10月

References

参照

[IIAW95] Leslie L. Daigle, Peter Deutsch, "Agents for Internet
   Information Clients", CIKM'95 Intelligent Information Agents
   Workshop, December 1995.
   Available from
     <http://www.bunyip.com/products/silk/silktree/uratree/iiaw95.ps>

[IIAW95]レスリーL.Daigle、尽きてください。ドイツ語、「インターネット情報クライアントのためのエージェント」、CIKMの95年の知的なインフォーメーション・エージェントワークショップ、1995年12月。 <http://www.bunyip.com/製品/絹/silktree/uratree/iiaw95.ps>から、利用可能です。

[JAVA] "The Java Language: A White Paper" Available from
     <http://java.sun.com/1.0alpha2/doc/overview/java/index.html>

[Java]、「Java言語:」 <http://java.sun.com/1.0alpha2/doc/概要/java/index.html>から利用可能な「白書」

[RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
   STD 13, RFC 1034, November 1987.

[RFC1034]Mockapetris、P.、「ドメイン名--、概念と施設、」、STD13、RFC1034、11月1987日

[RFC1035] Mockapetris, P., "Domain Names - Implementation and
   Specification", STD 13, RFC 1035, November 1987.

[RFC1035]Mockapetris、P.、「ドメイン名--、実装と仕様、」、STD13、RFC1035、11月1987日

[RFC1738] T. Berners-Lee, L. Masinter, M. McCahill, "Uniform Resource
   Locators (URL)", RFC 1738, December 1994.

[RFC1738] T.バーナーズ・リー、L.Masinter、M.McCahill、「Uniform Resource Locator(URL)」、RFC1738、1994年12月。

[SILK] Bunyip's Silk project homepage:
     <http://www.bunyip.com/products/silk/>

[SILK]詐欺師のSilkプロジェクトホームページ: <http://www.bunyip.com/products/silk/>。

[SILKURA] Silk URA information:
     <http://www.bunyip.com/products/silk/silktree/uraintro.html>

[SILKURA]絹のURA情報: <http://www.bunyip.com/製品/絹/silktree/uraintro.html>。

[TACOMA] Johansen, D. van Renesse, R. Schneider, F. B., "An
   Introduction to the TACOMA Distributed System", Technical Report
   95-23, Department of Computer Science, University of Tromso,
   Norway, June 1995.

[タコマ] レネッセ、R.シュナイダー、F.B.、「タコマ分散システムへの序論」をヨハンセン、D.はバンに積みます、Technical Report95-23、コンピュータScienceの部、トロムセ(ノルウェー)の大学、1995年6月。

[TCL] Ousterhout, J. K. "Tcl and the Tk Toolkit", Addison Wesley,
   1994.

[TCL]Ousterhoutと、J.K.「TclとTkツールキット」、アディソン・ウエスリー、1994

[TELE] White, J. E., "Telescript Technology: The Foundation for the
   Electronic Marketplace", General Magic White Paper, General Magic
   Inc., 1994.

[テレビ]白、J.E.、「テレスクリプト技術:」 「eマーケットプレイスのための財団」、ジェネラルマジック白書、ジェネラルマジック株式会社、1994。

Daigle, et. al.               Experimental                     [Page 10]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[10ページ]RFCユニフォームリソースエージェント1996年10月

Authors' Addresses

作者のアドレス

   Leslie Daigle
   Peter Deutsch
   Bill Heelan
   Chris Alpaugh
   Mary Maclachlan

レスリーDaigleピータードイツ語ビルHeelanクリスAlpaughメアリMaclachlan

   Bunyip Information Systems, Inc.
   310 St. Catherine St. West
   Suite 300
   Montreal, Quebec, CANADA
   H2X 2A1

詐欺師情報システムInc.310西Suite300の聖モントリオール、セント・キャサリンケベック(カナダ)H2X 2A1

   Phone:  (514) 875-8611
   EMail: ura-bunyip@bunyip.com

以下に電話をしてください。 (514) 875-8611 メールしてください: ura-bunyip@bunyip.com

Daigle, et. al.               Experimental                     [Page 11]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[11ページ]RFCユニフォームリソースエージェント1996年10月

Appendix 1 -- Virtual URA Structure

付録1--仮想のURA構造

   This appendix contains a BNF-style description of the expected
   virtual structure of a URA object.  This "virtual structure" acts as
   the canonical representation of the information encapsulated in a
   given URA.  It is expected that more information may optionally be
   contained in the elements of the components --  the elements listed
   here are offered as the "minimum" or "standard" set.

この付録はURA物の予想された仮想の構造のBNF-スタイル記述を含んでいます。 情報の正準な表現が与えられたURAで要約されたので、この「仮想の構造」は行動します。 詳しい情報がコンポーネントの要素に任意に含まれるかもしれないと予想されます--「最小限」か「規格」がセットしたので、ここに記載された要素を提供します。

   N.B.:
           []-delimited items are optional
           %% denotes a comment
           %%BODY%% represents the empty string
           |  is "or"
           {} are literal characters

N.B.: []で区切られた項目は任意の%%が0円が空のストリングを表すというコメントを指示するということです。| “or"である、文字通りのキャラクタです。

   This form is used for convenience and clarity of expression --
   whitespace and ordering of individual elements are not considered
   significant.

このフォームは表現--空白の便宜と明快に使用されます、そして、個々の要素を注文するのは重要であると考えられません。

<VIRTUAL_URA> := {<virtual-ura-structure>}

<の仮想の_浦>:=<の仮想のura-構造>。

<virtual-ura-structure> := { URAHDR <ura-header> }
                           { ACTDATA <activation-data> }
                           { TARG <targets> }
                           { EXPINFO <experience information> }
                           { ACTSPEC <activity> }
                           { RESPFILT <response filter> }

<の仮想のura-構造の>の:=のURAHDRの<のuraヘッダーの>、ACTDATA<起動データ>、ターグ<が>を狙う、EXPINFO<経験情報>、ACTSPEC<活動>。RESPFILT<応答フィルタ>。

<ura-header> := { name <ura-name> }
                { author <ura-author> }
                { version <ura-version> }
                [ { lang <lang-dependencies> } ]
                [ { parent <parent-of-instance> } ]

<のuraヘッダーの>:=名前<ura名義の>が<ura-作者>を書く、バージョンの<のuraバージョンの>[langの<のlang依存の>][親<親、-、例の>、]

<activation-data> := <act-data-element><activation-data> | %%BODY%%

<起動データ>:=<条例データ要素><起動データ>。| %%BODY%%

<act-data-element> := {
                       { name <data-elt-name> }
                       { response <data-elt-value> }
                       { prompt <data-elt-prompt> }
                       [ { required <boolean> } ]
                       [ { default <data-default-val> } ]
                      }

<条例データ要素>:=名前<データeltな名義の>の応答<データ値の>をeltしている迅速な<データ-elt迅速な>[<論理演算子>を必要とします][デフォルト<データデフォルトvalな>]

<targets> := <target-service><targets> | %%BODY%%

<はサービス><目標を狙っている>:=<>を狙います。| %%BODY%%

Daigle, et. al.               Experimental                     [Page 12]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[12ページ]RFCユニフォームリソースエージェント1996年10月

<target-service> := {
                     { name <targ-url> }
                     { protocol <url-protocol> }
                     { url <url-spec> }
                     [ { <url-type-specific-data> } ]
                    }

<目標サービス>:=targ-url>と<を命名してください、プロトコル<url-プロトコル>は<のurl仕様の>をurlします[<url-タイプ特有のデータ>]。

<url-spec> :=  <complete-url> | <url-constructor>

<url-仕様の>の:=の<の完全なurlの>。| <url-建設者>。

<complete-url> := %% a complete, valid URL string
                     (e.g., http://www.bunyip.com/)

完全で、有効なURLが結ぶ<完全なurlの>:=%%(例えば、 http://www.bunyip.com/ )

<url-constructor> := {
                      { scheme <url-scheme-spec> }
                      { host <url-host-spec> }
                      [ { port <url-port-spec> } ]
                      { selector <url-selector-spec> }
                     }

<url-建設者>:=計画<url仕様>を計画しているホスト<urlホストの仕様の>[<のurlポートの仕様の>を移植する]のセレクタの<のurlセレクタの仕様の>。

<url-scheme-spec> := {
                      { name <scheme-name> }
                      { response <scheme-value> }
                      { prompt <scheme-prompt> }
                     }
<url-host-spec> := {
                      { name <host-name> }
                      { response <host-value> }
                      { prompt <host-prompt> }
                   }
<url-port-spec> := {
                      { name <port-name> }
                      { response <port-value> }
                      { prompt <port-prompt> }
                   }
<url-selector-spec> := {
                      { name <selector-name> }
                      { response <selector-value> }
                      { prompt <selector-prompt> }
                       }

<url-計画仕様>:=、<計画名を>に挙げてください、応答<計画価値の>が<の計画迅速な>をうながす、<url-ホスト仕様>:=、応答<ホスト価値の>が<のホスト名義の>と命名する、<のホスト迅速な>をうながしてください、<url-ポート仕様>:=、<ポート名を>に挙げてください、応答<ポート価値の>が<のポート迅速な>をうながす、<url-セレクタ仕様>:=<セレクタ名を>に挙げてください、応答<セレクタ価値の>は<セレクタ迅速な>をうながします。

<experience information> := {
                             { name <data-elt-name> }
                             { response <data-elt-value> }
                            }

<経験情報>:=名前<データeltな名義の>の応答<データeltな値の>。

<activity> :=  <compound-string>

<活動>:=<合成ストリング>。

Daigle, et. al.               Experimental                     [Page 13]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[13ページ]RFCユニフォームリソースエージェント1996年10月

<response filter> := <compound-string>

<応答フィルタ>:=<合成ストリング>。

%% Without requiring more detail...

その他の詳細を必要とする%%Without…

<compound-string> := <string>\n<compound-string> | %%BODY%%
<boolean> := 0 | 1
<ura-name> := <string>
<ura-author> := <string>
<ura-version> := <string>
<lang-dependencies> := <string>
<parent-of-instance> := <string>
<data-elt-name> := <string>
<data-elt-value> := <string>
<data-elt-prompt> := <string>
<data-elt-default> := <string>
<data-default-val> := <string>
<targ-url> := <string>
<url-protocol> := http-get | http-post | ...
<url-type-specific-data> := <string>
<scheme-name> := <string>
<scheme-value> := <string>
<scheme-prompt> := <string>
<host-name> := <string>
<host-value> := <string>
<host-prompt> := <string>
<port-name> := <string>
<port-value> := <string>
<port-prompt> := <string>
<url-selector-name> := <string>
<url-selector-value> := <string>
<url-selector-prompt> := <string>

<合成ストリング>:=<ストリング>\n<合成ストリング>。| 0円の<論理演算子>:=0| 1つの<ura名の>:=<ストリング><ura-作者>:=<ストリング><uraバージョン>:=<ストリング><のlang-依存>:=<は><親を結びます。-例では、>:=<は><データelt-名の>を結びます:; >:=<ストリング><targ-url>:=<ストリング><url-プロトコル>:=がhttp手に入れる<ストリング><データ-elt値の>:=<ストリング><データ-elt迅速な>の:=<ストリング><データelt-デフォルト>:=<ストリング><データデフォルト-valと等しいです。| http-ポスト| ... <url-タイプ特有のデータ>:=<は><計画名前>:=<ストリング><計画値の>:=<ストリング><計画迅速な>の:=<ストリング><:=<ストリング><ホスト名>ホスト値の>:=<ストリング><ホスト迅速な>を結びます:; <のストリング><ポート名前>:=<ストリング><ポート値の>:=<ストリング><ポート迅速な>の:=<ストリング><url-セレクタ名前>:=<ストリング><url-セレクタ値の>:=<ストリング><url-セレクタ迅速な>:=<ストリング>と等しいです。

Appendix 2  -- Sample Virtual URA
               Representation

付録2--サンプルの仮想のURA表現

   A valid virtual representation of a Silk Tcl URA is presented below.
   The actual URA from which it was drawn is given in Appendix 3.

Silk Tcl URAの有効な仮想の表現は以下に提示されます。 Appendix3でそれが引き出された実際のURAを与えます。

{
   {URAHDR
      {name {DejaNews Search}}
      {author {Leslie Daigle}}
      {version  {1.0}}
   }

{ URAHDR名前DejaNews検索作者レスリーDaigle、バージョン、1.0

   {ACTDATA
      {name        {Topic Keywords}}

ACTDATA名前話題キーワード

Daigle, et. al.               Experimental                     [Page 14]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[14ページ]RFCユニフォームリソースエージェント1996年10月

      {prompt      {Topic Keywords}}
      {response    {}}
   }

話題キーワードをうながしてください、応答

   {EXPINFO
      {name        {Comments}}
      {prompt      {Comments}}
      {response    {}}
   }

EXPINFO名前コメントがコメントをうながす、応答

   {ACTSPEC
       {proc mapResponsesToDejanews {} {
           set resp ""
           if {[uraAreResponsesSet {Topic Keywords}]} {
             lappend resp [list query [uraGetSpecResponse {
             Topic Keywords}]]
           }

ACTSPEC、proc mapResponsesToDejanews、respを設定してください、「「[uraAreResponsesSet話題キーワード]です」lappend resp[リスト質問[uraGetSpecResponse話題Keywords]]

           return $resp

リターン$resp

         }
      proc uraRun {} {
        global errorInfo

proc uraRun グローバルなerrorInfo

        foreach serv [uraListOfServices] {
          set u [uraGetServiceURL $serv]

foreach serv[uraListOfServices]、uを設定してください。[uraGetServiceURL$serv]

          switch -- $serv {
            dejanews {
              if [catch {
                set query [mapResponsesToDejanews]
                if {$query != {}} {
                    set result [uraHTTPPostSearch $u $query]
                    if {$result != ""} {
                      set list [dejanews_uraHTTPPostCanonicalize
                      $result]
                      puts $list
                    }
                  }
              }] {
                puts stderr $errorInfo
              }
            }

切り替わってください--$がservされる、dejanews[キャッチ、質問[mapResponsesToDejanews]を設定してください、$質問!=、結果[uraHTTPPostSearch$u$質問]を設定してください、$結果!=、「「セットリスト[dejanews_uraHTTPPostCanonicalize$結果]が$リストを置く、]、stderr$errorInfoが置く、」

            default {
              # can't handle other searches, yet.
            } } } }
      }

デフォルト、#、はまだ他の検索を扱うことができません。 } } } }

Daigle, et. al.               Experimental                     [Page 15]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[15ページ]RFCユニフォームリソースエージェント1996年10月

   }

}

   {RESPFILT
      {
       proc dejanews_uraHTTPPostCanonicalize {htmlRes} {

RESPFILT、proc dejanews_uraHTTPPostCanonicalize htmlRes

         set result {}
         set lines {}
         set clause {}
         set garb1 ""
         set garb2 ""

結果を設定してください、線を設定してください、セット節、garb1を設定してください、「「garb2を設定してください、「」」

         # Get the body of the result page -- throw away leading and
         # trailing URLs

# 検索結果ページのボディーを手に入れてください--URLを引きずりながら、先導と#、を捨ててください。

         regexp {([^<PRE>]*)<PRE>(.*)</PRE>.*}
                 $htmlRes garb1 garb2 mainres

([^<PRE>]*)<PRE>(. *)</PRE>*$htmlRes garb1 garb2 mainresをregexpします。

         set lines [split $mainres "\n"]

線を設定してください。「[分裂$は」 \n」をmainresします]

         foreach clause $lines {

foreach節$線

           if [regexp
           {<DT>.*(..\/..).*<A HREF="([^"]*)">([^<]*)</A>.*<B>([^<]*).*}
                $clause garb1 dt relurl desc grp] {

「[regexp、<DT>*(. . \/。)*<A HREFが等しい、」、[^、」、]、*)、「>([^<] *)</A>*<B>[^<]*)*、$節garb1 dt relurl desc grp]、」

             lappend r [list HEADLINE [format "%s    (%s, %s)"
                        [string trim $desc] \
                 [string trim  $grp] $dt]]
             lappend r [list URL [format
                        "http://www.dejanews.com/cgi-bin/%s" $relurl]]
             lappend r [list TYPE "text/plain"]

「lappend r[リストHEADLINE[」 形式」 %s(%s、%s)[きちんとした$descを結びます]\[きちんとした$grpを結ぶ]$dt]]lappend r[リストURL[形式" http://www.dejanews.com/cgi-bin/%s "$relurl]]lappend r[タイプ「テキスト/平野」というリスト]

             lappend result $r
           }
         }
         return $result
       }
      }

lappend結果$r $結果を返してください。 }

   }

}

}

}

Daigle, et. al.               Experimental                     [Page 16]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[16ページ]RFCユニフォームリソースエージェント1996年10月

Appendix 3  -- Sample Silk Tcl URA

付録3--サンプル絹のTcl URA

   The following is a valid Silk Tcl URA.  For more information on the
   implementation and structure of Silk-specific URAs, see the "URA
   Writers Guide" that accompanies the distribution of the Silk software
   (available from <http://www.bunyip.com/products/silk>).

↓これは有効なSilk Tcl URAです。 Silk特有のURAsの実現と構造の詳しい情報に関しては、Silkソフトウェアの分配に伴う「URA作家のガイド」が(<http://www.bunyip.com/製品/絹の>から利用可能)であると見てください。

# ----------------------------------------------------------------------
#
#                             URA initialization
#
# ----------------------------------------------------------------------

# ---------------------------------------------------------------------- # # URA初期化##----------------------------------------------------------------------

#
# Initialize the URA, its search specs and searchable services.
#

# # URA、検索眼鏡、および探せるサービスを初期化してください。 #

# URA init.

# URAイニット。

set uraDebug 1

uraDebug1を設定してください。

uraInit {
  {name {DejaNews Search}}
  {author {Leslie Daigle}}
  {version {1.0}}
  {description "This URA will search for UseNet News articles."}
  {help "This is help on UseNet News search script."}
}

uraInit助けてください。名前DejaNews検索作者レスリーDaigle、バージョン、1.0、「このURAはUseNet News記事の検索を望んでいる」記述、「これはUseNet News検索スクリプトを元気づけることです」。

#
# bug: handling of choices/labels is kind of gross.
#

# # 以下を悩ましてください。 選択/ラベルの取り扱いはちょっと総計です。 #

# Search spec. init.

# 仕様イニットを捜してください。

foreach item {
  {
    {name        {Topic Keywords}}
    {field       Topic}
    {tag         STRING}
    {description {Keywords to search for in news articles}}
    {prompt      {Topic Keywords}}
    {help        {Symbols to look up, separated by spaces.}}
    {type        STRING}
    {subtype     {}}
    {allowed     .*}
    {numvals     1}
    {required    0}

foreachの品目、名前話題KeywordsがTopicをさばく、STRINGにタグ付けをしてください、記述、ニュース記事を検索するキーワード、話題Keywordsをうながしてください、助け、空間によって上がって、切り離されるとして見るシンボル、STRINGをタイプしてください、「副-タイプ」. *を許容する、numvals1必要な0

Daigle, et. al.               Experimental                     [Page 17]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[17ページ]RFCユニフォームリソースエージェント1996年10月

    {response    {}}
    {respset     0}
  }
} {
  uraSearchSpecInit $item
}

応答、respset0 } uraSearchSpecInit$の品目

uraAnnotationInit {
  {help        {Enter comments to store with an instance}}
  {numvals     1}
  {subtype     {}}
  {response    {}}
  {name        Comments}
  {required    0}
  {class       ANNOTATION}
  {type        TEXT}
  {description {General comments about this URA.}}
  {respset     1}
  {prompt      Comments}
  {field       {}}
  {allowed     .*}
}

uraAnnotationInit例で格納するコメントに入るのを助けてください、numvals1、「副-タイプ」、応答、名前Commentsが0を必要とした、クラスANNOTATIONがTEXTをタイプする、記述、一般がこのURAに関してコメントする、respset1がCommentsをうながす、分野. *を許容します。

uraResultInit {
  {name {Related Pages}}
  {contents { {
    {HEADLINE {The DejaNews UseNet search service}}
    {TYPE text/plain}
    {URL http://www.dejanews.com}
} }}
}

uraResultInit関連ページを命名してください、コンテンツ、検索が調整するHEADLINE DejaNews UseNet、TYPEテキスト/平野URL http://www.dejanews.com

foreach item {
  {
    {name dejanews}
    {protocol http-post}
    {url http://marge.dejanews.com/cgi-bin/nph-dnquery}
  }
} {
  uraServicesInit $item
}

foreachの品目、プロトコルがhttpに掲示する名前dejanewsは http://marge.dejanews.com/cgi-bin/nph-dnquery をurlします。uraServicesInit$の品目

proc dejanews_uraHTTPPostCanonicalize {htmlRes} {

proc dejanews_uraHTTPPostCanonicalize htmlRes

  set result {}
  set lines {}

結果を設定してください、線を設定してください。{}

Daigle, et. al.               Experimental                     [Page 18]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[18ページ]RFCユニフォームリソースエージェント1996年10月

  set clause {}
  set garb1 ""
  set garb2 ""

セット節、garb1を設定してください、「「garb2を設定してください、「」」

  # Get the body of the result page
  # -- throw away leading and trailing URLs
  regexp {([^<PRE>]*)<PRE>(.*)</PRE>.*} $htmlRes garb1 garb2 mainres

# ([^<PRE>]*)<PRE>(. *)</PRE>*$htmlRes garb1 garb2 mainresを検索結果ページの#--先導を捨てて、引きずっているURL regexpのボディーに手に入れてください。

  set lines [split $mainres "\n"]

線を設定してください。「[分裂$は」 \n」をmainresします]

  foreach clause $lines {

foreach節$線

    uraDebugPuts stderr [format "Line: %s" $clause]

uraDebugPuts stderr[形式「線: %s」$節]

    if [regexp
    {<DT>.*(..\/..).*<A HREF="([^"]*)">([^<]*)</A>.*<B>([^<]*).*} \
         $clause garb1 dt relurl desc grp] {
      uraDebugPuts stderr [format
                           "Date: %s Rel URL: %s Desc: %s Group: %s"
                           $dt $relurl $desc $grp]

「[regexp、<DT>*(. . \/。)*<A HREFが等しい、」、[^、」、]、*)、「>([^<] *)</A>*<B>[^<]*)*、\$節garb1 dt relurl desc grp]、uraDebugPuts stderr、」[形式「日付: URL: %s Desc: %sが分類する%s Rel: %s」$dt$relurl$desc$grp]

      lappend r [list HEADLINE [format "%s    (%s, %s)"
                 [string trim $desc] \
          [string trim  $grp] $dt]]
      lappend r [list URL [format
                 "http://www.dejanews.com/cgi-bin/%s" $relurl]]
      lappend r [list TYPE "text/plain"]

「lappend r[リストHEADLINE[」 形式」 %s(%s、%s)[きちんとした$descを結びます]\[きちんとした$grpを結ぶ]$dt]]lappend r[リストURL[形式" http://www.dejanews.com/cgi-bin/%s "$relurl]]lappend r[タイプ「テキスト/平野」というリスト]

      lappend result $r
    }
  }
  return $result

lappend結果$r $結果を返してください。

}

}

# ----------------------------------------------------------------------
#
#                             Mapping procedures
#
# ----------------------------------------------------------------------

# ---------------------------------------------------------------------- # # 手順##、を写像します。----------------------------------------------------------------------

#
# There is one procedure, for each searchable service, to map the search
# spec responses to a form suitable for inclusion into a search URL (or
# whatever form the particular query procedure accepts).
#

# # 包含に適したフォームへの検索#仕様応答を検索URLに写像するために、それぞれの探せるサービスあたり1つの手順があります(#特定の質問手順がどんなフォームも受け入れても)。 #

Daigle, et. al.               Experimental                     [Page 19]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[19ページ]RFCユニフォームリソースエージェント1996年10月

#
#
proc mapResponsesToDejanews {} {
  set resp ""
  if {[uraAreResponsesSet {Topic Keywords}]} {
    lappend resp [list query [uraGetSpecResponse {Topic Keywords}]]
  }

# # proc mapResponsesToDejanews、respを設定してください、「「[uraAreResponsesSet話題キーワード]です」lappend resp[リスト質問[uraGetSpecResponse話題Keywords]]

  return $resp

リターン$resp

}

}

#
# bug: need better error reporting
# (i.e. which searches didn't work and why, etc.)
#
proc uraRun {} {
  global errorInfo

# # 以下を悩ましてください。 より良い誤りが#すなわち、どの検索が働いていませんでしたか、そして、(なぜなど)を報告して、そうしなければなりません。 # proc uraRun、グローバルなerrorInfo

  foreach serv [uraListOfServices] {
    set u [uraGetServiceURL $serv]

foreach serv[uraListOfServices]、uを設定してください。[uraGetServiceURL$serv]

    switch -- $serv {
      dejanews {
        if [catch {
          set query [mapResponsesToDejanews]
          uraDebugPuts stderr [format "%s: query is `%s'."
          $serv $query]
          if {$query != {}} {
              set result [uraHTTPPostSearch $u $query]
              if {$result != ""} {
                uraDebugPuts stderr [format "%s: result is `%s'."
                $serv $result]
                set list [dejanews_uraHTTPPostCanonicalize $result]
                uraDebugPuts stderr [format "%s: list is `%s'."
                $serv $list]
                puts $list
              }
            }
        }] {
          puts stderr $errorInfo
        }
      }

切り替わってください--$がservされる、dejanews'、「[キャッチ、質問[mapResponsesToDejanews]uraDebugPuts stderr[」 %sをフォーマットしてください: 質問は'%s'」$serv$質問である]を設定してください、$質問!=、結果[uraHTTPPostSearch$u$質問]を設定してください、$結果!=、「「uraDebugPuts stderr[」 %sをフォーマットしてください: 結果は'%s'」$serv$結果である]セットリスト[dejanews_uraHTTPPostCanonicalize$結果]uraDebugPuts stderr[」 %sをフォーマットしてください: リストは'%s'」$serv$リストである]が$リストを置く、]、stderr$errorInfoは置きます。

      default {
        # can't handle other searches, yet.
      }

デフォルト#、はまだ他の検索を扱うことができません。

Daigle, et. al.               Experimental                     [Page 20]

RFC 2016                Uniform Resource Agents             October 1996

et Daigle、アル。 実験的な2016年の[20ページ]RFCユニフォームリソースエージェント1996年10月

    }
  }
}

} } }

Daigle, et. al.               Experimental                     [Page 21]

et Daigle、アル。 実験的[21ページ]

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

環境変数(PATH)を設定する方法

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る