Background Information

Architecture

Fuse is not built using a traditional layered Web architecture. Rather, it is built using a new architecture that supports better control over data for owners. 

This architecture uses persistent compute objects, or picos, as it's fundamental building block and supports an unhosted or personal cloud application architecture (PCAA). As with anything different, there are opportunities and challenges. 

The following articles provide some background on picos and PCAAs. 

Events and Queries

Fuse uses an event-query API rather than a strictly RESTful API. The documentation will present events like so:

<event domain>:<event type>

where the event domain and type are separated by a colon. Most event also use event attributes which will be presented as name-value pairs. 

Events are raised to Fuse by encoding them in HTTP. The Sky Event API describes how this encoding is done. The JavaScript SDK includes a function, CloudOS.raiseEvent(), and support structure for encoding the event with its attributes and performing an HTTP POST.

Queries will be presented like so:

<query domain>:<query name>(<param0>, <param1>,...,<paramn>)

Queries are raised to Fuse by encoding them as HTTP. The Sky Cloud API describes how this encoding is done. The JavaScript SDK includes a function, CloudOS.skyCloud(), that encodes a query with its parameters and performs an HTTP GET. 

This table provides the query domains for the primary service modules that make up the overall Fuse system. There is a development and a production domain. 

Production

Domain

Development

Domain

Ruleset
Name 
Description
b16x9v1_fuse_vehiclefuse_vehicle.krlServices for the overall vehicle Pico
b16x10v1_fuse_keysfuse_keys.krlKeys for various APIs (protected)
b16x11v1_fuse_carvoyantfuse_carvoyant_mashery.krlServices for interacting with Carvoyant API
b16x13v1_fuse_errorfuse_error.krlServices for handling error events
b16x16v1_fuse_ownerfuse_init.krlServices for the owner pico
b16x17v1_fuse_fleetfuse_fleet.krlServices for managing the fleet
b16x18v1_fuse_tripsfuse_trips.krlSeries for Trips API
b16x19v1_fuse_commonfuse_common.krlCommon functions; used by most Fuse rulesets
b16x20v1_fuse_fuelfuse_fuel.krlServices for the Fuel API
b16x21v1_fuse_maintenancefuse_maintenance.krlServices for the Maintenance API
b16x22v1_fuse_bootstrapfuse_bootstrap.krlService for bootstrapping a new Fuse account
b16x23v1_fuse_fleet_oauthfuse_fleet_oauth.krlServices for managing OAuth between the fleet pico and Carvoyant