URC-HTTP Target 1.0 (DRAFT)

Draft Technical Report 2014-10-22

This version: http://openurc.org/TR/urchttp-target1.0-20141022
Latest version: http://openurc.org/TR/urchttp-target1.0
Previous draft version: http://openurc.org/TR/urchttp-target1.0-20140304 (mark changes)
Latest approved version: (none)
Editors: Parikshit Thakur, Prashant Goswami, Gottfried Zimmermann
List of current openURC Technical Reports: http://openurc.org/TR/

Copyright 2014, openURC Alliance

Abstract

This OpenURC Draft Technical Report specifies the "URC-HTTP Target" architecture. This approach is a profiling of the Universal Remote Console (URC) technology (as specified by ISO/IEC 24752) in the context of enabling a Target to be URC-HTTP compatible.

This document provides a specification for the development of Targets which are URC compliant.

The reader of this document will benefit greatly if already familiar with the URC standards (ISO/IEC 24752, parts 1, 2, 4, and 5).

Status of this Document

This is a public Draft Technical Report in last call review, developed by the editors, hereby made available for review by openURC members and the public. Based on its procedures, the openURC Technical Committee has opened a last call 4-week review period and asks for comments by Nov. 21, 2014. Comments on this document should be sent to urchttp-target-comments@openurc.org, and will be considered for the further development of this document.

Publication as a Draft Technical Report does not imply endorsement by the openURC membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

Change Log [to be removed before final release]

NOTE: The change log is in reverse chronological order.

2014-10-22 Gottfried Zimmermann:

2014-09-02 Parikshit Thakur:

2014-03-04 Gottfried Zimmermann:

2013-11-14 Parikshit Thakur:

2013-09-03 Parikshit Thakur:

Open Issues [to be removed before final release]

None.

Issues pending for implementation [to be removed before final release]

None.

Deferred open issues [to be removed before final release]

None.

Closed Issues [to be removed before final release]

None.


Table of Contents


1. Scope

This URC-HTTP Target Profiling Report specifies conformance of a URC technology compliant target. It is a profiling of the Universal Remote Console framework, as specified in ISO/IEC 24752 for Targets.

In this report, a URC-HTTP Target conformance is specified and a URC-HTTP Target enabling kit API is specified for ease of providing URC support for any targets (including legacy targets).

2. Conventions in this Document

In this document the words SHALL, SHOULD and MAY have meanings as defined in [RFC 2119].

3. Conformance

An IT application is a URC-HTTP Target according to this URC framework if it provides:

NOTE: The URC-HTTP Target Enabling Kit conforms to these specifications. So, if an IT application implements the URC-HTTP Target Enabling Kit API as specified in this specification, it is a URC-HTTP Target.

NOTE: By conforming to this URC-HTTP Target specification, an IT application also conforms to ISO/IEC 24752-1 (as a "target"), and to ISO/IEC 24752-4.

4. References

4.1. Normative References

The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

[ISO/IEC 24752-1]
ISO/IEC 24752-1 (approved DIS version - final version expected in 2014). Information Technology User Interfaces Universal Remote Console. Part 1: Framework. ISO, 2013.
[ISO/IEC 24752-2]
ISO/IEC 24752-2 (currently FDIS version - final version expected in 2014). Information Technology User Interfaces Universal Remote Console. Part 2: User Interface Socket Description. ISO, 2013.
[ISO/IEC 24752-4]
ISO/IEC 24752-4 (currently FDIS version - final version expected in 2014). Information Technology User Interfaces Universal Remote Console. Part 4: Target Description. ISO, 2013.
[ISO/IEC 24752-5]
ISO/IEC 24752-5 (currently FDIS version - final version expected in 2014). Information Technology User Interfaces Universal Remote Console. Part 5: Resource Description. ISO, 2013.
[Java Servlet API]
Servlet API Documentation (version 2.5 or later). Apache Software Foundation. http://java.sun.com/products/servlet/2.5/docs/servlet-2_5-mr2/index.html
[RES-PROP-VOCAB]
URC Consortium: Resource Property Vocabulary. Latest version available at: http://openurc.org/TR/res-prop-vocab/.
[RFC 2119]
RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. S. Bradner, March 1997. Available at: http://www.ietf.org/rfc/rfc2119.txt.
[RFC 2616]
RFC 2616: Hypertext Transfer Protocol HTTP/1.1. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, 1999. Available at: http://www.ietf.org/rfc/rfc2616.txt.
[RFC 2617]
RFC 2617: HTTP Authentication: Basic and Digest Access Authentication. June 1999. Available at: http://www.ietf.org/rfc/rfc2617.txt.
[RFC 2965]
RFC 2965: HTTP State Management Mechanism. October 2000. Available at: http://www.ietf.org/rfc/rfc2965.txt.
[RFC 3986]
IETF RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, January 2005, http://www.ietf.org/rfc/rfc3986.txt.
[URC-HTTP]
URC-HTTP Protocol 2.0. Approved Technical Report 2013-12-17. Available at: http://www.openurc.org/TR/urc-http-protocol2.0-20131217/.
[UCH]
UCH Specification 1.0. Approved Technical Report 2013-12-17. Available at: http://www.openurc.org/TR/uch1.0-20131217/.

5. Runtime Model for URC Target and Controller

Components of the Universal Control Hub

Figure 1: Diagram showing URC Target and Controller on how they communicate with each other (description of figure). Note that Controller can communicate with multiple URC Targets. For simplicity, only one instance is shown in the figure.

The URC Target is a Target which complies with the URC HTTP Target Protocol and certain features from the UCH Specification as described in the Conformance Section. A URC Target Kit (UTK) maybe used to enable a legacy target to be URC complaint.

6. URC-HTTP Target Kit (UTK) - URC enabling Kit for Targets

The UTK can be prepared to make any Target URC enabled. The UTK itself implements ITAListener interface as specified in the [UCH] spec, and on the other hand the Target code implements the ITA interface as specified in the [UCH] spec. Below is the Control flow for communication between UTK and URC-HTTP Target.

6.1. Control Flows

Control Flows of UTK

Figure 2: Diagram showing URC Target and Controller on how they communicate with each other (description of figure).

7. Acknowledgments

Work on this document has been funded in part by the National Institute on Disability and Rehabilitation Research, US Dept of Education under Grant H133E030012 as part of the Universal Interface and Information Technology Access Rehabilitation Engineering Research Center of the University of Wisconsin -Trace Center. The content of this document does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.

Work on this document has been funded in part by the EU 6th Framework Program under grant FP6-033502 (project i2home). The content of this document does not necessarily reflect the views or policies of the European Commission, nor does mention of trade names, commercial products, or organizations imply endorsement by the European Commission.

The following persons have contributed to the content of this document:

8. Appendix: Platform-Specific APIs (normative)

This appendix contains references to platform-specific specifications of the abstract API definitions in this document. A UTK or UTK component shall implement the required APIs exactly as specified in this appendix for the corresponding platform.

8.1. Java Interfaces

The following interfaces are defined in the package org.openurc.uch in [UCH]. UTK Java implementations shall use them unmodified.

A zip file with all Java interface specifications is available in the appendix of [UCH].