Background Information

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 Query 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

b16x9

v1_fuse_vehicle

fuse_vehicle.krl

Services for the overall vehicle Pico

b16x10

v1_fuse_keys

fuse_keys.krl

Keys for various APIs (protected)

b16x11

v1_fuse_carvoyant

fuse_carvoyant_mashery.krl

Services for interacting with Carvoyant API

b16x13

v1_fuse_error

fuse_error.krl

Services for handling error events

b16x16

v1_fuse_owner

fuse_init.krl

Services for the owner pico

b16x17

v1_fuse_fleet

fuse_fleet.krl

Services for managing the fleet

b16x18

v1_fuse_trips

fuse_trips.krl

Series for Trips API

b16x19

v1_fuse_common

fuse_common.krl

Common functions; used by most Fuse rulesets

b16x20

v1_fuse_fuel

fuse_fuel.krl

Services for the Fuel API

b16x21

v1_fuse_maintenance

fuse_maintenance.krl

Services for the Maintenance API

b16x22

v1_fuse_bootstrap

fuse_bootstrap.krl

Service for bootstrapping a new Fuse account

b16x23

v1_fuse_fleet_oauth

fuse_fleet_oauth.krl

Services for managing OAuth between the fleet pico and Carvoyant