📄 rfc2016.txt
字号:
RFC 2016 Uniform Resource Agents October 1996 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. 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.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. 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.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.Daigle, et. al. Experimental [Page 8]RFC 2016 Uniform Resource Agents October 1996 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. 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.Daigle, et. al. Experimental [Page 9]RFC 2016 Uniform Resource Agents October 1996References[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>[JAVA] "The Java Language: A White Paper" Available from <http://java.sun.com/1.0alpha2/doc/overview/java/index.html>[RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities", STD 13, RFC 1034, November 1987.[RFC1035] Mockapetris, P., "Domain Names - Implementation and Specification", STD 13, RFC 1035, November 1987.[RFC1738] T. Berners-Lee, L. Masinter, M. McCahill, "Uniform Resource Locators (URL)", RFC 1738, December 1994.[SILK] Bunyip's Silk project homepage: <http://www.bunyip.com/products/silk/>[SILKURA] Silk URA information: <http://www.bunyip.com/products/silk/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.[TCL] Ousterhout, J. K. "Tcl and the Tk Toolkit", Addison Wesley, 1994.[TELE] White, J. E., "Telescript Technology: The Foundation for the Electronic Marketplace", General Magic White Paper, General Magic Inc., 1994.Daigle, et. al. Experimental [Page 10]RFC 2016 Uniform Resource Agents October 1996Authors' Addresses Leslie Daigle Peter Deutsch Bill Heelan Chris Alpaugh Mary Maclachlan Bunyip Information Systems, Inc. 310 St. Catherine St. West Suite 300 Montreal, Quebec, CANADA H2X 2A1 Phone: (514) 875-8611 EMail: ura-bunyip@bunyip.comDaigle, et. al. Experimental [Page 11]RFC 2016 Uniform Resource Agents October 1996Appendix 1 -- Virtual URA Structure 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. N.B.: []-delimited items are optional %% denotes a comment \0 represents the empty string | is "or" {} are literal characters 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>}<virtual-ura-structure> := { URAHDR <ura-header> } { ACTDATA <activation-data> } { TARG <targets> } { EXPINFO <experience information> } { ACTSPEC <activity> } { RESPFILT <response filter> }<ura-header> := { name <ura-name> } { author <ura-author> } { version <ura-version> } [ { lang <lang-dependencies> } ] [ { parent <parent-of-instance> } ]<activation-data> := <act-data-element><activation-data> | \0<act-data-element> := { { name <data-elt-name> } { response <data-elt-value> } { prompt <data-elt-prompt> } [ { required <boolean> } ] [ { default <data-default-val> } ] }<targets> := <target-service><targets> | \0Daigle, et. al. Experimental [Page 12]RFC 2016 Uniform Resource Agents October 1996<target-service> := { { name <targ-url> } { protocol <url-protocol> } { url <url-spec> } [ { <url-type-specific-data> } ] }<url-spec> := <complete-url> | <url-constructor><complete-url> := %% a complete, valid URL string (e.g., http://www.bunyip.com/)<url-constructor> := { { scheme <url-scheme-spec> } { host <url-host-spec> } [ { port <url-port-spec> } ] { selector <url-selector-spec> } }<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> } }<experience information> := { { name <data-elt-name> } { response <data-elt-value> } }<activity> := <compound-string>Daigle, et. al. Experimental [Page 13]RFC 2016 Uniform Resource Agents October 1996<response filter> := <compound-string>%% Without requiring more detail...<compound-string> := <string>\n<compound-string> | \0<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>Appendix 2 -- Sample Virtual URA Representation 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.{ {URAHDR {name {DejaNews Search}} {author {Leslie Daigle}} {version {1.0}} } {ACTDATA {name {Topic Keywords}}Daigle, et. al. Experimental [Page 14]RFC 2016 Uniform Resource Agents October 1996
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -