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ページ]
一覧
スポンサーリンク