Roadrunner RF: Extensible REST

Why RESTful Service?

;
While the primary concern for Roadrunner RF is compliance with traffic standards, such as the National Transportation Communications for ITS Projects (NTCIP) and thereby its parent organizations– AASHTO, ITE, and NEMA–other standards are driving the “Internet of Things,” which this class of device belongs to.

The precursor ‘technology’ for communication with industrial devices was SNMP, or Simple Network Management Protocols. The program would “walk the tree” to collect data. This required accessing the device through a specific port, sending complex octet strings and retrieving the same.

1. SIMPLE

Roadrunner instead uses what are termed RESTful services. More information on what REST is all about is contained in the expandable section below.

What this all boils down to is simplicity.  To access data from the sensor, no special, custom, obtuse software programs are required, just a commonplace browser or telnet connection to the world wide web port 80. Data are returned in either XML or JSON format, which modern web browsers using javascript can convert to Objects.  The data become(s) available in a dot-syntax format:

var myLatestSpeed = myRoadrunnerSensor.latestSpeedl;
console.log(myLatestSpeed);
will return, for example, “45”.

2. EASY

Rest services are easy to implement. No special toolkits are required to access the data. They are easy to integrate, too, as data is quickly and seamlessly available for use. No “dialing in” to the device to retrieve data. No parsing of strings, as the data are evaluated into dot-syntax objects. No complex insert or delete statements and database drivers required.

3. FLEXIBLE

REST works with any system. No DCOM, no drivers, It is agnostic as to which ATMS system it informs. In fact, since most ATMS systems use C# all that is required is a data adapter and a dataset to convert the data into a fully formed, NTCIP compliant set of data tables.

4. NTCIP & TMDD

The following demonstrates the NTCIP and TMDD data structures: