Libraries and Dependencies

QWFIX .Net SDK contains reusable libraries and executable application utilities. All libraries and executables are pure .Net assemblies.

Libraries are carefully designed to ensure minimum dependencies. As you can see from the QWFIX assembly dependency diagram, QWFIX system is highly self-contained, that's why it also works on Linux platform with latest Mono installed.*

Core Libraries

Core libraries are listed on the upper half of the diagram. Those libraries depend only on the core library of .Net platform plus System.Security library. Core libraries along can be used to build complete trading system with FIX connectivity and order management capabilities to interoperate with other FIX compliant systems.

GUI Libraries

The GUI libraries are listed on the upper half of the diagram. QWFIX uses Essential Studio from Syncfusion in part of its graphical user interface. GUI libraries can be reused by third parties in their own client side front end systems. Another dependency is an open source library DockPanel studio by Wenfen Luo, which is used for docking support.

Dependency Decoupling and Isolation

There is no cyclic dependency among packages. Core libraries are completely isolated from the GUI libraries, so that the core libraries can be completely compatible with Linux platform with latest Mono installed.*

Figure 1.1: QWFIX Assembly Dependency Diagram

QWFIX_Assembly_Dependencies.gif 

Note: The diagram displays all explicit dependencies. For example, Teraspaces.QWFIX.VisualLambda.dll depends on both Teraspaces.VisualLambda.dll and Teraspaces.QWFIX.Core.dll. But there's no explicit dependency between Teraspaces.QWFIX.VisualLambda.dll and Teraspaces.QWFramework.dll, even though both Teraspaces.VisualLambda.dll and Teraspaces.QWFIX.Core.dll explicitly depends on Teraspaces.QWFramework.dll.

Note: Linux Mono support requires a separate specially built libraries, which is only provided upon customer request.