Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

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

 

 

 

  • No labels