"Every once in a while, a new technology, an old problem, and a big idea turn into an innovation."
The Application layer allows user interaction with the underlying Entity Fabric. Through the use of re-usable, self generating, convention based components, dynamic and responsive desktop, mobile or web-based application are easily achieved with a shared authentication provider for both user and machine interactions.
The API provides full controlled interaction with all elements of the Application layer. Full technical details of the API are available in our documentation portal.
The structure is descibed as a strongly typed first-class citizen of the Entity Fabric. Relationships between entities are fully defined within the structural layer allowing for multi-level entity traversal from any related entity.
The strongly typed nature of this component allows external systems to query the entity metadata including navigation paths for relationships and entities and associated properties.
The logic layer is an integral component within the Entity Fabric. It provides capability for custom entity validation (with transaction continuation or rejection), manilpulation of related entities and iterative execution of logic for those entities. The logic layer will automatically log all transactions.
Logic may be injected into the execution pipeline at all stages allowing for pre-transaction and post-transaction components. Logic may also be extended to communicate with external services via Webhooks.
Permissions are defined on an action type basis as retrictive expressions. These are applied at the lowest level ensuring security compliance regardless of the request instigator, source, filter and selection criterea.
With permissions being data driven, any alteration results in full transaction logging via the standard Logic layer process.
Timer triggers are schedule and recurrence based. The ability for singleton or multi instance provides flexibility.
Subscription triggers execute against subscribers. Subscribers operate against transformed data sets providing capability for subscription replay and efficient concurrent large set execution.
Queues may be used as the triggering mechanism, with the optional ability to utilise the message content as a source element.
Webhooks allows triggering from an external web-based source, with the ability to optionally utilise the payload as a source element.
Tables entries may be used as a triggering mechanism. These are often coupled as the source element combined with a range of transformation options such as filter, grouping, aggregation etc.
Azure Storage Blob containers can be used as Source elements for processing. Examples include PDF generation, Image optimisation and text extraction.
Azure Table Storage entries may be used as Source elements. They are often coupled with a range of transformation options such as filters, grouping, aggregation etc.
Azure Storage Queue message content may be used as a Source element.
An RDBMS such as Microsoft SQL can be used as a Source element.
A Webhook Source element allows the Action to consume externally provided, web-based payloads.
Incoming SMS can be used as a Source element allowing, for example, Workflow approvals via SMS.
Incoming e-mail can be used as a Source element allowing inclusion of e-mail response data for example.
The Azure Management APIs can be used as a Source element. Common uses include such things as Health monitoring or logging of Resource Metrics
Source data can have individual text components including words, parts and associated instance count extracted and routed to the same, or alternate destination.
Suitable source elements can be rendered as PDF documents.
Images can have a range of optimisations applied including Thumbnail generation, Orientation manipulation, OCR extraction and Image content identification.
Video sources can be output with a range of alternate sizes/ encodings. Additionally, keyframe thumbnail extraction can be achieved.
Full support for filtering with grouped filter object containing field and nested field selection, operands and methods (Contains, Starts With, Between....)
Standard aggregation options are available including Sum, Average, Minimum, Maximum, Count.
Provided paging capability allows for paged data retrieval with configurable page size. This also allows for retrieval of the Top n records.
Dynamic grouping capability is available and amongst other things is frequently used with Aggregation to generate drill-down reporting data sets.
Coalesce functionality allows for simple retrieval of the first non-empty field value.
Casting is provided as base functionality allowing for automated numeric, Boolean (truthy) and date extraction from any data type.
A Projection transformation allows the manipulation of the output field definition. Standard methods include Include, Exclude and Static.
The combine transformation allows for concatenation of multi-field values with an optional separator or custom format string.
Available Azure Storage Destination include Tables, Blobs and Queues. For example, the content of an incoming queue message can be transformed and persisted to a table, incoming table data sets can be aggregated to a different table (or the same table with an altered partition/row key)
Data can be sent to a standard or streaming PowerBI data set. Allowing for easy end user analytics.
Cognitive Services including Vision (OCR, image optimisation, video analysis, image content identification), LUIS (text analytics, spell checking, translation, linguistic analysis) and Knowledge can be specified as a Destination.
An RDBMS such as MS SQL can be used as a destination element. Support is provided for both on-premises and cloud based databases.
A Webhook destination element allows the Action to deliver a range of payloads with full support for custom header, verbs and authentication. Support is provided for binary content delivery (for example to submit an image/blob to an external system)
Support for SMS alerts or notifications is provided through the use of an SMS Destination element. An example includes notification of a vehicle crossing a specified geographical boundary.
E-mail destinations allow for automated delivery of data to an e-mail recipient or group of recipients with support for embedding attachments.
The Azure Management API can be used as a destination element allowing for scaling, service events (start/stop), resource creation etc. For example, an Incoming Resource metric shortfall could result in a Resource scaling event.