Live Transit API/Technology and Standards

The RIDE ON API design uses technology components appropriate to support functional, performance and security requirements and applies standards and best practices of modern Web design. As detailed below, the system features a RESTful API, descriptive data compliant with Dublin Core Elemental Set (DCES), transit data structured according to General Transit Feed Specification (GTFS), data storage and replication using the CouchDB NOSQL database,Ruby on Rails as Web system development framework and Amazon EC2 Cloud services for effective, scalable and economical hosting services.

RESTful Application Programming Interface
Representation State Transfer (REST) is an architecture based around communicating information about resources using the HTTP protocol. REST uses HTTP methods to create, access, update and query Web resources.

Advantages of the RESTful API include Web services that require comparatively little documentation and operate using a uniform set of rules - easing development for any consumer of that web service. Simplicity of a RESTful API also makes it faster to develop, more interoperable, and more performant than other approaches, such as SOAP or XML-RPC.

RDF/Dublin Core Metadata
The Dublin Core set of metadata elements is a Web standard that provides a compact, structured set of text descriptors through which most resources can be described and catalogued. . DCES includes properties such as: Title, Creator, Subject, Description and Format, that help data consumers understand and evaluate the appropriate use of data content. Implementations of Dublin Core typically make use of XML and are Resource Description Framework based.

Advantages of using the Dublin Core metadata vocabulary include its status as a commonly used Web standard and concise nature, making it easy to produce both machine- and human-readable descriptions of Transit resources.

General Transit Feed Specification (GTFS)
The General Transit Feed Specification (GTFS) defines a common format for public transportation schedules and associated geographic information.

The GTFS format is a recognized and widely adopted standard, increasing interoperability and the ease of using existing open source software where needed. Additionally, data from Montgomery County Transit is already available in GTFS format.

CouchDB
Apache CouchDB, commonly referred to as CouchDB, is an open source document-oriented database written in the Erlang programming language. It borrows from NoSQL and is designed for local replication and to scale horizontally across a wide range of devices.

CouchDB allows HTTP-based push-only replication; data may be replicated out of the DMZ without establishing an incoming connection from the EC2 cluster to any computer in the DMZ.

Ruby On Rails
Ruby on Rails is a development framework for the Ruby programming language. Rails is designed specifically for the creation of web applications.

Rails allows publication of a RESTful web service of much higher tested quality with much less time and effort than other frameworks such as J2EE or .NET MVC.

Amazon EC2
Amazon Elastic Compute Cloud (EC2) is a central part of Amazon.com's cloud computing platform, Amazon Web Services (AWS). EC2 allows users to rent virtual computers on which to run their own computer applications. EC2 allows scalable deployment of applications by providing a Web service through which a user can boot an Amazon Machine Image to create a virtual machine, which Amazon calls an "instance", containing any software desired. A user can create, launch, and terminate server instances as needed, paying by the hour for active servers, hence the term "elastic". EC2 provides users with control over the geographical location of instances that allows for latency optimization and high levels of redundancy.

Hosting the application and reporting database in an EC2 environment provides redundancy and reduced maintenance cost.