URC-HTTP Target 1.0

Approved Technical Report (ATR) 2015-02-05

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

Copyright 2015, openURC Alliance


This OpenURC 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). For a quick introduction, see Overview of the Universal Remote Console framework and URC Technical Primer.

Status of this Document

This is an Approved Technical Report, provided to the public by the openURC Alliance. It was developed by the Technical Committee, in compliance with the TC procedures.

This document has been reviewed by the openURC Alliance members and by the public, and is endorsed by the openURC Board of Directors as an Approved Technical Report. It is a stable document and may be used as reference material or cited from other documents.

Comments on this document can be sent to the public comments list urchttp-target-comments@openurc.org. The archives for the comments list are publicly available. Comments received on this document cannot result in changes to this version (except for editorial fixes), but may be addressed in future versions of this document. The Technical Committee does not plan to make formal responses to comments.

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:2014. Information Technology User Interfaces Universal Remote Console. Part 1: Framework. Second edition. ISO, 2014.
[ISO/IEC 24752-4]
ISO/IEC 24752-4:2014. Information Technology User Interfaces Universal Remote Console. Part 4: Target Description. Second edition. ISO, 2014.
[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.
URC-HTTP Protocol 2.0. Approved Technical Report 2013-12-17. Available at: http://www.openurc.org/TR/urc-http-protocol2.0-20131217/.
UCH Specification 1.0. Approved Technical Report 2013-12-17. Available at: http://www.openurc.org/TR/uch1.0-20131217/.

4.2. Informative References

The following references are useful 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.

[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
[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.

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.

Besides the editors, the following persons have also 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 conforming 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].