Linux/Docker/Kubernetes Agent Execution Support
Enable installing the Agent as a Docker/Kubernetes container image based on a Linux server. This means that you will be able to set up a container farm and install an agent there using a preconfigured yaml composer file and downloading the official FRENDS Agent container image. Benefits of using this newer Agent architecture would include: - Much better performance -> atleast a 100-fold increase in throughput - Faster process updates - Upgrade to .NET Core 3.0, meaning you can use newer libraries in process development - Much better memory management - Easy Agent updates using container technologies - Easy scaling of the Agents using container technologies - Much easier maintenance of the Agents - Native support for AWS, Azure and Google Cloud in the form of Container as a Service functionality
Agent Distributed Database - ETCD
Replaced existing SQL Server used for the Agents internal storage and options with ETCD (https://etcd.io/). This means that the Agents will be communicating directly with eachother using ETCD for lightning fast synchronous distributed data storage. This will enable: - Much better preformance in load balancing situations - More robust high availability due to better master-slave algorithm - Enables distributed database to be used within process across multiple Agents for persistance required processes and to share information between process executions such as temporary tokens or correlation ID:s - Enables much more dynamic processes with the ability to store the process context data for future executions
OpenAPI Specification 3.0 Support
Added support for OpenAPI Specification version 3.0 (https://swagger.io/specification/).
Subprocess Executions Moved to Azure Service Bus Relay
Migrated from the regular Azure Service Bus to Azure Service Bus Relay for executing remote sub-processes across multiple Agent enviornments. This will enable: - Much better remote subprocess performance, up to 10x as fast - Remove the limit of moving large messages across sub-process execution calls - Maintain the robustness of the solution with still only requiring outgoing connections from the Agent
Enable Skip Logging of Process Trigger Parameters
Implement an option to skip the logging of process trigger parameters to avoid logging sensitive information from the process trigger. These could include for example JWT -tokens, REST query parameters or any other type of data deemed sensitive and enable the skipping of logging for those.
Allow Changing Delimiter in FRENDS Process Development
Only Send Necessary Enviornment Variable data to Agents
Allow setting run one instance at a time option for conditional trigger
Allow appending to the change description of a process version
FRENDS UX/UI Overhaul
A complete overhaul of the FRENDS User Interface and User Experience. - Modernizing visual styling to match that of https://frends.com, inspiration is loosely based on Google's Material Design - Reducing and streamlining the amount of information displayed at once for the user and increasing the amount of whitespace - Adding more whitespace and highlighting important information better - Focus on creating a much better user experience for newer users with guided functionality - Transitioning rest of the UI to React from Angular - Optimizing performance heavy portions of the UI for smoother user experience - Increasing the number of streaming information a.k.a. pushing updates to the user interface without the need to refresh pages - Adding more meaningful microexpressions and interactions with the user to indicate on-going operations
Adding Azure Search for "Spotlight" -type master search
Adding a master search functionality to FRENDS, where all data in the platform can be searched using free text search. This search would then display results with links to found resources and data to the user. The data to be searched would include: - Process metadata, such as names, descriptions, versions, editors, edit dates, deployments etc. - Process execution data such as processed data from monitoring and logging functionality, promoted monitoring data and everything that flows through the processes - Process configuration data such as SQL queries or code snippets themselves or server addresses/names
A feature to display information flows and process automations in an enterprise setting, by visualising all the systems of the customer and rendering the flows between them with monitoring and managment purposes in mind. This feature should eliminate the need to create and maintain comprehensive system and data flow charts, by generating it automatically in FRENDS. The map has interactive properties such as rate limiting for incoming messages to a system, dependency management between systems and setting monitoring rules for in/outbound messages between systems. The map is also exportable to enable easy documentation of the whole enviornment.
Community Based Sharing of Process Templates
Enable users to natively set up shareable FRENDS Process templates using Github. These shareable process templates address the lack of pre-packaged integration processes, by providing out-of-the-box working components and processes to most used integration scenarios that can only be configured to work with the customers own systems/use case. This means that users will be able to submit these shareable templates using the FRENDS Web UI and Github with an accompanying credit system (fame and glory). Any existing sharable process templates are then available for browse/search and automatic import to your own FRENDS tenant. Documentation and the source code is required to be available in Github and curated regularly to promote new process templates. This approach will enable users to access prepackaged integration content, share their creations easily, get credit for good prepackaged content and most importantly still have all of the development and modifying capabilities of FRENDS available to further refine and develop the existing template. Examples of these sort of process templates would include: - Salesforce data retrieval - EDI message transformations - A readymade integration between multiple systems - Fully automated and ready email alerting - and much more...
Native Support for Handlebars
Add native support for Handlebars based templating everywhere in FRENDS Process development enviornment (https://handlebarsjs.com/).
Embedded PowerBI/Analytics Support
Rebuild the way analytics and monitoring is handeled in FRENDS to be based on open API's that can be consumed in any analytics tool automatically. Also embedding a lightweight PowerBI monitoring report directly to FRENDS, to replace the existing dashboard. This will enable users to build and manage their own analytics and monitoring reports directly in FRENDS with much greater control over the data they are interested in.
Better C# Coder Experience
Enable users to create their own code snippets/microservices using FRENDS Web UI directly with the Monaco Editor (https://microsoft.github.io/monaco-editor/). This will provide a similar development experience to Visual Studio Code (https://code.visualstudio.com/). With the added benefit of having automated build, version control and publish functionality for your microservice/code snippet. This means you can write a piece of code or a microservice and execute/test it remotely on a remote Agent while doing the development from the cloud user interface. The same Monaco Editor functionality will replace the existing Ace Editor (https://ace.c9.io/) for the interal process development views as well.
Enable users to create their own custom FRENDS Triggers and share them similar to the FRENDS Tasks available currently. This would enable native triggering of integration processes with complicated and more obscure protocols such as pure TCP Sockets or a very specific change in a running enviornment, etc.
More Native Triggers
Implement support for more native FRENDS Triggers. These new triggers would include: - Queue Specific Triggers such as Service Bus, AMQP, JMS etc. - FRENDS Logging Data trigger to trigger a process based on the analytics and logging data of other processes such as a process failing too many times etc. - Dynamic SFTP/FTP/FTPS trigger - OPCUA trigger - HTTP2/WebSockets trigger - RSS Feed trigger
Enable Github/Bitbucket/etc. as the Source Control Platform For Processes
Enable users to set up their own Github or equivalent source control platform, to save FRENDS process versions and their source code.
Decicion Table/Mapping Table Support
Add a new feature to store decicion data according to the DMN standard (https://demo.bpmn.io/dmn/new) this can also be utilized to create and maintain mapping tables with complex rules, such as field typing etc.