1. Home
  2. trellispark Architecture
  3. Overview of how trellispark Implements Data Agnostic Services (DAS)
  1. Home
  2. Data
  3. Overview of how trellispark Implements Data Agnostic Services (DAS)

Overview of how trellispark Implements Data Agnostic Services (DAS)

Data Agnostic Services (DAS) is an architectural approach for building sophisticated software solutions to business problems.

trellispark uses a Data at Rest Record Storage Service (DAS-RSS) to create and maintain all record data. This means that trellispark is able to securely and scalably persist any number of records, of any type.

The trellispark DAS-RSS is a hybrid Relational/Document database built over MS SQL Server that stores all record data as XML fragments in an Instances table. This makes it easy to modify, or extend, your application data model as there are no relational tables that need to be maintained.

trellispark uses a CQRS approach to ensure that records can be stored and retrieved with minimal performance overhead.

trellispark uses the DAS-RSS to maintain a set of Form Definitions that are used to configure the user experience of the solution. The trellispark UX Creator enables non-technical staff to create and maintain Form Definitions. This promotes the creation of fusion teams, improves the accuracy of requirements and reduces time-to-value

trellispark implements a C#/Blazor dynamic page builder component for Data Presentation (DAS-DP). This enables trellispark to render any required user experience at runtime without the need for creating custom pages.

Using Blazor as a basis for the DAS-DP dynamic page builder means that trellispark can be deployed in both WASM Clients for websites, and MAUI Hybrid native applications for desktops, phones or tablets.

When an application user requests access to a record:

  • A request is passed from the Blazor client to a server-based API which retrieves the record data, combines it with the appropriate Form Definition, and the roles of the user, to create a User Experience (UX) Definition.
  • The UX Definition is passed back from the server API to the Blazor client for rendering.

This approach ensures that:

  • Access to the underlying DAS-RSS is protected and secure.
  • Logic that determines which fields can be displayed/edited is close to the DAS-RSS to ensure optimal performance of UX Definition creation.
  • The UX Definition only contains information that can be safely returned to and rendered on the client.
  • Ensures that the DAS-DP component is only moving data between the screen and the DAS-RSS.

All trellispark workflow is implemented by the Data in Action (DAS-DA) components.

The only requirement for a DAS-DA component is that it can connect to the DAS-RSS. All of the record data that the workflow will operate on is already in the DAS-RSS and any DAS-DA component has direct access to the latest version of any record.

A DAS-DA component can be triggered in a number of ways including:

  • An interaction with the user experience, (when a control is clicked…).
  • A trigger from within the DAS-RSS, (when a record is updated…)
  • From a background, or scheduled, service
  • Arrival of events, or messages, from external systems

The implementation of a DAS-DA component is also flexible and could be anything that can be invoked including:

  • A TSQL Stored Procedure in a DAS-RSS database
  • A custom API
  • A cloud serverless function or logic app

This approach enables trellispark to deploy highly granular and loosely coupled workflow components that perform a single task. This allows for the creation of highly optimized microservice deployments where you can version and deploy single functions.

All movement of data in/out of trellispark is controlled using the Data in Motion (DAS-DM) components.

All data transport should be using secure encrypted channels.

trellispark implements an ever-increasing range of:

  • Communication services for common messaging, notification, and service bus platforms.
  • File storage solutions for the primary cloud providers including Azure, AWS and GCP.

trellispark implements a buffering system so that Inbound bulk data can be cached and verified before being committed to the DAS-RSS. This is useful both for population of the DAS-RSS during initial data migration, and ongoing updates from external systems.

Finally, trellispark can be deployed on any infrastructure so you can deploy solutions on-premises, or in own private clouds.

Updated on November 28, 2022

Was this article helpful?

Related Articles

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact Support

Leave a Comment