Technologies

Frends is built on Azure Cloud and .NET platform.

If you are interested in learning on what Frends is built on, you've come to the right place. Whether it be for technology maturity analysis or preparing for security audit, here you can get an overview of what technologies Frends uses under the hood.

.NET Platform

At the core of Frends runtime environment and functionality is Microsoft's .NET platform and C# programming language. All the backend functionality and program code written for Frends is in C#, and all the Processes, Subprocesses and APIs created with Frends are converted and compiled to C# code for execution on the Agents.

Especially when creating Processes it will be useful to know the basics of C# programming, to understand what is happening behind the BPMN flow chart. Variables, scoping and data typing all come from C#. While it is not mandatory to be an expert in C# or programming to understand the details of Processes, thanks to C# being such a generic C-like language, creating more advanced logic within Process in a Code Task will benefit hugely from C# and .NET knowledge.

Newtonsoft JSON

Sometimes called the de facto JSON library for C#, Frends is also heavily built upon the library. Essentially all of the data traversing through Frends Processes will be contained in a Newtonsoft JSON object, be it JObject, JArray or generic JToken.

Understanding and learning to use this library will be very beneficial for Process developers due to this deep integration with the library, but it shouldn't be a preliminary requirement to become an integration developer with Frends. It's easy to learn and simple to use, and when working with APIs and other interfaces nowadays, JSON data is very close if not the most common notation for data to use, making the Newtonsoft JSON objects almost more intuitive to use than the builtin data types.

.NET Versions

Frends targets primarily the latest .NET platform, version 8. The latest versions require .NET Runtime 8.0.15 or later to be installed on the machine alongside the Frends Agent for it to function.

Frends also provides legacy support for .NET Framework 4.7.1 for Windows environments, as well as support for .NET Standard 2.0 compatible cross-platform frameworks. Some older versions also supported .NET 6.0, but this was replaced and upgraded to the current 8.0 in Frends 5.7 and later.

While the older Tasks still exist and can be used in Frends for legacy support, new features and updates to Tasks are only provided for the latest .NET platform.

Azure Cloud

Frends cloud services are hosted on Microsoft Azure Cloud platform. Azure is used for hosting the Frends Control Panel, orchestrating Agents, and providing cloud-native scalability for the PaaS Agents.

While on the lower pricing tiers the resources within Azure are shared in a multi-tenant cloud, by purchasing the higher tiers you will receive an option to have private resources, meaning more capacity just for your Tenant, and less interruptions and effects from other Tenants during peak load times. It's also possible to purchase more resources for your Tenant in order to scale the performance vertically, to support larger data amounts and heavier computations for single Process executions.

With higher pricing tiers you can also choose the geographic location for your share of the cloud.

If you choose to create a deployment with self-hosted Agents, Azure Cloud will still be used to host the Frends UI and orchestrate the Agents in your Frends Tenant. For your data this means that Processes execute and handle data mainly within your hosting environment on the Agents, but some logging options and for example remote Subprocess executions in Processes can transfer some of your data to the Frends cloud.

Azure Service Bus

Frends uses Azure Service Bus as a secure and reliable message bus to connect its Agents with the Frends Control Panel. This approach allows Agents to communicate using only outbound connections, which simplifies firewall configuration and enhances security as there is no need to open inbound ports. All communication is encrypted and authenticated, ensuring data protection.

Using Azure Service Bus also brings operational benefits. It enables reliable message delivery, even if an Agent is temporarily offline, and supports scalable deployments with multiple Agents and High Availability configuration. This is specifically important for hybrid and cloud delpoyment models, allowing your on-premise environment to stay secure even when the UI is hosted outside in Frends cloud.

Azure AI Services

Frends integrates with Microsoft Azure AI services to deliver its intelligent automation capabilities. The primary integration point is the Frends Intelligent AI Connector, which utilizes the Azure AI Inference API to access advanced large language models like GPT-4o and GPT-5 for sophisticated reasoning and chat completion tasks. Azure AI powers both the Intelligent AI Connector for embedding AI capabilities directly into integrations, as well as the suite of AI assistants that enhance the development experience. These assistants include the AI Task Configurator for suggesting Task parameters based on natural language descriptions, the AI Code Generator for creating C# code snippets tailored to Frends Processes, and the Documentation Generator for automatically creating comprehensive Process documentation with a single click.

This approach allows developers to easily incorporate advanced AI functionalities such as text analysis, data extraction, translation, and intelligent search directly into their integration Processes. For organizations with strict data sovereignty needs, Frends also supports using on-premises AI model deployments through Ollama for the AI Connector, offering a flexible and secure solution for any environment.

BPMN 2.0

Frends Process Editor utilises a subset of Business Process Modeling & Notation (BPMN 2.0) notation to create the Processes in Process Editor. The user interface and visual building elements of the Processes are part of BPMN 2.0, while the functionality and C# code are added to the elements by Frends, to create the Processes you can run on the Agents.

As an added feature, the BPMN part of your Frends Processes can be exported as BPMN XML, allowing you to document your Processes in other systems that support BPMN notation. This will not include the functionality, meaning the C# content, of the Process though.

While it is also possible to import BPMN XML from other systems to create Frends Processes, due to Frends supporting only a subset of BPMN elements, it's likely that the import will not produce the expected results. And again, because the C# code and functionality within the BPMN are unique to Frends, the imported BPMN flow chart will not include any functionality and will have to be created from scratch.

While the BPMN import and export only handle the BPMN part and not whole Frends Processes with their code and functionality, Frends does provide separate means of exporting and importing specifically Frends Processes, that can be transferred from one Frends Tentant to another.

Containers

Frends utilises Docker to create containers for Agent deployments. The containers can then be used within Kubernetes cluster for orchestrating the Agent containers as well as for horizontal scaling.

For the scaling to work properly, High Availability configuration is required to be set up for the Agent Group the containerized Agents will participate in.

Last updated

Was this helpful?