Community Blog

Community Blog

Accelerating Open Source Collaboration: A Journey with FDC3 and Scott Logic's Contributions

June 23, 2023

In today's digital landscape, collaboration and innovation go hand in hand. The power of open source projects lies in the collective efforts of multiple companies working towards a common goal. 

Scott Logic has had the privilege of participating in the open source FDC3 (Financial Desktop Connectivity and Collaboration Consortium) project. Our team of consultants worked alongside prominent organizations like FINOS, Tick42, Finsemble, OpenFin, Connectifi, and products such as FDC3 Sail.  

In this post, I would like to share the technology behind our team’s work in writing unit tests for FDC3 versions 1.2 and 2.0.

2023-06-23 FDC3 Scott Logic Post-2

The Importance of Conformance Testing in FDC3

Unit testing plays a critical role in any software development project, and FDC3 is no exception. With the FDC3 standard evolving and expanding, it becomes paramount to have a robust testing framework in place to ensure compatibility, interoperability, and maintain overall code quality. By writing comprehensive unit tests, we aimed to identify and address potential issues early in the development cycle, improving the reliability of FDC3 and enabling smoother integration across various container applications.

Leveraging Mocha and TypeScript with Webpack

We chose Mocha, a popular JavaScript test framework, and TypeScript, a strongly-typed superset of JavaScript, as our primary tools. Mocha provided us with a simple and elegant syntax for defining tests, while TypeScript added static typing and enhanced tooling capabilities, resulting in more reliable and maintainable test code.

To streamline our development workflow and bundle our tests, we utilized Webpack. This module bundler allowed us to manage dependencies, transpile TypeScript code to JavaScript, and bundle the test files efficiently. With Webpack, we could seamlessly incorporate our unit tests into the FDC3 container applications' build processes, ensuring that testing became an integral part of the development cycle.

Version 1.2 and Version 2.0 Testing

Our team was heavily involved in writing unit tests for both FDC3 versions 1.2 and 2.0. As the FDC3 standard continued to evolve, we adapted our testing strategies to accommodate the changes and enhancements brought forth by each version.

For FDC3 version 1.2, we focused on validating the core functionalities defined by the standard. Our unit tests encompassed scenarios such as inter-app communication, context sharing, and intent handling. By covering these essential aspects, we contributed to the stability and compatibility of FDC3 version 1.2 across various desktop container applications.

With the release of FDC3 version 2.0, we expanded our testing efforts to include new features and refinements introduced in the latest iteration. Our unit tests now encompassed additional functionalities such as context channels, intent resolution, and dynamic app discovery. By thoroughly testing these new capabilities, we aimed to ensure that FDC3 version 2.0 achieved a higher level of maturity and readiness for real-world deployments.

In Summary

It has been an honor to collaborate with leading organizations in the financial technology industry and contribute to the growth and advancement of the FDC3 standard.

Our team’s goal was to foster a robust ecosystem where financial applications can seamlessly interact and collaborate, improving efficiency and user experience. Our commitment to open source collaboration continues to drive us forward, and we look forward to further contributions and advancements in the FDC3 project and beyond.

 

Author: Gagan Singh of Scott Logic

 

Interested in this FINOS open source project, or any of our other projects? Click the link below to see how to get involved in the FINOS Community.

Get Involved