fautoreJSON
The fautoreJSON component (otherwise known as "Guido") is the API engine. It is the "bouncer at the door" of Fautore communications.
Table of contents
Overview
Any application pushing data to Fautore must first register with Fautore in a separate one time registration process that calls the fauAppreg function.
Constraints
- Host definable request interval applies (flood prevention)
- Multiple message sends within interval from same host prohibited
- Multiple message sends within interval treated as suspicious
- Any application being registered must be installed to the Fautore Operational Domain (FOD).
- Transmitting application must include the AppId provided at registration.
Relevant Tribe Configuration Parameters
- Request Interval
- The amount of time permissable between application registration requests from the same host.
- Request Lock
- Number of registration tries allowed before remote host is locked out.
- Tribe Domain
- the FQDN of the server running the Fautore software.
Key Operations
The Guido component is essentially a source and data verification function that ensures required data is present, that the data is coming from a known source and that it is not coming from that source at too fast a rate.
Additional functionality of storing data is handled by additional functions called from the Fautore Internal libraries (fiLib).
Key fiLib Calls
While not the only function calls made by this component, the below listed calls are considered critical path to completing Guido's overall objective of being the guardian at the door to interacting with Fautore.
Function | Lib | Description |
---|---|---|
pullAppData | ilibDB | Pull application data from the Fautore database. |
mvJsonToMsg | ilibUtil | Transmogrifies a flat textual JSON structure into a multidimensional data structure. |
Workflows
The process of accepting data sent from an application.
Standard persistent encrypted connection needs to be established prior to data transfer. Encryption is necessary to protect the transferred data from sniffing and the application key from being observed for future spoofing. The persistence of the connection avoids the performance hit of reestablishing a connection every time.
- Parse JSON into into internal data structure (mvJsonToMsg)
- Retrieve Application data (what if no data comes back?)
- Test for valid data source